条件抛出时的XSLT - 缺少必需属性'test'

时间:2018-05-17 11:15:42

标签: html xslt xslt-1.0

我正在使用XSL if AND撰写OR条件。但它低于错误

缺少必需的属性'test'。

如果条件低于

,请找到我的XSL
<xsl:if test= "( (price = 'Y') and !(discount == null || discount.equals('0')) )">
                <div style="font-size: 9px; vertical-align: top; width: 25%;">
                Discount: <xsl:value-of select="Discount" /> % = <xsl:value-of select="lineDiscount" /> EUR
                </div>
</xsl:if>

1 个答案:

答案 0 :(得分:1)

您的表达存在许多问题(在评论中写的太多)

  1. 使用or代替||
  2. 使用not()代替!进行否定
  3. 使用=代替==进行相等
  4. null不是XSLT中的概念。如果要测试元素是否不存在,可以使用not()
  5. .equals不是公认的功能(如果是,则无论如何都必须equals(distance, '0')
  6. 你可能想要的表达方式是:

    price = 'Y' and not(not(discount) or discount='0')
    

    或许这可能是假设你想测试discount并且不是“0”:

    price = 'Y' and discount != '0'