Re: [xsl] Optimization Question

Subject: Re: [xsl] Optimization Question
From: Robert Koberg <rob@xxxxxxxxxx>
Date: Tue, 01 Feb 2005 14:53:54 -0800
Michael Kay wrote:
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.


Could something like this be compiled into the Templates object? (is it?)

<xsl:param
  name="something"
  select="document('something.xml')"/>

best,
-Rob



Michael Kay http://www.saxonica.com/

Current Thread