Lists Home |
Date Index |
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