0

任何人都可以验证以下 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')'中的语法错误。' 致命错误:'无法编译样式表'"

提前感谢拉马纳

4

2 回答 2

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

这里有两个语法错误

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

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

更正后的代码如下所示

<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'">
于 2012-05-08T12:34:28.713 回答
0

==不是有效的XPath。等号运算符是单个字符,=.

于 2012-05-08T09:16:14.410 回答