- From: Kay, Michael <Michael.Kay@softwareag.com>
- Date: Tue, 11 Feb 2003 12:11:40 +0100
- To: xquery@attbi.com, "'Kay, Michael'" <Michael.Kay@softwareag.com>, public-qt-comments@w3.org
> More generally, probably all derived types will be provided
> through type annotations in the data model -- so xs:NMTOKENS
> is supported (and built-in to XML Schema) just like any other
> derived type, but it seems that it is not really a "built-in"
> type in XQuery, by the terminology in the drafts.
>
> I am skeptical that I can query "of type xs:NMTOKENS" (or any
> other list type), since it seems that I am not allowed to use
> that type as a
> constructor: xs:NMTOKENS("A1 B2"). But then again maybe one
> or both of these are allowed?
xs:NMTOKENS can be used in a construct of the form "attribute of type
xs:NMTOKENS", because it performs the same role as a user-defined type that
can be used as a type annotation for element and attribute nodes.
You can only use constructors for atomic values, so the constructor is
always the name of an atomic type. xs:NMTOKENS is a simple type, but it is
not an atomic type.
>
> Also, what if I were to query
> if (@att instance of attribute of type xs:NMTOKEN*) ...
attribute of type xs:NMTOKEN*
means
(attribute of type xs:NMTOKEN)*
that is a sequence of attributes, each of which is of type NMTOKEN.
(Yes, it's **** confusing, and I sincerely hope we are going to change the
syntax to make it less so).
> or
> if (data(@att) instance of xs:NMTOKEN*) ...
> Do these queries succeed or fail with att is annotated with
> type xs:NMTOKENS?
This one is fine, and succeeds.
Michael Kay
Received on Tuesday, 11 February 2003 06:11:50 UTC