5

我正在浏览一些来自Understanding XPath Processor Terms的在线资料。在这里,我找到了当前节点上下文节点的定义,如下所示。

当前节点 当前节点是 XPath 处理器在开始评估查询时正在查看的节点。换句话说,当前节点是 XPath 处理器开始执行查询时使用的第一个上下文节点。在评估查询期间,当前节点不会更改。如果将文档传递给 XPath 处理器,根节点就是当前节点。如果您将一个节点传递给 XPath 处理器,那么该节点就是当前节点。

上下文节点 上下文节点是 XPath 处理器当前正在查看的节点。上下文节点随着 XPath 处理器评估查询而改变。如果将文档传递给 XPath 处理器,根节点就是初始上下文节点。如果将节点传递给 XPath 处理器,则传递的节点是初始上下文节点。在查询评估期间,初始上下文节点也是当前节点。

尽管定义对于理解当前节点和上下文节点之间的区别有点好,但对我来说,示例并不好理解实际的区别。

任何人都可以给我一些很好的例子来明确展示以下两件事吗?

  • xpath评估期间,当前节点是固定的,但上下文节点不断变化。
  • 上下文节点当前节点相互切开。
4

1 回答 1

2

仅当您在 XSLT 范围内时,当前节点才相关;它指的是当前模板应用到的节点,可以使用current().

对于普通 XPath(没有 XSLT),此功能不可用,当前既不可访问也不相关。

有关 XSLT 中当前节点的更多详细信息,我指的是 Paul A Jungwirth对另一个问题的回答。

于 2013-07-20T12:20:11.830 回答