Re: [xsl] is there really a need for location steps of ".."?

Subject: Re: [xsl] is there really a need for location steps of ".."?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 14 Mar 2003 10:02:08 GMT
The chances are that your XSLT system includes rewrite rules
that transform these kinds of things from one style to the other,
depending on which is the best for the implementation so in practive it
may make no difference whatsoever, however if the predicate is expensive
to evaluate and you assume wandering around the tree is less so, and
you assume the system does no rewrites or optimisations then

//part[--complicated-test--involving .]/ancestor::*

is on the face of it more efficient than

//*[--complicated-test---involving descendant::part] 

as in the former the complicated test will be done just once for each
part element, but in the latter it will be executed on each part element
as many times as that element has ancestors.

Also of course if the predicate involves last() or position() then you
will get different answers, not just different efficiency.

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
________________________________________________________________________

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


Current Thread