3
<xsl:when test="person/id!=127 or 112" >

または上記の例では条件が機能していません。助けてください

4

4 に答える 4

2

構文が間違っています。andではなくである必要がありorます。これを試して:

<xsl:when test="person/id!=127 and person/id!=112" >

127 と 112 を同時に等しくすることはできないため、ID の値に関係なく、or条件が設定されます。true

于 2012-10-30T12:46:46.797 に答える
1

<xsl:when test="person/id!=127 and person/id!=112"> を試してください

于 2012-10-30T12:47:54.933 に答える
0

私は xslt 開発者ではなく、これまで使用したことがありません。ただし、テストステートメントが欠落しているようです。xsltパーサーは112で何をすべきですか? そのための条件はありません。

于 2012-10-30T12:51:38.170 に答える
0

使用:

 not(person/id= 127 or person/id = 112)

!=引数の 1 つまたは両方がノードセットまたは XPath 2.0 のシーケンスである場合、そのセマンティクスが直感的でない (そしてほとんど役に立たない)ため、 XPath operatorは常に避けるようにしてください)。

比較するリストが長い場合は、この種の式の方が便利で効率的です。

not(contains('|101|105|108|112|123|127|', concat('|', person/id, '|'))
于 2012-10-30T12:50:03.587 に答える