why is it not possible to define a simple type as an extension in the range of values of another simple type (newbie question)

I'm quite new to xml schemas.
I do not really understand why if it is possible to define a simple type as
a restriction on the range of values of another simple type, like this for
instance:

  <xsd:simpleType name="type1">
    <xsd:restriction base="xsd:integer">
      <xsd:minInclusive value="0"/>
      <xsd:maxInclusive value="100"/>
    </xsd:restriction>
  </xsd:simpleType>




  <xsd:simpleType name="type2">
    <xsd:restriction base="type1">
      <xsd:minInclusive value="10"/>
      <xsd:maxInclusive value="20"/>
    </xsd:restriction>
  </xsd:simpleType>

the reciprocal operation of defining a simple type as an extension on the
range of values of  another simple type is an error (at least I get an error
with the apache parser):

  <xsd:simpleType name="type1">
    <xsd:restriction base="xsd:integer">
      <xsd:minInclusive value="0"/>
      <xsd:maxInclusive value="100"/>
    </xsd:restriction>
  </xsd:simpleType>




  <xsd:simpleType name="type2">
    <xsd:extension base="type1">
      <xsd:minInclusive value="-100"/>
      <xsd:maxInclusive value="200"/>
    </xsd:extension >
  </xsd:simpleType>

thanks a lot.

jorma k

Received on Monday, 14 July 2008 00:32:35 UTC