Evidently MSXML6 doesn't support XSLT 2.0, at least not the max()
function. I need to find out the node that contains the highest value among its siblings. They are in arbitrary order.
I want the order to remain identical so adding order-by
and checking [0]
is out of question.
I want to do this with a single XPath statement. I don't want to call templates or involve any more complex logic than that. I'm sure there is a horrifying MS Scripting Extensions embedded somewhere. Eww.
I thought of:
elem1[count(../elem1[@value < current()/@value]) = 0]
But it didn't work as I expected (returns the first node always). Any other nifty XPath magic can you think of there?
Try
That is, you want the
elem1
for which it is not the case that anotherelem1
has a greater@value
.Inspiration from this handy page