我有一个像这样的重复元素的结构:
<a>
<b>
<a>
</a>
</b>
<a>
<b>
<a>
<c att="val" />
</a>
</b>
</a>
</a>
当我使用XPath
时,假设c节点是$ currentNode<xsl:value-of select="($currentNode/ancestor-or-self::a)" />
我得到一个与表达式匹配的无序节点列表。我需要的是始终让节点最接近树,如树枝最深处或最高@level。
不幸的是,我不能像这样使用XPath 2 max-function:
<xsl:value-of select="($currentNode/ancestor-or-self::a)[max(@level)]" />
请注意,最近的一个节点并不总是正好位于上下文之上,只是在某个地方......
任何建议都赞赏!
此致 亚历
答案 0 :(得分:6)
我认为你得到了一组有序的节点,从父节点到祖先。
尝试$currentNode/ancestor-or-self::a[1]
获取c att =“val”的父级。