我有以下输入
<items>
<item id="1" name="aaa" old_level="5,4,3,2,1" new_level="5,4,3,2,1,0"/>
<item id="2" name="bbb" old_level="3,2,1" new_level="3,2,1"/>
<item id="3" name="ccc" old_level="4,3,2" new_level="4,3,2"/>
</items>
我需要检查new_level的最后一个char是否为零。我怎么能用xslt做到这一点?
答案 0 :(得分:6)
如果您有XSLT / XPath 2.0,您可以使用这样的XPath(或根据您的特定需求进行调整):
//item[ends-with(@new_level,'0')]
如果您只有XSLT / XPath 1.0,则可以执行以下操作:
<xsl:template match="item">
<xsl:variable name="length" select="string-length(@new_level)"/>
<xsl:if test="substring(@new_level,$length) = '0'">
<!-- do something -->
</xsl:if>
</xsl:template>
答案 1 :(得分:2)
使用XSLT 2.0很容易:<xsl:template match="item[tokenize(@new_level, ',')[last()] eq '0']">..</xsl:template>
。