- From: George Cristian Bina <george@oxygenxml.com>
- Date: Thu, 12 Apr 2007 12:49:45 +0300
- To: nandanprasad <pola_nandana@emc.com>
- Cc: xmlschema-dev@w3.org
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