7

次のような繰り返し要素を持つ構造があります。

<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-node が常にコンテキストの真上にあるとは限らないことに注意してください。

どんな提案でも大歓迎です!

よろしくアレックス

4

1 に答える 1

8

親から先祖まで、順序付けられたノードのセットを取得すると思います。

$currentNode/ancestor-or-self::a[1]c att="val" の親を取得してみてください。

于 2013-03-26T19:33:24.133 に答える