[xquery-talk] get highest number

Andrew Welch andrew.j.welch at gmail.com
Sat May 17 11:34:42 PDT 2008


>> > If Gonzberg is using eXist (I remember other posts on the
>> > corresponding lists), I can explain the difference:
>> evaluating //@id is entirely index-based (as John already suspected).
>> Compared to this,
>> > max(//@id) requires access to the actual attribute nodes, which
>> > generates a lot more IO.
>
> Thanks for the info. Obvious, when you think about it.

Not to me - can someone explain this a little more for me...

If //@id returns a sequence that's stored as atomics, why is
max(//@id) any different to max(1 to 100000) ?

The XSLT equivalent (that my mind works in is):

<xsl:variable name="ids" select="//@id" as="xs:integer+"/>

<xsl:sequence select="max($ids)"/>

What am I missing?

-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/


More information about the talk mailing list