XSLT语法错误

时间:2012-05-08 09:09:36

标签: xslt

任何人都可以验证以下xslt语法

<xsl:if test="(string(Address/Country)=='US') || (string(Address/Country)=='CA')">
      <val name="PHYSICAL_ADDRESS_StateProvinceCd">
       <xsl:value-of select="normalize-space(Address/State)" />
      </val>  
     </xsl:if>

当我尝试以上时我得到以下错误 “错误:''语法错误'(字符串(地址/国家)=='美国')或(字符串(地址/国家)=='CA')'。' 致命错误:'无法编译样式表' “

提前致谢 拉玛纳

2 个答案:

答案 0 :(得分:0)

==无效XPath。 equals运算符是单个字符=

答案 1 :(得分:0)

<xsl:if test="(string(Address/Country)=='US') || (string(Address/Country)=='CA')">

此处有两个语法错误

  1. XPath中没有==运算符。您可能希望使用=运算符。

  2. XPath中没有||运算符。您可能希望使用or运算符。

  3. 更正的代码将如

    <xsl:if test="(string(Address/Country) = 'US') or (string(Address/Country) ='CA')">
    

    括号不是必需的,因为or的优先级低于=

    <xsl:if test="string(Address/Country) = 'US' or string(Address/Country) ='CA'">