W3C home > Mailing lists > Public > xmlschema-dev@w3.org > June 2009

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

From: Costello, Roger L. <costello@mitre.org>
Date: Fri, 5 Jun 2009 09:08:00 -0400
To: "'xmlschema-dev@w3.org'" <xmlschema-dev@w3.org>
Message-ID: <9E51F88D5247B648908850C35A3BBB5003FD40C19E@IMCMBX3.MITRE.ORG>

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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 11 January 2011 00:15:12 GMT