Re: [xsl] General rule for designing XPath expressions to return items in document order?

Subject: Re: [xsl] General rule for designing XPath expressions to return items in document order?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 08 Jan 2014 12:51:18 +0000
On 08/01/2014 12:40, Costello, Roger L. wrote:
use this one /descendant::head[parent::section] Can you provide a
general rule?

It is best not to even try, The processor is mandated to do this rewrite and it can rewrite it using internal facilities not available in the top level syntax if it wishes. So it is better to write a simple clear xpath expression that the each processor optimiser can write to an optimal form _for that processor_ rather than try to second guess the optimisation strategy and do the rewrites by hand.


You see a similar thing with //foo :


Going back to the beginning of time we used to tell people that that was
an expensive full document search and it is better to go /a/b/c/foo if
you know all the foo elements are at that level, to save the processor
searching arbitrarily deep. But now some database backed processors can
map //foo to a pre-computed index so it is fast but /a/b/c/foo does an
iterative walk over that level of the document so is relatively slow.

David


________________________________________________________________________ The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. ________________________________________________________________________


Current Thread