我是stackoverflow的新手,希望有任何帮助。这是我遇到的 XSLT 1.0 问题,我确信有一个简单的解决方案,我只是找不到它。
我有book
包含许多章节的顶部元素,每个章节都有一个标题:
<?xml version="1.0" encoding="utf-8"?>
<Book>
<Chapter>
<Title>ONE</Title>
</Chapter>
<Chapter>
<Title>TWO</Title>
</Chapter>
<Chapter>
<Title></Title>
</Chapter>
<Chapter>
<Title>FOUR</Title>
</Chapter>
</Book>
我想将上述内容转换为一个名为 CSV-Title-List 的元素。在出现空标题的情况之前,这似乎很容易。我使用以下样式表得到一个意外的逗号:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="Book">
<CSV-Title-List>
<xsl:for-each select="Chapter/Title">
<xsl:value-of select="."/>
<xsl:if test="position() < last()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:for-each>
</CSV-Title-List>
</xsl:template>
</xsl:stylesheet>
我的问题是,如何在使用上述样式表输出逗号之前干净地检查下一章/标题是否有空字符串。一定会有更好的办法?任何建议,将不胜感激。感谢任何建议。