<xsl:when test="person/id!=127 or 112" >
或条件在上面的示例中不起作用。请帮忙
答案 0 :(得分:2)
您的语法错误,应该是and
,而不是or
。试试这个:
<xsl:when test="person/id!=127 and person/id!=112" >
如果你在那里放or
,无论ID的值是多少,你的条件都将是true
,因为没有数字可以同时等于127和112。
答案 1 :(得分:1)
尝试 &lt; xsl:when test =“person / id!= 127 and person / id!= 112”&gt;
答案 2 :(得分:0)
使用强>:
not(person/id= 127 or person/id = 112)
尝试始终避免使用!=
XPath运算符,因为当其一个或两个参数是节点集9或XPath 2.0中的序列时,它的语义不直观(且很少有用)
当您有一个长列表进行比较时,这种表达方式可能更方便有效:
not(contains('|101|105|108|112|123|127|', concat('|', person/id, '|'))
答案 3 :(得分:0)
我不是xslt开发人员,以前从未使用过它。但是,似乎缺少测试语句。 xslt解析器应该用112做什么?没有提供条件。