我有一个具有重复元素的结构,如下所示:
<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)]" />
请注意,最近的a节点并不总是正好位于上下文之上,只是在某处…
任何建议赞赏!
问候
亚历克斯
解决方法
我想你会得到一组有序的节点,从父节点到祖先节点.
尝试使用$currentNode / ancestor-or-self :: a [1]来获取c att =“val”的父级.