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

5
我正在阅读来自理解XPath处理器术语的一些在线资料。在这里,我找到了以下关于当前节点上下文节点的定义。

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

上下文节点 上下文节点是XPath处理器当前正在查看的节点。随着XPath处理器评估查询,上下文节点会发生变化。如果您将文档传递给XPath处理器,则根节点是初始上下文节点。如果您将节点传递给XPath处理器,则传递的节点是初始上下文节点。在查询的评估过程中,初始上下文节点也是当前节点。

虽然这些定义有点好理解当前节点和上下文节点之间的区别,但对我来说,例子并不足以让我实际理解它们之间的差异。
请问有没有人能够给出一些好的例子来明确展示以下两点?
  • xpath评估过程中,当前节点是固定的,但上下文节点会不断变化。
  • 上下文节点当前节点是相互重合的。
1个回答

2

如果您处于XSLT范围内,则当前节点仅相关;它是指应用当前模板的节点,并且可以使用current()访问。

对于没有XSLT的普通XPath,此函数不可用,当前节点既不可访问也不相关。

有关XSLT中当前节点的更多详细信息,请参阅Paul A Jungwirth在另一个问题中的答案


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接