3

数値を使用して複数のノードを合計できることはわかっています。ノードのセットに対して「ブール和」を実行するにはどうすればよいですか?例えば:

<a>
  <b>false</b>
  <b>false</b>
  <b>true</b>
  <b>false</b>
</a>

<b>すべてのノード値のブールORを取得するにはどうすればよいですか?(これは「true」である必要があります)。

4

2 に答える 2

3

使用

boolean(/*/b[. = 'true'])

これにより、式のブール値が生成されます

 /*/b[. = 'true']

そして、上記の式が少なくとも1つのノードを選択する場合b、つまり、最上位要素の子であり、文字列値が文字列であるが存在する場合に正確に当てはまります'true


「ブール積」(を使用)も計算する場合は、次のようにします。

not(/*/b[. = 'false'])
于 2013-02-14T03:38:54.490 に答える
0

あなたは本当の値を数えることができます:

<xsl:if test="count(a/b[text()='true']) > 0">
        true
</xsl:if>

真の値がある場合、ORは真になります。

于 2013-02-13T21:39:28.300 に答える