[
Lists Home |
Date Index |
Thread Index
]
> > 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
|