I have the following schema

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"; >
   <xsd:element name="root">
      <xsd:complexType>
         <xsd:sequence minOccurs="1">
            <xsd:element ref="myAbstract"/>
         </xsd:sequence>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name="myAbstract" type="AAA" abstract="true"/>
   <xsd:simpleType name="AAA">
      <xsd:restriction base="xsd:integer">
         <xsd:minInclusive value="1"/>
         <xsd:maxInclusive value="9"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:element name="odd" substitutionGroup="myAbstract">
      <xsd:simpleType>
         <xsd:restriction base="AAA">
            <xsd:enumeration value="1"/>
            <xsd:enumeration value="3"/>
            <xsd:enumeration value="5"/>
            <xsd:enumeration value="7"/>
            <xsd:enumeration value="9"/>
         </xsd:restriction>
      </xsd:simpleType>
   </xsd:element>
<xsd:element name="evenAbstract" substitutionGroup="myAbstract" abstract="true"/>
      <xsd:element name="even" substitutionGroup="evenAbstract">
         <xsd:simpleType>
            <xsd:restriction base="AAA">
               <xsd:enumeration value="2"/>
               <xsd:enumeration value="4"/>
               <xsd:enumeration value="6"/>
               <xsd:enumeration value="8"/>
            </xsd:restriction>
         </xsd:simpleType>
      </xsd:element>
   </xsd:schema>

So in this schema element myAbstract is substituted by element odd or by the abstract element evenAbstract.
Element evenAbstract  is susbstituted by element even.

When I ask the xsModel for the substitution groups of myAbstract I get:
odd
evenAbstract
even

When I ask the xsModel for the substitution groups of evenAbstract I get:
even

I did not expect "even" in the susbstition list for myAbstract. I know that in fact it is true that you susbtitute "even" for myAbstract but with this kind of motivation you could also list "odd" as subsitution for evenAbstract.

So is this right behaviour?

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to