XPath:从指定节点获取节点集的根节点

ric*_*alm 4 xslt xpath xpath-2.0

是否有可能编写一个XPath表达式来获取节点集中节点的根节点,该节点集仅包含对节点的引用?

使用"/"对我来说不起作用,因为它只引用输入文档根目录.此外,我希望它在没有上下文的情况下工作,并将其用于可在处理期间动态创建的通用节点集.

例如...

<xsl:function name="my:getRoot">
    <xsl:param name="n" />
    <xsl:variable name="rootnode" select="some_solution($n)"/>
</xsl:function>
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助.

Dim*_*hev 7

在XPath 1.0中使用:

ancestor-or-self::node()[last()]
Run Code Online (Sandbox Code Playgroud)

这将选择当前节点的最远祖先 - 即文档节点.

在XPath 2.0中使用:

 root(.)
Run Code Online (Sandbox Code Playgroud)