Pal*_*lec 5 xpath language-lawyer xpath-2.0
在Stack Overflow上研究XPath问题答案的细节时,我遇到了XPath 1.0和2.0之间的差异,我找不到理由.
我试图了解.
真正的意义.
.
是.的缩写self::node()
.这两个self
和node
一清二楚给我..
主要表达式是" 1])或原子值(如表达式(1到100)[.mod 5 eq 0]).">上下文项表达式 ".缩写语法部分明确指出作为注释.改变的理由是什么?有没有之间的差异.
和self::node()
XPath 2.0中?
从规范本身来看,改变的意图对我来说并不清楚.我尝试使用谷歌搜索关键字,如点或句点,主要表达和基本原理.
XPath 1.0 有四种数据类型:字符串、数字、布尔值和节点集。除了节点之外,没有办法处理值的集合。这意味着,例如,无法对派生值求和(如果元素具有 形式的属性price='$23.95'
,则无法对通过剥离 $ 符号获得的数字求和,因为这种剥离的结果将是一组数字,并且没有这样的数据类型)。
所以 XPath 2.0 引入了更通用的序列,这意味着操作序列的工具必须通用化;例如,如果 $X 是一个数字序列,则$X[. > 0]
过滤该序列以仅包含正数。但这仅适用于“。” 可以指代一个数字,也可以指代一个节点。