我想在xml中构造一个包含和和多个或表达式的语句,如
<xsl:choose>
<xsl:when test="VAR1 and VAR1/text() != 'A' | 'B' | 'C'">
<xsl:value-of select="$data"/>
</xsl:when>
<xsl:otherwise>0.0</xsl:otherwise>
</xsl:choose>
但它的工作......
答案 0 :(得分:1)
避免多重比较的一种解决方案是:
VAR1 and VAR1/text()[not(contains('A+B+C', .))]
其中+
字符串保证不包含在VAR1/text()
中(如果“+”不满足此要求,请将“+”替换为字符串)
请注意,问题中可能存在逻辑错误:
x != 'A' or x != 'B' or x != 'C'
始终为真
很可能你想要:
x != 'A' and x != 'B' and x != 'C'