0
我使用XSLT 2.0創建電子表格,並且無法正確分離序列。我試圖匹配斯洛伐克的子字段(代碼= 2的值是SNKPH)並輸出它的兄弟子字段(代碼= a)的文本值。用於序列不分離的XSLT分隔符
我的理想輸出是「照片; ferotypia」。我實際得到的是「fotografieferotypia」。我不確定我做錯了什麼。
的樣本數據:
<marc:collection>
<marc:record>
<marc:datafield tag="655" ind1=" " ind2="7">
<marc:subfield code="a">fotografie</marc:subfield>
<marc:subfield code="2">SNKPH</marc:subfield>
</marc:datafield>
<marc:datafield tag="655" ind1=" " ind2="7">
<marc:subfield code="a">ferotypia</marc:subfield>
<marc:subfield code="2">SNKPH</marc:subfield>
</marc:datafield>
<marc:datafield tag="655" ind1=" " ind2="7">
<marc:subfield code="a">Photographs</marc:subfield>
<marc:subfield code="2">SNKPHeng</marc:subfield>
</marc:datafield>
<marc:datafield tag="655" ind1=" " ind2="7">
<marc:subfield code="a">Ferrotype</marc:subfield>
<marc:subfield code="2">SNKPHeng</marc:subfield>
</marc:datafield>
</marc:record>
</marc:collection>
示例代碼
<xsl:template match="/">header
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="marc:record">
<xsl:variablename="slk_655">
<xsl:for-each select="marc:datafield[@tag='655']">
<xsl:choose>
<xsl:when test="./marc:subfield[@code='2' and text()='SNKPH']">
<xsl:value-of select="./marc:subfield[@code='a']"/>
</xsl:when>
<xsl:otherwise/>
</xsl:choose>
</xsl:for-each>
</xsl:variable>
<xsl:value-of select="$slk_655" separator="; "/>
</xsl:template>
非常感謝!它完美的作品。 – Sandy