Re: Resctriction problem on complexType

(I help Pierre who does not succed in sending message to the list)


>Date: Thu, 13 Jul 2006 16:33:12 +0200
>To: xmlschema-dev@w3c.org
>From: Pierre Attar <pat@tireme.fr>
>Subject: Fwd: RE: Resctriction problem on complexType
>
>Michael,
>
>Thanks for your answer but I don't really see 
>where, in this sample, essaiRestrict complexeType  allows art1 AND s1.
>The basis still remains a choice. The only 
>restriction made is to make mandatory the two 
>choices contained in the first one.
>
>
>FYI, here are the different logs of tools :
>
>Xerces C 2.7 :
>Error at file T:\proj\tmp\pbRestriction.xsd, line 20, char 39
>    Message: Recurse: There is not a complete
>functional mapping between the particles
>
>XSDValid :
>file:/T:/proj/tmp/pbRestriction.xsd:E:20:2:
>complexType is an invalid restriction of its base
>type: "choice" particle is not a valid
>restriction of corresponding "choice" particle in
>base type [rcase-Recurse.2.1] [derivation-ok-restriction.5.3]
>
>SQC :
>Initializing Schema Quality Checker. Please wait ...
>SchemaQualityChecker has been initialized
>PROCESSING T:\proj\tmp\pbRestriction.xsd time : 2006-07-13T15:29:53 ...
>T:\proj\tmp\pbRestriction.xsd (file 1 of 1) now being read ...
>ERROR
>   file = file:T:/proj/tmp/pbRestriction.xsd line 35 column 19
>SEVERITY: 1
>ERROR TYPE: 2
>MESSAGE TYPE REFINEMENT ERROR (content type
>incompatible with the content type of the basetype):
>In the definition of complexType essaiRestrict,
>elementOnly content model (<xs:c
>hoice maxOccurs="1" minOccurs="1">
>      <xs:choice maxOccurs="unbounded" minOccurs="1">
>          <xs:element maxOccurs="1" 
> minOccurs="1" name="art1" nillable="false"/>
>          <xs:element maxOccurs="1" 
> minOccurs="1" name="art2" nillable="false"/>
>      </xs:choice>
>      <xs:choice maxOccurs="1" minOccurs="1">
>          <xs:element maxOccurs="unbounded"
>minOccurs="1" name="s1" nillable="false"/>
>          <xs:element maxOccurs="unbounded"
>minOccurs="1" name="s2" nillable="false"/>
>      </xs:choice>
></xs:choice>
>) is not a restriction of elementOnly content
>model (<xs:choice maxOccurs="1" mi
>nOccurs="1">
>      <xs:choice maxOccurs="unbounded" minOccurs="0">
>          <xs:element maxOccurs="1" minOccurs="1" name="art1"/>
>          <xs:element maxOccurs="1" minOccurs="1" name="art2"/>
>      </xs:choice>
>      <xs:choice maxOccurs="1" minOccurs="0">
>          <xs:element maxOccurs="unbounded" minOccurs="1" name="s1"/>
>          <xs:element maxOccurs="unbounded" minOccurs="1" name="s2"/>
>      </xs:choice>
></xs:choice>
>), the content type defined by the basetype.
>
>
>Regards, Pierre



> 
> Your restricted type allows an art1 element followed by an s1 element. The
> base type doesn't allow this. It's invalid to define a restricted type that
> allows content that the base type doesn't permit.
> 
> Michael Kay
> http://www.saxonica.com/
>  
> 
> > -----Original Message-----
> > From: xmlschema-dev-request@w3.org 
> > [mailto:xmlschema-dev-request@w3.org] On Behalf Of Bruno Chatel
> > Sent: 13 July 2006 15:03
> > To: xmlschema-dev@w3c.org
> > Cc: Pierre Attar; Bruno Chatel
> > Subject: Resctriction problem on complexType
> > 
> > 
> > Hi,
> > 
> > I have an error wuth the following schema using a restriction 
> > of a complexType.
> > 
> > The schema is not valid using different tools (SQC, XSDValid, 
> > Xerces, XmlSpy)...
> > But the error messages are not really understandable.
> > 
> > The aim is ti defne a restricted type by setting minOccurs to 
> > 1 to included choices.
> > 
> > <?xml version="1.0" encoding="UTF-8"?>
> > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
> > elementFormDefault="qualified" attributeFormDefault="unqualified">
> >  <xs:complexType name="essai">
> >       <xs:choice>
> >            <xs:choice minOccurs="0" maxOccurs="unbounded">
> >                 <xs:element ref="art1"/>
> >                 <xs:element ref="art2"/>
> >            </xs:choice>
> >            <xs:choice minOccurs="0">
> >                 <xs:element ref="s1" maxOccurs="unbounded"/>
> >                 <xs:element ref="s2" maxOccurs="unbounded"/>
> >            </xs:choice>
> >       </xs:choice>
> >  </xs:complexType>
> > 
> >  <xs:complexType name="essaiRestrict">
> >       <xs:complexContent>
> >            <xs:restriction base="essai">
> >                 <xs:choice>
> >                      <xs:choice maxOccurs="unbounded">
> >                           <xs:element ref="art1"/>
> >                           <xs:element ref="art2"/>
> >                  </xs:choice>
> >                  <xs:choice>
> >                           <xs:element ref="s1" maxOccurs="unbounded"/>
> >                       <xs:element ref="s2" maxOccurs="unbounded"/>
> >                  </xs:choice>
> >              </xs:choice>
> >         </xs:restriction>
> >       </xs:complexContent>
> >  </xs:complexType>
> >  
> > <xs:element name="art1"/>
> >  <xs:element name="art2"/>
> >  <xs:element name="s1"/>
> >  <xs:element name="s2"/>
> >  
> > </xs:schema>
> > 
> > Can anybody explain the problem ?
> > 
> > Thanks in advance
> > 
> > --
> > Bruno Chatel
> > Tel : (+33) (0)4 96 11 14 57
> > bcha@chadocs.com
> > http://www.chadocs.com
> > --------------------------------------
> > 
> > 
> 
> 
> 
> 

Received on Thursday, 13 July 2006 15:57:17 UTC