Turns out the tool does not support XPath 2.0.
XPath 1.0 doesn't have the fancy min()
and max()
functions, so to find these values we need to be a little tricky with the XPath logic, and compare the values on the siblings of the node:
Maximum:
/foo/bar[not(preceding-sibling::bar/@score >= @score)
and not(following-sibling::bar/@score > @score)]/@score
Minimum:
/foo/bar[not(preceding-sibling::bar/@score <= @score)
and not(following-sibling::bar/@score < @score)]/@score
If embedding these queries in XML files like XSLT or ant scripts, remember to encode <
and >
as <
respecting >
.