- From: Henry S. Thompson <ht@cogsci.ed.ac.uk>
- Date: 16 Apr 2003 12:52:07 +0100
- To: "Michael Marchegay" <mmarcheg@optonline.net>
- Cc: <xmlschema-dev@w3.org>
"Michael Marchegay" <mmarcheg@optonline.net> writes: > "Henry S. Thompson" <ht@cogsci.ed.ac.uk> writes: > > > > "Michael Marchegay" <mmarcheg@optonline.net> writes: > > > > > Imagine that you have the following simple type definition: > > > > > > <simpleType name="foo"> > > > <list> > > > <simpleType> > > > <union> > > > <simpleType><list itemType="boolean"/><simpleType> > > > </union> > > > </simpleType> > > > <list> > > > </simpleType> > > > > > > The {base type definition} of foo is the ·simple ur-type definition·; > > > Derivation Valid (Restriction, Simple) is therefore not required; > > > > Yes it is. Sorry the name is confusing, we should probably have > > changed it, but the prose at the beginning of 3.14.6 Constraints on > > Simple Type Definition Schema Components reads: > > > > "All simple type definitions other than the simple ur-type > > definition and the built-in primitive datatype definitions (see > > Simple Type Definitions (3.14)) must satisfy both the following > > constraints." > > > > Derivation Valid (Restriction, Simple) is the second constraint, and > > thus applies to _all_ user-defined simple type definitions. > > Thank you for the clarification. > > A thing that confused me was that in "Derivation Valid (Restriction, > Simple)", it is written: > [...] > If the {variety} is union, then all of the following must be true: > 3.1 The {member type definitions} must all have {variety} of atomic or list. > [...] > > Which means that as this constraint is applied to _all_ the simple types, > union of union are not allowed, and I always thought that they were allowed. > > My misunderstanding is probably due to the following sentence in XML Schema > Part 2: > --- > 4.1.2.3 Derivation by union > [...] > A ·union· datatype can be ·derived· from one or more ·atomic·, ·list· or > other ·union· datatypes, known as the ·memberTypes· of that ·union· > datatype. > --- > Which seems to say that a union type is allowed among the memberTypes of > another union... > > Is my interpretation of "Derivation Valid (Restriction, Simple) correct"? > (i.e. union od union are disallowed) Not at the _XML Representation_ level -- you can name a union in the memberTypes, but _its_ member types are what get added to the memberTypes of the resulting component. So at the _component_ level, no union of unions. ht -- Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh Half-time member of W3C Team 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440 Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk URL: http://www.ltg.ed.ac.uk/~ht/ [mail really from me _always_ has this .sig -- mail without it is forged spam]
Received on Wednesday, 16 April 2003 07:52:14 UTC