- From: Michael Kay <mike@saxonica.com>
- Date: Mon, 29 Jun 2009 19:07:23 +0100
- To: "'Costello, Roger L.'" <costello@mitre.org>, <xmlschema-dev@w3.org>
Whether or not the attributes start-time and end-time can appear on the Beverage element is determined by the type definition of BeverageType (and its two alternatives), which you have not shown us. If they don't mention these attributes, then they can't appear. They are merely treated as if they appeared for the purpose of evaluating the alternative tests. We did consider a different approach where "inheritable" was another way of defining a default value for an attribute. But some felt that was a step too far. The current design is a bit of a compromise - it was motivated particularly by use cases involving xml:lang. Regards, Michael Kay http://www.saxonica.com/ http://twitter.com/michaelhkay > -----Original Message----- > From: xmlschema-dev-request@w3.org > [mailto:xmlschema-dev-request@w3.org] On Behalf Of Costello, Roger L. > Sent: 29 June 2009 18:46 > To: xmlschema-dev@w3.org > Subject: [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 18:08:01 UTC