显然,MSXML6不支持XSLT2.0,至少不支持max()函数。我需要找出在其兄弟节点中包含最高值的节点。它们的顺序是任意的。
我希望顺序保持不变,所以添加order-by和检查[0]是不成问题的。
我想用一条XPath语句来实现这一点。我不想调用模板,也不想涉及更复杂的逻辑。我敢肯定在某个地方嵌入了一个可怕的MS脚本扩展。哇哦。
我想到的是:
elem1[count(../elem1[@value < current()/@value]) = 0]但是它并没有像我预期的那样工作(总是返回第一个节点)。你还能想到其他什么漂亮的XPath魔术吗?
发布于 2010-01-08 00:11:46
试一试
elem1[not(../elem1/@value > @value)]也就是说,您想要的elem1不是另一个elem1具有更大@value的情况。
来自this handy page的灵感
https://stackoverflow.com/questions/2021667
复制相似问题