。[nodeTest]表达式不起作用

时间:2010-12-10 14:03:21

标签: xslt xpath

xsl:apply-templates select=".[nodeTest]" mode="somemode"could not compile select expression失败。

我已经重新阅读了规范中的“缩写语法”章节,但仍然不明白它是实现错误还是适当的行为。

self::node[nodeTest]当然效果很好。

是否以某种方式指定缩短的自我轴不适用于谓词?

1 个答案:

答案 0 :(得分:2)

  

是否以某种方式指明缩短了   自轴不应该使用   谓词?

是的,这取决于grammar rules of XPath

[20]    FilterExpr    ::=    PrimaryExpr  
                            |  FilterExpr Predicate 


[15]    PrimaryExpr    ::=    VariableReference  
                              | '(' Expr ')'  
                              | Literal  
                              | Number  
                              | FunctionCall 

从这些可以看出,PrimaryExpr不能是.

在XPath 2.0中纠正了这种语法上的遗漏,其中表达式.[someCondition]完全合法。