[XMLSCHEMA-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

[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>
[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 GMT

Subscribe to the Stylus Scoop newsletter for helpful XML tips and tutorials.
Email
First Name
Last Name
Company

Download Stylus Studio 6 XML Enterprise Edition

Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2007 All Rights Reserved.