Subject: Re: [xsl] Optimization Question|
From: Robert Koberg <rob@xxxxxxxxxx>
Date: Tue, 01 Feb 2005 14:53:54 -0800
You can't xsl:include a source document, but you can bring it in to the stylesheet as an external entity:
<xsl:variable name="lookup"> &lookup-doc; </xsl:variable>
For some processors this might be equivalent to passing in a pre-built tree. This isn't the case for Saxon, however: Saxon doesn't spot at compile time that the variable contains no executable instructions, and will rebuild the tree on each stylesheet execution. It's better to build the tree in your calling Java application, and pass it to the stylesheet as a parameter.
I've wondered from time to time whether a function such as document('lookup.xml') should be pre-evaluated at compile time. At present Saxon doesn't - because it would cause chaos in cases where the contents of the URL change between compile time and run-time.
<xsl:param name="something" select="document('something.xml')"/>
Michael Kay http://www.saxonica.com/