Re: xml validation error

Hi Nandan,

Point 5.2 from 
http://www.w3.org/TR/xmlschema-1/#derivation-ok-restriction to which the 
error message refers tells you that basically the derived simple type is 
not a valid simple type derivation from the simple type of the base 
content type, that is your simple type

<xs:simpleType>
   <xs:union>
     <xs:simpleType>
       <xs:restriction base="xs:unsignedShort">
         <xs:enumeration value="0"/>
         <xs:enumeration value="5"/>
         <xs:enumeration value="10"/>
         <xs:enumeration value="15"/>
         <xs:enumeration value="20"/>
         <xs:enumeration value="25"/>
         <xs:enumeration value="30"/>
       </xs:restriction>
     </xs:simpleType>
     <xs:simpleType>
       <xs:restriction base="xs:unsignedShort">
         <xs:minInclusive value="31"/>
       </xs:restriction>
     </xs:simpleType>
   </xs:union>
</xs:simpleType>

is not a restriction of xs:unsignedShort.

If you look at
http://www.w3.org/TR/xmlschema-1/#cos-st-derived-ok

you see in 2.2.3 that if your derived type is a union as in your case 
then you can derive that only from anySimpleType.

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


nandanprasad wrote:
> 
> hi, 
> 
> while creating the below part of the xsd, I'm getting errors: 
> 
> <xs:element name="HealthState"> 
> <xs:complexType> 
> <xs:simpleContent> 
> <xs:restriction base="cim:cimUnsignedShort"> 
> <xs:simpleType> 
> <xs:union> 
> <xs:simpleType> 
> <xs:restriction base="xs:unsignedShort"> 
> <xs:enumeration value="0"/> 
> <xs:enumeration value="5"/> 
> <xs:enumeration value="10"/> 
> <xs:enumeration value="15"/> 
> <xs:enumeration value="20"/> 
> <xs:enumeration value="25"/> 
> <xs:enumeration value="30"/> 
> </xs:restriction> 
> </xs:simpleType> 
> <xs:simpleType> 
> <xs:restriction base="xs:unsignedShort"> 
> <xs:minInclusive value="31"/> 
> </xs:restriction> 
> </xs:simpleType> 
> </xs:union> 
> </xs:simpleType> 
> </xs:restriction> 
> </xs:simpleContent> 
> </xs:complexType> 
> </xs:element> 
> 
> where, the definition for cim:cimUnsignedShort is as follows in another
> xsd.: 
> 
> <xs:complexType name="cimUnsignedShort"> 
> <xs:simpleContent> 
> <xs:extension base="xs:unsignedShort"> 
> <xs:anyAttribute namespace="##any" processContents="lax"/> 
> </xs:extension> 
> </xs:simpleContent> 
> </xs:complexType> 
> 
> Im getting the following error while validating: 
> 
> Type '{anonymous}' is not a valid restriction of type
> 'cim:cimUnsignedShort'. 
> Error location: xs:schema / xs:element / xs:complexType / xs:simpleContent /
> xs:restriction / @base 
> derivation-ok-restriction.5.2: The simple type definition '{anonymous}' is
> not a valid restriction of the base type definition's content type
> 'xs:unsignedShort'. 
> 
> Please help me understand the problem. 
> 
> thanks in advance. 
> 
> Nandan.

Received on Thursday, 12 April 2007 09:51:38 UTC