Re: [xsl] alternative to repeatedly walking the ancestor axis in 1.0

Subject: Re: [xsl] alternative to repeatedly walking the ancestor axis in 1.0
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Mon, 4 Aug 2008 16:08:39 +0100
> I submit that speculating on performance differences vs alternatives is
> somewhat pointless, since it will depend on the implementation. It's not
> that it couldn't be optimized (especially if it were supported in the
> parser), so much as that it might not be.

In that case Wendell, there's no need to discourage anyone from using //

;-)

(it's optimised in Saxon SA, but not others)

Just to recap:

- in 1.0 you don't have tunnelled parameters so you either pass the
information explicitly through each template which is prone to error
(and bad for your sanity), or you get it from the ancestor axis, which
could be expensive (and also isn't what you'd call elegant)

- there is xml:lang and the lang() function, which were invented for
this particular task, but many implementations (including Saxon) will
just walk the ancestor axis behind the scenes, so you don't benefit
from switching to xml:lang from a proprietary solution

This really isn't about premature optimisation...

-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/

Current Thread