- 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