这是我的 DSpace 搜索结果页面的样子:
单击该项目会打开一个新页面,显示其描述:
描述页面在单击查看/打开时打开文件。是否可以在结果页面上单击其标题后直接打开文件?我想跳过项目描述页面。
据我了解,这是Java
被调用来渲染项目的文件。我需要对此文件进行更改吗?sitemap
或者是否可以通过简单地修改和xsl
文件来实现我想要的?
这是我的 DSpace 搜索结果页面的样子:
单击该项目会打开一个新页面,显示其描述:
描述页面在单击查看/打开时打开文件。是否可以在结果页面上单击其标题后直接打开文件?我想跳过项目描述页面。
据我了解,这是Java
被调用来渲染项目的文件。我需要对此文件进行更改吗?sitemap
或者是否可以通过简单地修改和xsl
文件来实现我想要的?
生成缩略图的代码在这里。
您可以创建类似的逻辑来创建原始比特流的 href。
查看 /metadata/handle/xxx/yyy/mets.xml 中的 XML,其中 xxx/yyy 是您的项目句柄。您应该会看到将您指向原始比特流的信息。
正如评论中所说,要修改的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>
在 Antoine Snyers、terrywb 和这个链接的帮助下,我能够实现我想要的。正如 terrywb 所指出的,我需要读取的信息,即上传文件的比特流地址,存储在metsDoc
. 这是我metsDoc
的fileSec
扩展截图:
为了能够访问fileSec
,metsDoc
我将discovery.xsl中的这一行和 common.xsl中的这一行更改为<xsl:text>?sections=dmdSec,fileSec&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"/>
到模板itemSummaryList-DIM
中。
所以最后我得到了我想要的结果:
在检查器中可见,href
标题的属性现在指向文件的原始比特流:)