和/或单个xml语句中的条件

时间:2010-06-24 10:05:36

标签: xml xslt

我想在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>

但它的工作......

1 个答案:

答案 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'