如何在 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 中获取初始上下文位置和大小?的主要内容,如果未能解决你的问题,请参考以下文章