在DSpace 4.2 xmlui中查看上传的项目

时间:2015-02-19 11:53:58

标签: xslt sitemap dspace apache-cocoon

这就是我的DSpace搜索结果页面的样子:

enter image description here 单击该项目时,将打开一个新页面,显示其描述:

enter image description here

描述页面会在单击“查看/打开”时打开文件。是否可以在结果页面上单击其标题时直接打开文件?我想跳过项目描述页面。

根据我的理解this是调用项目的Java文件。我是否需要对此文件进行更改?或者只需修改sitemapxsl文件就可以实现我想要的目标吗?

3 个答案:

答案 0 :(得分:3)

生成缩略图的代码在这里。

https://github.com/DSpace/DSpace/blob/dspace-6_x/dspace-xmlui/src/main/webapp/themes/dri2xhtml/General-Handler.xsl#L34-L47

您可以创建类似的逻辑来创建原始比特流的href。

查看/metadata/handle/xxx/yyy/mets.xml中的XML,其中xxx / yyy是您的项目句柄。您应该看到将指向原始比特流的信息。

答案 1 :(得分:2)

正如评论中所说,要修改的xsl模板是"itemSummaryList" in discovery.xsl

将该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>

答案 2 :(得分:1)

在Antoine Snyers,terrywb和this link的帮助下,我能够达到我的目的。正如terrywb所指出的,我需要读取的信息,即上传文件的比特流地址,存储在metsDoc中。以下是metsDoc展开的fileSec的屏幕截图:

enter image description here

能够访问fileSec我更改this line in discovery.xslthis line in common.xslmetsDoc的{​​{1}}。

然后我将以下代码添加/修改为<xsl:text>?sections=dmdSec,fileSec&amp;fileGrpTypes=ORIGINAL,THUMBNAIL</xsl:text>中的itemSummaryList,以便标题超链接现在指向文件比特流。

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"/>

所以最后我得到了我想要的结果: enter image description here

在检查器中可见,标题的itemSummaryList-DIM属性现在指向文件的原始比特流:)