RE: document is not an element, is it?

> There is an open issue proposed on whether item? should be 
> item* or not.
> 
> We have anySimpleType?=anySimpleType* (since we do not have lists of
> lists) and anyType? = anyType*. So if you want to make 
> anyType a subtype of item then you better have the 
> equivalence item?=item*.
> 
> Best regards
> Michael

Michael, you have me completely confused. 

(a) I can't see the relevance of the above to Todd's comments
(b) I am unaware of these issues
(c) They don't make sense.

How can "item?" be the same as "item*"    (?)

How can "anyType" be a subtype of "item"? anyType is an annotation attached
to element nodes; no XPath value can ever be an instance of anyType (because
the typed value of a node with this label is not defined); item cannot be
used as an annotation on a node (because an annotation must be a
schema-defined simple or complex type).

The set of types available in XML Schema (simple types and complex types)
and the set of types used for values in XPath are two overlapping sets.
Their intersection is the set of atomic types. Complex types appear in XPath
ONLY as annotations of nodes. Node kinds like element() and comment() appear
as XPath types but not as XML Schema types. "Item", being the union of node
kinds and atomic types, is an XPath type but not an XML Schema type. So
"anyType" and "Item" are in completely unrelated parts of the space.

Michael Kay

Received on Tuesday, 11 March 2003 07:44:17 UTC