Re: [xsl] Can apply-templates attribute mode be passed a variable?

Subject: Re: [xsl] Can apply-templates attribute mode be passed a variable?
From: Mike Brown <mike@xxxxxxxx>
Date: Mon, 8 Jul 2002 11:35:41 -0600 (MDT)
Michael Kay wrote:
> > Note "." is going to be a little more efficient than 
> > "self::x", since you already know you're processing an "x" element.
> > 
> Dangerous assertion. With some processors (not Saxon, though), giving
> the processor the advance knowledge that it's processing an "x" element
> might reduce the search space for matching template rules.

Perhaps, but how many processors have such an optimization? It seems to me
that it would only be useful if you had stylesheets containing perhaps
hundreds of match templates, where the mathematical exercise of template
matching would start to take longer than categorizing the template rules,
pre-evaluating the select expression, and making the appropriate comparisons.

At any rate, at some point you have to evaluate the expression, and my
assertion is going to be no less valid for that.
"parent::node()/child::*[generate-id()=generate-id(current())]"
is going to be less efficient than "self::x", and "self::x" is less
efficient than ".".

   - Mike
____________________________________________________________________________
  mike j. brown                   |  xml/xslt: http://skew.org/xml/
  denver/boulder, colorado, usa   |  resume: http://skew.org/~mike/resume/

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


Current Thread