Re: [xsl] Testing if something is not there

Subject: Re: [xsl] Testing if something is not there
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Tue, 6 Nov 2001 15:50:04 +0000
Hi Mike,

> Saxon currently evaluates all variables except node-set variables at
> the time they are declared. For node-set variables, it evaluates the
> select expression the first three times the variable is referred to;
> the third time, it saves the value of the variable in memory. This
> is a time/space trade-off: for many simple node-set expressions such
> as "following-sibling::*", allocating space to hold the value is
> more expensive than re-evaluating it on each reference.

Ahh... I'd misinterpreted/misremembered what you'd said at XSLT-UK
about this. Thanks for the clarification. So with Saxon as the
processor, it's worth putting an expression into a variable if it's
(a) likely to be expensive to compute *and* (b) going to be executed
more than three times in the same context.

[Jim: I forgot the other aspect of using variables which is handy,
namely for maintenance it's easier to refer to complicated expressions
than repeat them in the code.]



Jeni Tennison

 XSL-List info and archive:

Current Thread