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

Re: [xsl] speed optimization


Subject: Re: [xsl] speed optimization
From: "J.Pietschmann" <j3322ptm@xxxxxxxx>
Date: Mon, 27 Jan 2003 02:12:52 +0100

David Carlisle wrote:
similarly a processor has to cache the result of document() (almost
certainly, to get the node identity semantics right) so explictly
saving it in a variable is unlikely to make much difference (but does
make the code clearer)

Xalan had a different approach: it accessed the URL each time document() or a variable with a node set containing a document() was used. E.g. if you had <xsl:variable name="foo" select="document('foo.xml')/*"/> foo.xml would be accessed every time $foo was seen in an expression.

Even document('') was accessed and *parsed* every time. This made
the performance drop through the bottom for certain use cases, in
particular the date formatting using an XML structure as lookup
table for month number to month name conversions.

Interestingly, the generate-id() identity was fulfilled, whether
by caching the result from the first read and throwing away content
from further accesses or by other means I don't know.

This was filed as a bug soon after 2.0 came out, and was still present
in all 2.3 releases. I haven't checked whether it has been fixed in 2.4.x.

J.Pietschmann



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



Current Thread
Keywords
xml