为什么dot(.)的定义在XPath 1.0和2.0之间发生了变化?

Pal*_*lec 5 xpath language-lawyer xpath-2.0

在Stack Overflow上研究XPath问题答案的细节时,我遇到了XPath 1.0和2.0之间的差异,我找不到理由.

我试图了解.真正的意义.

改变的理由是什么?有没有之间的差异.self::node()XPath 2.0中?

从规范本身来看,改变的意图对我来说并不清楚.我尝试使用谷歌搜索关键字,如点或句点,主要表达和基本原理.

Mic*_*Kay 5

XPath 1.0 有四种数据类型:字符串、数字、布尔值和节点集。除了节点之外,没有办法处理值的集合。这意味着,例如,无法对派生值求和(如果元素具有 形式的属性price='$23.95',则无法对通过剥离 $ 符号获得的数字求和,因为这种剥离的结果将是一组数字,并且没有这样的数据类型)。

所以 XPath 2.0 引入了更通用的序列,这意味着操作序列的工具必须通用化;例如,如果 $X 是一个数字序列,则$X[. > 0]过滤该序列以仅包含正数。但这仅适用于“。” 可以指代一个数字,也可以指代一个节点。