5
のNodeList祖先-または自己内の最も近い祖先を見つけるために、XPathを使用する方法:私はこのような定期的な要素を持つ構造を有する
<a>
<b>
<a>
</a>
</b>
<a>
<b>
<a>
<c att="val" />
</a>
</b>
</a>
</a>
私が使用している場合、$ currentNodeのは、C-ノードをAsumingをXPath
<xsl:value-of select="($currentNode/ancestor-or-self::a)" />
この式に一致するノードのリストの順序は無秩序です。私が必要とするのは、ツリーの最上位にあるノードを、ブランチや最上位のレベルのように、常に最寄りのノードにすることです。
私はこの残念なようにXPathの2 MAX-機能を使用することはできません。
<xsl:value-of select="($currentNode/ancestor-or-self::a)[max(@level)]" />
お知らせその最も近いノードではない常に正確文脈上で、どこかそこまで...
どれでも提案は高く評価されました!
よろしく アレックス
このアプローチを試しました。最初のもの、2番目のものなどをリストします。そして、最も近いノードが2番目の場所にあるとわかります。:( – Alex
$ currentNode = element c? – Istao
はい、実際のXPathは "ancestor (私はものをクリアするために簡略化しました) – Alex