2017-04-11 38 views
1

實際上,我們在加載xsl文件時出現無效的xpath表達式。 無效的XPath表達式問題從下面的XSL腳本加載xsl「無效的xpath表達式」時出錯ERROR

1. "<xsl:if test='z:row[index() $gt$ 5]'>" 
    2. "<xsl:if test="//CICOUNT[@HASARCHIVE = 'Y' or @HASUNREVIEWED = 'Y']">" 
    3. "<xsl:if test="//CICOUNT[@HASARCHIVE = 'Y' and @HASUNREVIEWED = 'N']">" 
    4. "<xsl:template match="z:row[index() $lt$ 6]">" 

以上問題,我們正在因爲我們修改這是在IE4介紹了1998年

提前感謝

舊如舊微軟WD-XSL語言越來越
+0

除了下面的@kjhughes文章,還要注意規則2和3中的'//'表示如果**任意**'CICOUNT' **文件中的任何位置都會計算爲'true' **有一個屬性'HASARCHIVE',其值爲'Y'。這個「//」符號似乎是導致混淆的常見原因。 –

+0

請參閱[** XPath **中的「//」和「/」之間的區別](http://stackoverflow.com/questions/43100052/difference-between-and-in-xpath)以清楚地解釋''''和'/',但知道'//'不會導致「無效的xpath表達式」錯誤。 – kjhughes

回答

1

有與XPath表達式的幾個問題,包括

  • z命名空間前綴可能不甲肝已被宣佈,取決於 上下文。
  • index()是未知功能;可能需要position()
  • $gt$$lt$是未知的操作符;使用&gt;&lt;
+0

不工作這個腳本** **。得到像下面這樣的錯誤「'」是一個意外的標記,預期的標記是';',第45行,第43位。 – MakDeveloper

+0

好吧,就像錯誤消息所說的那樣,它預計會在'&gt':'>'後面看到一個分號(';'),就是我所說的;你不能放棄';'。 – kjhughes

+0

是的,我們已經添加。現在它對我來說工作得很好 – MakDeveloper