- 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