[XML Schema 1.1] Do subtypes inherit the openness of its parent type? Does a parent type inherit the openness of its subtype?

Hi Folks,

Consider this type, which is defined to have open content:

    <complexType name="Publication" abstract="true">
        <openContent mode="interleave">
            <any />
        </openContent>
        <sequence>
            <element name="Title" type="string" />
            <element name="Author" type="string" />
            <element name="Date" type="gYear"/>
        </sequence>
    </complexType>

Here's a subtype that extends the Publication type:

    <complexType name="BookPublication">
        <complexContent>
            <extension base="pub:Publication">
                <sequence>
                    <element name="ISBN" type="string"/>
                    <element name="Publisher" type="string"/>
                </sequence>
            </extension>
        </complexContent>
    </complexType>

Does the subtype inherit the openness of the base type? That is, can extension elements be inserted before and after the ISBN and Publisher elements?


Conversely, suppose the subtype is open:

    <complexType name="BookPublication">
        <complexContent>
            <extension base="pub:Publication">
                <openContent mode="interleave">
                    <any />
                </openContent>
                <sequence>
                    <element name="ISBN" type="string"/>
                    <element name="Publisher" type="string"/>
                </sequence>
            </extension>
        </complexContent>
    </complexType>

And the base type is not open:

    <complexType name="Publication" abstract="true">
        <sequence>
            <element name="Title" type="string" />
            <element name="Author" type="string" />
            <element name="Date" type="gYear"/>
        </sequence>
    </complexType>

Does the base type inherit the openness of the subtype? That is, can extension elements be inserted before and after Title, Author, and Date?

/Roger

Received on Friday, 5 June 2009 13:08:35 UTC