[xquery-talk] get highest number
Michael Kay
mike at saxonica.com
Wed May 14 15:20:00 PDT 2008
> Or switch to a better XQuery processor. I find it hard to
> imagine why a product should take noticeably longer to
> evaluate max(//@id) than it takes to evaluate //@id.
Or if you can't do that, try coding it yourself as
declare function local:max($n as xs:double+) {
if (count($n) eq 1)
then $n
else
let $halfway = count($n) idiv 2
let $maxleft = local:max($n[position() le $halfway)
let $maxright = local:max($n[position() gt $halfway)
return if ($maxleft gt $maxright) then $maxleft else $maxright
};
local:max(//@id/number())
Michael Kay
http://www.saxonica.com/
More information about the talk
mailing list