2012-05-08 48 views
0

任何一個可以驗證下方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> 

當我嘗試上述我得到了以下錯誤 「ERROR:(字符串(地址/國家「語法錯誤 ')=='美國')或(字符串(地址/國家)=='CA')'。' 致命錯誤: '無法編譯樣式表' 「提前 拉瑪納

+0

接受的答案是是有幫助的。 –

回答

0

感謝==不是有效的XPath。等號運算符是單個字符,=

+0

我修改==爲=,但仍然收到「錯誤:'語法錯誤'(字符串(地址/國家)=='美國')或(字符串(地址/國家)=='CA')'。致命錯誤:'無法編譯樣式表'「 – ramana

+0

您可以PLZ驗證一次語法。 – ramana

+0

嗨,我用||替換了語法到'或'現在它正在工作 – ramana

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'">