[Home] [By Thread] [By Date] [Recent Entries]


At 08:28 AM 2/18/2003 +1300, Berend de Boer wrote:

>Could you expand a bit on those "sound technical reasons"? I just
>finished doing an XPath implementation on top of a database. As I
>understood it, XPath expressions form the basis for XQuery as well as
>XSLT, so the distinction should be in xSLT specific things, right?

Query optimization is often done by looking at a schema and looking at an 
expression, determining all the things that the expression can mean in 
light of the schema, and rewriting the query so that it means the same 
thing but can be executed much more efficiently.

The template matching and recursive descent approach taken in XSLT makes it 
harder to analyze all the possible ways that a template might be used to 
produce a result. That doesn't mean it's impossible, but nobody has done a 
very good job at it so far, as far as I know.

There *are* a few issues with XPath - reverse axes are at least much 
harder, especially combined with the ordering semantics of "/". I think 
there are several papers claiming to have made important progress for 
optimizing general XPath expressions, including axes, but I haven't read 
them. If you restrict XPath to the forward axes, I don't think it causes 
problems.

Jonathan 


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member