是否可以编写一个XPath表达式,该表达式获取节点集中节点的根节点,并且只引用该节点?
使用“/”对我不起作用,因为它只引用输入文档根目录。此外,我希望它在没有上下文的情况下工作,并将其用于可在处理期间动态创建的通用节点集。
例如......
<xsl:function name="my:getRoot">
<xsl:param name="n" />
<xsl:variable name="rootnode" select="some_solution($n)"/>
</xsl:function>
感谢您的帮助。
答案 0 :(得分:7)
在XPath 1.0中使用:
ancestor-or-self::node()[last()]
这将选择当前节点中最远的祖先 - 即文档节点。
在XPath 2.0中使用:
root(.)