- From: James Clark <jjc@jclark.com>
- Date: Mon, 7 Jan 2002 11:05:16 +0700
- To: <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>
> > 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? I would exclude the parent axis as well as the ancestor. It doesn't make much sense to me to include parent, child, descendant but exclude ancestor. > Also, I've never understood why the descendant axis is supposedly easier to > statically type than the ancestor axis. Because the child axis is easier to statically type that the parent axis. The type of an element (in the XDuce/XQuery sense) tells you the possible attributes and children but doesn't tell you the possible parents. Maybe you could do a type system that would tell you about the parents as well, but I suspect you would get a combinatorial explosion if your type system attempts to deal with both parents and children. James
Received on Sunday, 6 January 2002 23:05:54 UTC