需要帮助来理解 - XPath / XSLT中的上下文节点和当前节点

时间:2013-07-20 11:53:07

标签: xslt xpath nodes

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

  

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

     

Conext Node   上下文节点是XPath处理器当前正在查看的节点。当XPath处理器评估查询时,上下文节点会更改。如果将文档传递给XPath处理器,则根节点是初始上下文节点。如果将节点传递给XPath处理器,则传递的节点是初始上下文节点。在评估查询期间,初始上下文节点也是当前节点。

虽然定义对于理解当前节点和上下文节点之间的区别有点好,但是实例并不能很好地理解我的差异。

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

  • xpath评估期间当前节点已修复,但上下文节点不断变化。
  • 上下文节点当前节点相互合作。

1 个答案:

答案 0 :(得分:1)

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

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

有关XSLT中当前节点的更多详细信息,我在另一个问题上提及an answer by Paul A Jungwirth