1

DSpace の検索結果ページは次のようになります。

ここに画像の説明を入力 アイテムをクリックすると、新しいページが開き、その説明が表示されます。

ここに画像の説明を入力

[表示/開く] をクリックすると、説明ページでファイルが開きます。結果ページのタイトルをクリックして、ファイルを直接開くことはできますか? 商品説明ページを飛ばしたい。

私の理解では、これJavaはアイテムをレンダリングするために呼び出されるファイルです。このファイルを変更する必要がありますか? sitemapまたは、ファイルとファイルを変更するだけで、私が望むものを達成することは可能xslですか?

4

3 に答える 3

2

コメントで述べたように、変更する xsl テンプレートは、discovery.xsl の「itemSummaryList」です。

その href 値を次のように置き換えます$metsDoc//mets:FLocat[@LOCTYPE='URL']/@xlink:href"

            <xsl:element name="a">
                <xsl:attribute name="href">
                    <xsl:value-of select="$metsDoc//mets:FLocat[@LOCTYPE='URL']/@xlink:href"/>
                </xsl:attribute>
                <xsl:choose>
                    <xsl:when test="dri:list[@n=(concat($handle, ':dc.title')) and descendant::text()]">
                        <xsl:apply-templates select="dri:list[@n=(concat($handle, ':dc.title'))]/dri:item"/>
                    </xsl:when>
                    <xsl:otherwise>
                        <i18n:text>xmlui.dri2xhtml.METS-1.0.no-title</i18n:text>
                    </xsl:otherwise>
                </xsl:choose>
            </xsl:element>
于 2015-02-24T07:40:28.327 に答える
1

Antoine Snyers、terrywb、およびこのリンクの助けを借りて、私が望んでいたことを達成することができました。terrywb が指摘したように、私が読む必要のある情報、つまりアップロードされたファイルのビットストリーム アドレスは、metsDoc. 展開された私のスクリーンショットはmetsDoc次のとおりです。fileSec

ここに画像の説明を入力

の にアクセスできるようにするためにfileSecdiscovery.xslこの行と common.xslmetsDocのこの行をに変更しました。<xsl:text>?sections=dmdSec,fileSec&amp;fileGrpTypes=ORIGINAL,THUMBNAIL</xsl:text>

itemSummaryList次に、次のコードをinに追加/変更しdiscovery.xslて、タイトルのハイパーリンクがファイル ビットストリームを指すようにしました。

<xsl:variable name="filetype">
    <xsl:value-of select="$metsDoc/mets:METS/mets:fileSec/mets:fileGrp[@USE='CONTENT']"/>
</xsl:variable> 

<xsl:variable name="fileurl">
    <xsl:value-of select="$metsDoc/mets:METS/mets:fileSec/mets:fileGrp[@USE='CONTENT']/mets:file/mets:FLocat[@LOCTYPE='URL']/@xlink:href"/>
</xsl:variable> 


<div class="artifact-title">

            <xsl:element name="a">
                <xsl:attribute name="href">
                    <xsl:choose>
                        <xsl:when test="$metsDoc/mets:METS/mets:dmdSec/mets:mdWrap/mets:xmlData/dim:dim/@withdrawn">
                            <xsl:value-of select="$metsDoc/mets:METS/@OBJEDIT"/>
                        </xsl:when>


            <xsl:when test="$filetype">
                <xsl:value-of select="$fileurl"/>
            </xsl:when>

                    </xsl:choose>

                </xsl:attribute>

item-list.xsl同様に、ファイルにも変更を加え、この行<xsl:apply-templates select="mets:fileSec/mets:fileGrp[@USE='CONTENT']" mode="itemSummaryList-DIM"/>を template に追加しましたitemSummaryList-DIM

だから最終的に私は私の望ましい結果を得ました: ここに画像の説明を入力

インスペクターに表示されるようにhref、タイトルの属性はファイルの元のビットストリームを指すようになりました:)

于 2015-03-07T04:57:32.910 に答える