xsl:apply-templates select=".[nodeTest]" mode="somemode"
失敗,出現could not compile select expression
。。[nodeTest]表達式不起作用
我重新閱讀了規範中的「縮寫語法」一章,但仍不明白它是一個實現錯誤還是適當的行爲。
self::node[nodeTest]
當然效果很好。
是不是指定縮短的自我軸不應該與謂詞一起工作?
xsl:apply-templates select=".[nodeTest]" mode="somemode"
失敗,出現could not compile select expression
。。[nodeTest]表達式不起作用
我重新閱讀了規範中的「縮寫語法」一章,但仍不明白它是一個實現錯誤還是適當的行爲。
self::node[nodeTest]
當然效果很好。
是不是指定縮短的自我軸不應該與謂詞一起工作?
是它在某種程度上指定縮短 自軸不應與 謂語工作?
是的,這是由grammar rules of XPath確定:
[20] FilterExpr ::= PrimaryExpr
| FilterExpr Predicate
[15] PrimaryExpr ::= VariableReference
| '(' Expr ')'
| Literal
| Number
| FunctionCall
如可以從這些中可以看出,PrimaryExpr
不能.
。
該句法省略在XPath 2.0中進行了更正,其中表達式.[someCondition]
完全合法。
忽略我以前的評論。它在您編輯之前發佈。感謝你的回答。 – Flack 2010-12-10 14:32:25
+1好答案。但是,對於縮寫的目的,它可能是'(。)[$ predicate]' – 2010-12-10 14:44:36
@Alejandro,當然。 – 2010-12-10 15:33:27
好問題,+1。查看我的答案以獲得完整的解釋。 – 2010-12-10 14:28:10