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

[XML Schema 1.1] A little confused about inheritable attributes

From: Costello, Roger L. <costello@mitre.org>
Date: Mon, 29 Jun 2009 13:46:10 -0400
To: "xmlschema-dev@w3.org" <xmlschema-dev@w3.org>
Message-ID: <9E51F88D5247B648908850C35A3BBB500400458C2E@IMCMBX3.MITRE.ORG>
[XML Schema 1.1] A little confused about inheritable attributes

Hi Folks,

I know that by declaring an attribute to be inheritable, nested elements can use the attribute in their <assert> and <alternative> elements.

But suppose an attribute is declared to be both inheritable and required (use="required"). Does that mean nested elements must display that attribute in instance documents?

For example, <Meeting> has two required, inheritable attributes:

<element name="Meeting">
    <complexType>
        <sequence>
            <element name="Beverage" type="b:BeverageType">
               <alternative test="@end-time le '12:00:00'" type="b:MorningBeverage" />
               <alternative test="@end-time gt '12:00:00'" type="b:AfternoonBeverage" />
            </xs:element>
        </sequence>
        <attribute name="start-time" type="xs:time" use="required" inheritable="true" />
        <attribute name="end-time" type="xs:time" use="required" inheritable="true" />
    </complexType>
</element>

In an instance document must the <Beverage> element have the two inherited attributes:

<Meeting start-time="___" end-time="___">

    <Beverage start-time="___" end-time="___">
        ...
    </Beverage>

</Meeting>



/Roger
Received on Monday, 29 June 2009 17:46:45 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.