xsl変換でxml出力を区切る最良の方法を知りたいです。「position()!= last()」は、入力についての仮定を行うため、常に機能するとは限りません。
このおもちゃの例は、次のことを示しています。
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="//cd">
<xsl:if test="title !='Unchain my heart'">
<xsl:value-of select="title" />
<xsl:if test="position() != last()">
<xsl:text>; </xsl:text> <!-- sometimes the delimiter will end if last element is a duplicate; -->
</xsl:if>
</xsl:if>
</xsl:for-each>
</body>
</html>
</xsl:template>
結果として
... Pavarotti Gala Concert; The dock of the bay; Picture book; Red;
末尾のセミコロンに注意してください。
何か案は?
(この例のxmlデータhttp://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog)