我正在浏览Understanding XPath Processor Terms的一些在线资料。在这里,我找到了当前节点和上下文节点的定义,如下所示。
当前节点 当前节点是XPath处理器在开始评估查询时正在查看的节点。换句话说,当前节点是XPath处理器在开始执行查询时使用的第一个上下文节点。在评估查询期间,当前节点不会更改。如果将文档传递给XPath处理器,则根节点是当前节点。如果将节点传递给XPath处理器,则该节点是当前节点。
Conext Node 上下文节点是XPath处理器当前正在查看的节点。当XPath处理器评估查询时,上下文节点会更改。如果将文档传递给XPath处理器,则根节点是初始上下文节点。如果将节点传递给XPath处理器,则传递的节点是初始上下文节点。在评估查询期间,初始上下文节点也是当前节点。
虽然定义对于理解当前节点和上下文节点之间的区别有点好,但是实例并不能很好地理解我的差异。
可以给我一些很好的例子来明确地展示以下两件事吗?
xpath
评估期间当前节点已修复,但上下文节点不断变化。答案 0 :(得分:1)
当前节点仅在您位于XSLT范围内时才相关;它指的是当前模板应用于的节点,可以使用current()
访问。
对于普通XPath(没有XSLT),此功能不可用,当前既不可访问也不相关。
有关XSLT中当前节点的更多详细信息,我在另一个问题上提及an answer by Paul A Jungwirth。