Re: [xsl] variable with document() reference

Subject: Re: [xsl] variable with document() reference
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 2 Sep 2004 10:01:59 +0100
> I really should know the answer to this, but I can't seem to get a handle on it.

No you really shouldn't know the answer:-)

Whether or not document() is used it is _unspecified_ whether a variable
 is evaluated when it is defined, when it is first used, or every time
it is used. In practice XSLT processors deploy different heuristics to
try to get optimum benefits by taking different choices at different
times. One of the benefits of side effect free declarative processing is
that it gives optimisers this freedom.

In practice for document() the thing usually gets saved (whether or not
you use a variable to explictly save it) as the XSLt spec says that if
you call document() twice for the same URI then you should get the same
result, and the only way an XSLT processor can reliably ensure that is
to cache the results of calling document().

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

Current Thread