RE: [xml-dev] XSLT and XQuery

> Template rules are just syntactic sugar for a recursive
> function call and a
> case statement, both of which XQuery has (doesn't it?).

Technically true, but there are many cases where you would naturally use
template rules in XSLT where you wouldn't naturally use a recursive function
call and a case statement in XQuery. I guess the open question is, can
template rules be optimized if you have sufficient a priori knowledge of the
schema?

> I  would be inclined
> to nominate some of the axes (almost everything but children and
> descendants) as the prime things to exclude from XQuery, both
> because they
> are hard to optimize and hard to statically type in any sort
> of useful way.

Now I can reverse the argument: surely most of the axes are just syntactic
sugar for a recursive function call? And using the ancestor axis (for
example) explicitly is surely both more convenient for the user, and easier
to optimize, than a recursive call on a getParent() function?

Also, I've never understood why the descendant axis is supposedly easier to
statically type than the ancestor axis.

Mike Kay

Received on Friday, 4 January 2002 06:32:37 UTC