Possible error in the definition of particle derivation Choice :Choice

Hi,

     According to the definition of Particle derivation Choice:Choice
specified at Part 1 section 3.9.6,   particle R is not a valid restriction
of particle B where R and B are defined as below:
B= <xsd:choice minOccurs="1" maxOccurs="1">
     <xsd:group minOccurs="0" maxOccurs="1" ref="ChoiceGroup"/>
     <xsd:element name="e"/>
</xsd:choice>

R=<xsd:group minOccurs="0" maxOccurs="1" ref="ChoiceGroup"/>
(<xsd:group name="ChoiceGroup>
     <choice>
          <xsd:element name="e2"/>
          <xsd:element name="e3"/>
     </choice>
 </xsd:group>
)

     R is not a restriction of B according to the spec because clause 1 of
Particle Derivation OK (Choice:Choice -- RecurseLax)  "1. R's occurrence
range is a valid restriction of B's occurrence range as defined by
Occurrence Range OK (§3.9.6)"  is not satisfied.

     It seems to me that the spec should allow R to be considered as a
valid restriction of B.

     Schema Component Constraint: Particle Derivation OK (Choice:Choice --
RecurseLax)  could be changed as follows :
For a choice group particle to be a ·valid restriction· of another choice
group particle  *ONE OF* of the following must be true:
1. R is a valid restriction of one of the particle in the {particles} of B
as defined by  Particle Valid (Restriction) (§3.9.6).
2. *ALL* the following must be true:
     2.1. R's occurrence range is a valid restriction of B's occurrence
range as defined by Occurrence Range OK (§3.9.6);
     2.2  There is a complete ·order-preserving· functional mapping from
the particles in the {particles} of R to the particles in the {particles}
of B such that each particle in the {particles} of R is a ·valid
restriction· of the particle in the {particles} of B it maps to as defined
by Particle Valid (Restriction) (§3.9.6).

     Without this change, I think the schema for schema is not valid
because in the definition of complexType
http://www.w3.org/2001/XMLSchema#complexRestrictionType, elementOnly
content model (
<xsd:sequence maxOccurs="1" minOccurs="1">
      <xsd:element block="" maxOccurs="1" minOccurs="0"
ref="xsd:annotation"/>
     <xsd:group maxOccurs="1" minOccurs="0" ref="xsd:typeDefParticle"/>
     <xsd:group maxOccurs="1" minOccurs="1" ref="xsd:attrDecls"/>
 </xsd:sequence> )

 is not a restriction of

elementOnly content model  (<xsd:sequence maxOccurs="1" minOccurs="1">
       <xsd:element block="" maxOccurs="1" minOccurs="0"
ref="xsd:annotation"/>
        <xsd:choice maxOccurs="1" minOccurs="1">
                <xsd:group maxOccurs="1" minOccurs="0"
ref="xsd:typeDefParticle"/>
               <xsd:group maxOccurs="1" minOccurs="0"
ref="xsd:simpleRestrictionModel"/>
      </xsd:choice>
      <xsd:group maxOccurs="1" minOccurs="1" ref="xsd:attrDecls"/>
</xsd:sequence>), the content type defined by the basetype


Achille Fokoue

Received on Wednesday, 11 July 2001 12:57:00 UTC