如何在 xpath 中获取初始上下文位置和大小?

Posted

技术标签:

【中文标题】如何在 xpath 中获取初始上下文位置和大小?【英文标题】:How to get initial context position and size in xpath? 【发布时间】:2018-01-05 10:39:45 【问题描述】:

我们知道上下文会在 XPath 中改变(例如:在谓词中),我们可以使用方便的函数 current() 来获取初始上下文项。 但是如何获得初始上下文位置和大小? 例如,在 XSLT 中:

<xsl:apply-templates select="//part[@code = current()/@code]"/>

我们可以通过调用 current() 获得初始上下文节点(xsl:apply-templates 指令被评估的地方),但是如何获得它的位置和大小?

【问题讨论】:

你能展示你的意见吗? 【参考方案1】:

没有可以在谓词内部调用的函数,但你当然可以更早地存储例如

<xsl:variable name="pos" select="position()"/>
<xsl:variable name="size" select="last()"/>

获取当前上下文位置和大小 (https://www.w3.org/TR/xslt-30/#focus),然后在谓词表达式中使用这些变量。

【讨论】:

感谢您的澄清,它类似于我现在正在做的事情(而不是使用 xsl:variable 指令,我使用 xpath 中的表达式)。我只是觉得奇怪,为什么有current(),却没有currentPostion() 或currentLast()……是不是我漏掉了关键的东西,所以才问这个蠢问题。

以上是关于如何在 xpath 中获取初始上下文位置和大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何从linkedin中找到日期范围的xpath

如何使用 xPath (10g) 在 Oracle SQL extract() 中获取节点名称

如何用word使图片上下居中

android中如何间隔控件

XPath语法

获取 QWidget 初始大小的可靠方法