[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

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: "Costello, Roger L." <costello@xxxxxxxxx>
Date: Wed, 8 Jan 2014 12:58:50 +0000

David says:

	It is best not to even try (to come up
	with a rule for designing XPath expressions
	so that no sorting is needed under the
	hood)

But, but, but, in creating streaming programs it is vital to design the XPath
expressions such that the items being selected are in document order (no
sorting required under the hood). Right?

/Roger

-----Original Message-----
From: David Carlisle [mailto:davidc@xxxxxxxxx]
Sent: Wednesday, January 08, 2014 7:51 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] General rule for designing XPath expressions to return
items in document order?

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
Keywords