1

明らかに、MSXML6はXSLT 2.0をサポートしていませんが、少なくともmax()関数はサポートしていません。兄弟の中で最も高い値を含むノードを見つける必要があります。それらは任意の順序です。

順序を同じままにしておきたいので、追加order-byとチェック[0]は問題外です。

これを単一のXPathステートメントで実行したいと思います。テンプレートを呼び出したり、それよりも複雑なロジックを使用したりしたくありません。恐ろしいMSスクリプト拡張機能がどこかに埋め込まれていると確信しています。Eww。

私は考えました:

elem1[count(../elem1[@value < current()/@value]) = 0]

しかし、期待どおりに機能しませんでした(常に最初のノードを返します)。他に気の利いたXPathの魔法はありますか?

4

1 に答える 1

4

試す

elem1[not(../elem1/@value > @value)]

つまり、別の がより大きな を持っていないelem1場合のが必要です。elem1@value

この便利なページからのインスピレーション

于 2010-01-07T16:11:46.340 に答える