[xquery-talk] RE: aggregate , grouping

David Carlisle davidc at nag.co.uk
Fri Dec 23 00:52:30 PST 2005

> I think one of the problems with the additional axes (and the parent
> axis) are that the static typing rules are much more complex and would
> have taken more time to get usable.

The static typing rules for following::* (which is optional) are
presumably no harder than those for
(let $here := . return
   root()/descendant::*[. >> $here] except descendant::*)
which is not. The same is true of all the other axes, they can all be
rewritten to non optional expressions.

>  To declare these axes as optional
> allowed the spec writers to postpone the work to get the static-typing
> right. 

so why not make root() and >> optional as well?

> I would assume that implementations will add support for it when users
> really request it. And at some point a future version of the XQuery
> standard may decide to move the functionality into the core...

In the meantime anyone trying to write portable queries has to assume a
severely crippled version of xpath and write queries that are much less
likely to be optimisable, as it is presumably much easier to optimise a
restricted syntactic form of an axis step than detect the same idiom
expressed as a general expression involving >> etc.


This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:

More information about the talk mailing list