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

时间:2012-02-29 21:20:34

标签: 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>

感谢您的帮助。

1 个答案:

答案 0 :(得分:7)

在XPath 1.0中使用

ancestor-or-self::node()[last()]

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

在XPath 2.0中使用

 root(.)