- From: Michael Kay <michael.h.kay@ntlworld.com>
- Date: Fri, 4 Jan 2002 11:31:22 -0000
- To: "'James Clark'" <jjc@jclark.com>, <michael.h.kay@ntlworld.com>, "'Jonathan Borden'" <jborden@mediaone.net>, "'David Carlisle'" <davidc@nag.co.uk>, "'Jonathan Robie'" <jonathan.robie@softwareag.com>
- Cc: <www-xml-query-comments@w3.org>, <xml-dev@lists.xml.org>
> 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