- From: Priscilla Walmsley <priscilla@walmsley.com>
- Date: Fri, 19 Oct 2001 13:01:47 -0400
- To: "'Jeni Tennison'" <jeni@jenitennison.com>, "'Priscilla Walmsley'" <priscilla@walmsley.com>
- Cc: <xmlschema-dev@w3.org>
Hi Jeni, That's a good point, and I think we may have uncovered a contradiction in the Rec. The section I was looking at is Derivation Valid (Restriction, Complex) in clause 5: 5.1 If the {content type} of the complex type definition is a simple type definition, then one of the following must be true: 5.1.1 The {content type} of the {base type definition} must be a simple type definition of which the {content type} is a ·valid restriction· as defined in Derivation Valid (Restriction, Simple) (§3.14.6). 5.1.2 The {base type definition} must be mixed and have a particle which is ·emptiable· as defined in Particle Emptiable (§3.9.6). Unless maybe I should have used "complexContent"? I will investigate further.... Priscilla ----------------------------------------------------------- Priscilla Walmsley priscilla@walmsley.com Vitria Technology http://www.vitria.com Author, Definitive XML Schema (Prentice Hall, Dec. 2001) ----------------------------------------------------------- > -----Original Message----- > From: Jeni Tennison [mailto:jeni@jenitennison.com] > Sent: Friday, October 19, 2001 12:44 PM > To: Priscilla Walmsley > Cc: xmlschema-dev@w3.org > Subject: Re: constraining an element to be either simple or complex > content > > > Hi Priscilla, > > > You can't extend simple content to create complex content, but you > > _can_ restrict mixed complex content to create simple content. In > > this situation, you would define the types as: > > > > <xs:complexType name="baseType" mixed="true" abstract="true"> > > <xs:sequence> > > <xs:any minOccurs="0" maxOccurs="unbounded"/> > > </xs:sequence> > > </xs:complexType> > > > > <xs:complexType name="simpleType"> > > <xs:simpleContent> > > <xs:restriction base="baseType"> > > <xs:simpleType> > > <xs:restriction base="xs:integer"/> > > </xs:simpleType> > > </xs:restriction> > > </xs:simpleContent> > > </xs:complexType> > > Wow, that is obscure! It works in XSV, but I'm confused about why, > because Clause 2 of the Complex Type Definition Representation OK > Schema Representation Constraint says: > > 2 If the <simpleContent> alternative is chosen, the type > definition ·resolved· to by the ·actual value· of the base > [attribute] must be either a complex type definition whose > {content type} is a simple type definition or, only if the > <extension> alternative is also chosen, a simple type definition; > > but the base attribute in the definition of the 'simpleType' type is a > complex type definition whose {content type} is a *complex* type > definition, isn't it? > > Or am I reading it wrong? > > Cheers, > > Jeni > > --- > Jeni Tennison > http://www.jenitennison.com/ > >
Received on Friday, 19 October 2001 13:03:16 UTC