Extnsions for extended complexTypes

I have some problems with understanding "3.4.6 Constraints on Complex Type Definition Schema Component"[1].
My reading is that if the complexType "A1" is an extension of complexType "A0" then complexType "A2" cannot be
an extension of complexType "A1" - only restricted complex type would be valid.

Is it correct interpretation?

Invalid schema:

<schema>
    <complexType name="A0">
        <sequence>
            <element name="a0" type="string"/>
        </sequence>
    </complexType>
    <complexType name="A1">
        <extension base="A0">
            <sequence>
                <element name="a1" type="string"/>
            </sequence>
        </extension>
    </complexType>
    <complexType name="A2">
        <extension base="A1">
            <sequence>
                <element name="a2" type="string"/>
            </sequence>
        </extension>
    </complexType>
    <element name="test" type="A2"/>
</schema>

If it is can someone explain why such a restriction on schema validity has been set.

Thanks for the help,
Michael

[1] http://www.w3.org/TR/xmlschema-1/#coss-ct

Received on Wednesday, 30 May 2001 15:30:02 UTC