我在XML中有以下字段:
<datafield tag="004R"><subfield code="0">10900/69470</subfield></datafield>
<datafield tag="004R"><subfield code="0">10419/140630</subfield></datafield>
所以标签是相同的&#34; 004R&#34;以及subfiledcode&#34; 0&#34;,但值不同。
我尝试用我的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>
答案 0 :(得分:1)
将<xsl:value-of select="$handle004R" />
更改为<xsl:value-of select="."/>
。