我正在浏览一些来自Understanding XPath Processor Terms的在线资料。在这里,我找到了当前节点和上下文节点的定义,如下所示。
当前节点 当前节点是 XPath 处理器在开始评估查询时正在查看的节点。换句话说,当前节点是 XPath 处理器开始执行查询时使用的第一个上下文节点。在评估查询期间,当前节点不会更改。如果将文档传递给 XPath 处理器,根节点就是当前节点。如果您将一个节点传递给 XPath 处理器,那么该节点就是当前节点。
上下文节点 上下文节点是 XPath 处理器当前正在查看的节点。上下文节点随着 XPath 处理器评估查询而改变。如果将文档传递给 XPath 处理器,根节点就是初始上下文节点。如果将节点传递给 XPath 处理器,则传递的节点是初始上下文节点。在查询评估期间,初始上下文节点也是当前节点。
尽管定义对于理解当前节点和上下文节点之间的区别有点好,但对我来说,示例并不好理解实际的区别。
任何人都可以给我一些很好的例子来明确展示以下两件事吗?
- 在
xpath
评估期间,当前节点是固定的,但上下文节点不断变化。 - 上下文节点和当前节点相互切开。