Re: restriction against base type (choice - elt)

Hi Bharath,

It looks valid to me because the head from the base is treated as a 
choice of head, m1 and m2, see

http://www.w3.org/TR/xmlschema-1/#cos-particle-restrict

2.1 Any top-level element declaration particle (in R or B) which is the 
{substitution group affiliation} of one or more other element 
declarations and whose ·substitution group· contains at least one 
element declaration other than itself is treated as if it were a choice 
group whose {min occurs} and {max occurs} are those of the particle, and 
whose {particles} consists of one particle with {min occurs} and {max 
occurs} of 1 for each of the declarations in its ·substitution group·.

Best Regards,
George
-- 
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com

Bharath Kumar Reddy T wrote:
> Hi..
>  
> According to specification the following schema is invalid since 
> according to the table in
> http://www.w3.org/TR/xmlschema-1/#cos-particle-restrict 
> it is given that the case "choice (Derived particle) to element(Base 
> Particle) is Forbidden"
>  
>  
>  
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
>  
> <xs:element name="head"/>
> <xs:element name="m1" substitutionGroup="head"/>
> <xs:element name="m2" substitutionGroup="head"/>
>  
> <xs:complexType name="base">
>  <xs:sequence>
>   <xs:element ref="head"/>
>  </xs:sequence>
> </xs:complexType>
>  
> <xs:complexType name="derived">
>  <xs:complexContent>
>   <xs:restriction base="base">
>    <xs:sequence>
>           <xs:choice>
>              <xs:element ref="m1"/>
>              <xs:element ref="m2"/>
>           </xs:choice>
>    </xs:sequence>
>   </xs:restriction>
>  </xs:complexContent>
> </xs:complexType>
>  
> </xs:schema>
>  
> Can anybody please tell me whether the above schema is valid or invalid 
> against the schema spec.
>  
> Thanks and Regards,
> Bharath.
>  

Received on Tuesday, 27 January 2009 07:05:28 UTC