显然,MSXML6不支持XSLT 2.0,至少不支持max()
函数。我需要找出节点中包含最高值的节点。它们以任意顺序排列。
我希望顺序保持不变,因此添加order-by
并检查[0]
毫无疑问。
我想用一个XPath语句来做到这一点。我不想调用模板或涉及任何比这更复杂的逻辑。我确信某个地方嵌入了令人恐惧的MS脚本扩展。真是的
我想到了:
elem1[count(../elem1[@value < current()/@value]) = 0]
但是它没有按我预期的那样工作(总是返回第一个节点)。您还能想到其他任何漂亮的XPath魔术吗?
最佳答案
尝试
elem1[not(../elem1/@value > @value)]
也就是说,您要的是
elem1
,而不是另一个elem1
具有更大的@value
的情况。来自this handy page的启示