我知道我可以用数值对多个节点求和。如何对一组节点进行“布尔求和”?例如:
<a>
<b>false</b>
<b>false</b>
<b>true</b>
<b>false</b>
</a>
如何获得所有<b>
节点值的布尔OR?(这应该是'true')。
发布于 2013-02-14 11:38:54
使用的
boolean(/*/b[. = 'true'])
这将生成表达式的布尔值
/*/b[. = 'true']
当上面的表达式至少选择了一个节点时,也就是说,当有一个b
是顶部元素的子元素,并且其字符串值是字符串'true
时,则为。
如果您还想计算“布尔乘积”,请使用(使用 and),do:
not(/*/b[. = 'false'])
发布于 2013-02-14 05:39:28
你可以计算真值:
<xsl:if test="count(a/b[text()='true']) > 0">
true
</xsl:if>
如果存在任何真值,则OR将为真。
https://stackoverflow.com/questions/14863559
复制相似问题