- From: Michael Kay <michael.h.kay@ntlworld.com>
- Date: Mon, 7 Jan 2002 10:08:16 -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>
> > 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. Well, there are two possible scenarios. In a closed world, we know all the types, in which case the type of the parent is the union of all types that have "this" as a possible child or attribute. In an open world, we don't know all the types, so the type of the parent is "any element or document node". The only difficulty I can see is that of deciding whether the world should be open or closed. In any case, as a user, I'd much rather have a weakly-typed parent axis than no parent axis at all. I want to find all <section> elements whose depth in the tree is less than 4: //section[count(ancestor::* < 3)] You're not going to let me write that because you don't know how to type-check it? Gee thanks, I'll stick with XPath. Mike Kay
Received on Monday, 7 January 2002 05:09:19 UTC