W3C home > Mailing lists > Public > xmlschema-dev@w3.org > March 2002

RE: Derivation by restriction from <any>

From: Dare Obasanjo <dareo@microsoft.com>
Date: Fri, 8 Mar 2002 19:08:32 -0800
Message-ID: <8BD7226E07DDFF49AF5EF4030ACE0B7E05573BA3@red-msg-06.redmond.corp.microsoft.com>
To: "Jeni Tennison" <jeni@jenitennison.com>
Cc: "Henry S. Thompson" <ht@cogsci.ed.ac.uk>, <Simon.Cox@csiro.au>, <xmlschema-dev@w3.org>

> -----Original Message-----
> From: Jeni Tennison [mailto:jeni@jenitennison.com] 
> Sent: Friday, March 08, 2002 2:07 AM
> To: Dare Obasanjo
> Cc: Henry S. Thompson; Simon.Cox@csiro.au; xmlschema-dev@w3.org
> Subject: Re: Derivation by restriction from <any>
> Hi Dare,
> > Upon investigating the W3C XML Schema Structures specification I've 
> > had some difficulty locating where it specifies that one-to-many 
> > particle derivations are acceptable. I would appreciate a 
> pointer to 
> > where in the recommendation it mentions that this is possible. From 
> > what I've read[0] particle derivation is a one-to-one affair.
> The specific derivation from this example is a derivation by 
> restriction from the base model group:
>   <sequence>
>     <any maxOccurs="unbounded"/>
>   </sequence>
> to the derived model group:
>   <sequence>
>     <element name="e1" type="string"/>
>     <element name="e2" type="integer" minOccurs="0"/>
>     <element name="e3" type="date" minOccurs="0"/>
>   </sequence>
> By the rules of the Schema Component Constraint: Particle Valid
> (Restriction) 
> (http://www.w3.org/TR/xmlschema-1/#cos-particle-restrict), 
> the sequence in the base model group is "pointless" so the 
> base model group is equivalent to:

I am curious as to what rules you used to come to that conclusion. The
original XML schema fragment was 
 <complexType name="basetype">
    <any maxOccurs="unbounded"/>

 <complexType name="newtype">
    <restriction base="my:basetype">
        <element name="e1" type="string"/>
        <element name="e2" type="integer" minOccurs="0"/>
        <element name="e3" type="date" minOccurs="0"/>

The rules for pointlessness for an xs:sequence are 

	One of the following must be true:
	2.2.1 {particles} is empty. [Dare - Nope, not in this case] 
	2.2.2 All of the following must be true: The particle within which this <sequence> appears has
{max occurs} and {min 	occurs} of 1. [Dare - the sequence does not
appear in a particle. Now it is possible that somewhere in the spec
defines some implicit particle similar to how there is an implicit
xs:complexContent child of a xs:complexType when it has particles as
children. If this is the case I'd appreciate it if you could point this


<snip stuff on restricting xs:any to xs:sequence> 

I will not procrastinate regarding any ritual granting immortality.
Received on Friday, 8 March 2002 22:09:19 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:55:55 UTC