XPath表达式/位置步骤?

时间:2013-07-29 17:48:34

标签: xml xpath

我想知道XPath表达式/是否是位置步骤。

我知道/用于从根节点中进行选择,而位置步骤则具有轴,节点测试和零个或多个谓词。因此,我认为这两者是无关的,并且XPath表达式/不是位置步骤。

我的想法是否正确?

1 个答案:

答案 0 :(得分:2)

/本身不是一个步骤,而是在XPath的生产26 http://www.w3.org/TR/2007/REC-xpath20-20070123/#doc-xpath-RelativePathExpr中定义的步骤分隔符。

根据生产25,允许以/开头的表达式,并从根节点开始计算表达式。但是/它实际上不是一个步骤,只是root(self::node()) treat as document-node()的缩写,如果还有另一个步骤,可选地后跟/

请注意,///descendent-or-self::node()/的语法缩写。

在所有情况下,位置路径地址的缩写部分的扩展都在评估之前发生。