[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: Optimisation (was Re[6]: Aggregate)


Subject: Re: Optimisation (was Re[6]: Aggregate)
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 17 Nov 2000 10:12:13 GMT



> <xsl:number/> naively requires counting of the nodes that precede a given
> node, which requires O(n) operations; therefore numbering a sequence of n
> nodes requires O(n^2) operations. Saxon in some cases (but not all)
> remembers the last node and its number, so that numbering a sequence of n
> nodes becomes O(n).

xt presumably does something similar as this one bit me (on a real job
for NAG, not just when chatting on this list).

We had something that was using <xsl:number level="any"/> which was
working OK but when trying the stylesheet on the real document we
realised that actually in general we needed to omit certain
elements from the numbering depending on an attribute value
so it looked like the small change to add something like 
count="xxx[not(ancestor-or-self::*/@os='nt')]"
to not count (in the unix version of the spec) anything that is
in a section flagged as nt only. (Norm, this is docbook, cf current
thread on dsssl list...). On the real document (several hundred pages)
the time to process went from a two or three minutes to (? I killed the
job after half an hour....)

David

_____________________________________________________________________
This message has been checked for all known viruses by Star Internet delivered
through the MessageLabs Virus Control Centre. For further information visit
http://www.star.net.uk/stats.asp


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread
Keywords