1

显然 MSXML6 不支持 XSLT 2.0,至少不支持该max()功能。我需要找出其兄弟姐妹中包含最高值的节点。它们的顺序是任意的。

我希望订单保持相同,因此添加order-by和检查[0]是不可能的。

我想用一个 XPath 语句来做到这一点。我不想调用模板或涉及比这更复杂的逻辑。我确信某处嵌入了一个可怕的 MS 脚本扩展。哇。

我想到了:

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 回答