我只是在我的办公室“继承”了这个存储库。我根本没有任何经验,我被要求在摘要视图中的项目标题下方显示自定义元数据。自定义元数据已经注册(称为dc.magazine.title),我设法编辑输入表单,以便可以在数据库中注册所有新元数据。
存储库正在使用XMLUI的默认海市蜃楼主题。我已经更改了文件DIM-Handler.xsl中的一些代码,试图模拟其他信息的呈现方式,但我不知道它是如何工作的,所以我的方法没有给出任何结果。这就是我试过的:
<!-- Magazine row -->
<tr class="ds-table-row {$phase}">
<td><span class="bold"><i18n:text>xmlui.dri2xhtml.METS-1.0.item-title</i18n:text>: </span></td>
<td>
<xsl:choose>
<xsl:when test="count(dim:field[@element='magazine'][@qualifier='title']) = 1">
<xsl:value-of select="dim:field[@element='magazine'][@qualifier='title'][1]/node()"/>
</xsl:when>
<xsl:otherwise>
<i18n:text>xmlui.dri2xhtml.METS-1.0.no-title</i18n:text>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
<xsl:call-template name="itemSummaryView-DIM-fields">
<xsl:with-param name="clause" select="($clause + 1)"/>
<xsl:with-param name="phase" select="$otherPhase"/>
</xsl:call-template>
但除了默认元数据之外什么也没有显示。有人可以帮我介绍一下如何显示这个新的元数据吗?有关此代码如何工作的一些线索,以便我可以进行未来的更改将非常感谢!
答案 0 :(得分:2)
如果您使用Mirage 1主题使用DSpace的默认安装,则项目元数据的显示将在[DSpace-installed-directory]/webapps/xmlui/themes/Mirage/lib/xsl/aspect/artifactbrowser/item-view.xsl
中呈现。在我的评论中,我指定[DSpace-installed-directory]
,因为我不确定您“继承的”存储库是否可以使用具有除Mirage之外的其他主题名称的自定义主题。
您说您需要在项目标题下方显示自定义元数据。尝试在<!-- Author(s) row -->
<xsl:when test="$clause = 2 and (dim:field[@element='magazine' and @qualifier='title' and descendant::text()])">
<div class="simple-item-view-other">
<span class="bold"><i18n:text>xmlui.dri2xhtml.METS-1.0.item-title</i18n:text>:</span>
<span>
<xsl:for-each select="dim:field[@element='magazine' and @qualifier='title']">
<xsl:value-of select="./node()"/>
<xsl:if test="count(following-sibling::dim:field[@element='magazine' and @qualifier='title']) != 0">
<br/>
</xsl:if>
</xsl:for-each>
</span>
</div>
<xsl:call-template name="itemSummaryView-DIM-fields">
<xsl:with-param name="clause" select="($clause + 1)"/>
<xsl:with-param name="phase" select="$otherPhase"/>
</xsl:call-template>
</xsl:when>
请注意$clause
号码。你应该更新下面的所有条款号,即作者的行应该$clause = 3
到
<!-- IMPORTANT: This test should be updated if clauses are added! -->
<xsl:if test="$clause < 8">
<xsl:call-template name="itemSummaryView-DIM-fields">
<xsl:with-param name="clause" select="($clause + 1)"/>
<xsl:with-param name="phase" select="$phase"/>
</xsl:call-template>
</xsl:if>
答案 1 :(得分:0)
@euler感谢您的回答,尽管您的帖子(尽管已有4年历史了),但我能够弄清此简单项目视图的工作原理,并使用dc.identifier.citation创建了一个条目。如下
<xsl:when test="$clause = 6 and (dim:field[@element='identifier' and @qualifier='citation'])">
<div class="simple-item-view-other">
<span class="bold"><i18n:text>xmlui.ETCRiverRun.METS-1.0.item-citation</i18n:text>:</span>
<span>
<xsl:for-each select="dim:field[@element='identifier' and @qualifier='citation']">
<xsl:copy-of select="./node()"/>
<xsl:if test="count(following-sibling::dim:field[@element='identifier' and @qualifier='citation']) != 0">
<br/>
</xsl:if>````