[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Ten new XQuery, XSLT 2.0 and XPath 2.0 Working Drafts
At 05:16 PM 5/12/2003 -0500, Bob Foster wrote: >From: "Jonathan Robie" <jonathan.robie@d...> > > The complex types of DTDs are not named types in the Data Model, and that > > means that you can't match them with SequenceType in XQuery - there is no > > type annotation to match. > >Hi Jonathan, > >Thanks for the answer. > >Maybe you're answering a different question. My (limited) understanding of >the Data Model spec is that the complex types of DTDs would be mapped to >anonymous types. It seems they must be validated, in order to get at simple >types like NMTOKENS? > >I must be wrong, if there is no type annotation at all. Hi Bob, Anonymous types are the types in W3C XML Schema that are not explicitly given names by users, but which have identity. Every element or attribute has a type annotation, but if a document is merely well formed, or taken from a document governed by a DTD, the type annotation will be xs:anyType for elements or xs:anySimpleType for attributes EXCEPT if it is an attribute of type ID, IDREF, IDREFS, ENTITY, ENTITIES, NMTOKEN, or NMTOKENS. > > If RELAX NG wants to define a mapping into our Data Model, that mapping > > could produce named types. The XQuery and XSLT Working Groups have not > > produced a mapping for RELAX NG. > >I'm not sure, for complex types, that the named types a mapping could >produce would be any more useful than anonymous types. Names are not >typically used in that way in RELAX NG. > >There are other, more fundamental issues. RELAX NG validation is >multi-level, e.g., the contents of elements may need to be examined to >determine which pattern is valid, and more than one might be. XQuery seems >to deal with non-determinism using a "first match" rule for both complex and >simple types. There is not even, in RELAX NG, a well-defined notion of >"first", as in that language choice represents the commutative union >operation. You might be able to use xs:anyType for elements or xs:anySimpleType for attributes unless a type library is bound in for simple types, and use type annotations for those types. Obviously, it takes a little time to think this out for any given schema language. And you would also need to think about whether importing RELAX NG schemas into the query body is important to you. Jonathan
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|