XML 节点值的 OR 条件

问题描述 投票:0回答:2
xslt xslt-2.0
2个回答
0
投票

您还没有解释您想要检查的内容,但是那些在 XPath 通用比较运算符的语义上苦苦挣扎的人可能想要检查,例如

not(applicationData/remittingAccount/paymentMethodCode = ('ABC', 'XYZ'))
而不是你的尝试。仅当
applicationData/remittingAccount/paymentMethodCode
都不等于
ABC
XYZ
时,该检查才为真。


0
投票

测试:

test="node != 'ABC' or node != 'XYZ'"

当节点不存在时,将返回

false
only

在所有其他情况下,即使只有一个节点,测试也始终为

true
- 因为节点的字符串值不能同时为“ABC”和“XYZ”,因此至少其中一个语句将说实话。

您可能正在寻找

test="not(node = 'ABC' or node = 'XYZ')"

如果没有节点具有这些字符串值,则为真。

© www.soinside.com 2019 - 2024. All rights reserved.