【发布时间】:2017-05-29 11:32:44
【问题描述】:
我在 XML 中有以下字段:
<datafield tag="004R"><subfield code="0">10900/69470</subfield></datafield>
<datafield tag="004R"><subfield code="0">10419/140630</subfield></datafield>
所以标签是相同的“004R”,也是子文件代码“0”,但值不同。
我尝试用我的 XSLT 提取这两个字段,但我只得到第一个重复两次。那是我的 XSLT: 首先我定义变量
<xsl:variable name="handle004R"
select="recordData/record/datafield[@tag='004R']/subfield[@code='0']" />
然后尝试提取所有值:
<xsl:choose>
<xsl:when test="string($handle004R)">
<xsl:for-each select="$handle004R">
<identifier xmlns="http://purl.org/dc/elements/1.1/">
<xsl:value-of select="$handle004R" />
</identifier>
</xsl:for-each>
</xsl:when>
<xsl:otherwise />
</xsl:choose>
输出是:
<identifier xmlns="http://purl.org/dc/elements/1.1/">10900/69470</identifier>
<identifier xmlns="http://purl.org/dc/elements/1.1/">10900/69470</identifier>
但应该是:
<identifier xmlns="http://purl.org/dc/elements/1.1/">10900/69470</identifier>
<identifier xmlns="http://purl.org/dc/elements/1.1/">10419/140630</identifier>
【问题讨论】: