我根本找不到这个。如果id为'cat'的div也有一个分配给它的类叫做'true',我如何在xslt中写一个if语句来显示'YES'这几个字?
答案 0 :(得分:1)
如果有问题的div是当前节点,并且您当前不知道它是否具有“cat”ID或类属性,那么您可以编写
<xsl:if test=".[@id='cat' and contains(@class,'true')]">
YES
</xsl:if>
如果您在div[@id='cat']
匹配的模板中,则可以使用更简单的测试test="contains(@class,'true')"
。 (反过来说。)
请注意,对于class="untrue"
的div来说,刚刚制定的测试会成功 - 如果这对您的情况来说是个问题,那么解决方案会变得有点麻烦。
在XSLT 1.0中,最简单的方法是编写如下内容:
<xsl:if test=".[@id='cat'
and
contains(concat(' ', @class, ' '),' true ')]">
YES
</xsl:if>
在XSLT 2.0中,我写了类似的东西:
<xsl:if test=".[@id='cat'
and
tokenize(@class, '\s') = 'true')]">
YES
</xsl:if>