布尔值;sum";在XSLT中
我知道我可以用数值对多个节点求和。 如何在一组节点上进行“布尔和”?例如:布尔值;sum";在XSLT中,xslt,boolean,Xslt,Boolean,我知道我可以用数值对多个节点求和。 如何在一组节点上进行“布尔和”?例如: <a> <b>false</b> <b>false</b> <b>true</b> <b>false</b> </a> 假的 假的 真的 假的 如何获取所有节点值的布尔或?(应为“真”)。您可以计算真值: <xsl:if test="count(a/b[text()='tru
<a>
<b>false</b>
<b>false</b>
<b>true</b>
<b>false</b>
</a>
假的
假的
真的
假的
如何获取所有
节点值的布尔或?(应为“真”)。您可以计算真值:
<xsl:if test="count(a/b[text()='true']) > 0">
true
</xsl:if>
真的
如果存在任何真值,或将为真。使用:
boolean(/*/b[. = 'true'])
/*/b[. = 'true']
这将生成表达式的布尔值:
boolean(/*/b[. = 'true'])
/*/b[. = 'true']
且当上述表达式选择至少一个节点时,该值恰好为真,也就是说,存在一个b
,该节点是顶层元素的子元素,其字符串值为字符串'true
如果您还想计算“布尔乘积”(使用and),请执行以下操作:
not(/*/b[. = 'false'])
如果它是基于文本的,您不需要计算:
/a/b[.='true']
太好了!我担心我会进入递归模板的丛林。非常感谢它可以放在一个表达式中,也感谢“布尔乘积”。@Justsalt,欢迎您。是的,XPath是一种很棒的语言。今天我还学习了false()的XML输出,即字符串'false',本身具有布尔值true()。