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

RE: [XML Schema 1.1] Multiple inheritable attributes with the same name ... who wins?

From: Michael Kay <mike@saxonica.com>
Date: Wed, 1 Jul 2009 17:48:34 +0100
To: "'Costello, Roger L.'" <costello@mitre.org>, <xmlschema-dev@w3.org>
Message-ID: <3DB4657FF0364EF281471AF1F46ACAC4@Sealion>
RE: [XML Schema 1.1] Multiple inheritable attributes with the same  name ... who wins?

It's the closest one, as you'd expect from the rules for attributes such as
xml:lang and xml:space (and the inherited attributes used by XSL-FO, for
example).

The rules are in 3.3.5.6 Inherited Attributes. To paraphrase, this says that

(a) all inheritable attributes of ancestors of an element E are "potentially
inherited" by E

(b) the actual [inherited attributes] are attributes that are potentially
inherited excluding any that are "masked" by an inner inherited attribute of
the same name.

Section 3.12.4 (rule 1.1.3) then says that in practice, the only [inherited
attributes] that are relevant are those that do not have the same name as
one of the element's "real" attributes.

One corner case to be aware of is

<a att="3">
  <b att="4">
    <c/>
  </b>
</a>

where element a defines att as an inherited attribute, while element b
defines att as a non-inherited attribute. In this case element c effectively
has the value <c att="3"/>.

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: 01 July 2009 17:25
> To: xmlschema-dev@w3.org
> Subject: RE: [XML Schema 1.1] Multiple inheritable attributes 
> with the same name ... who wins?
> 
>  
> Hi Folks,
> 
> If there are multiple inheritable attributes up an element's 
> ancestor chain - all with the same name - which one applies? Is it:
> 
>   - the closest one?
>   - the furthest one?
>   - an error?
> 
> /Roger
> 
> > -----Original Message-----
> > From: Costello, Roger L. 
> > Sent: Tuesday, June 30, 2009 9:56 AM
> > To: xmlschema-dev@w3.org
> > Subject: [XML Schema 1.1] Multiple inheritable attributes with the 
> > same name ... who wins?
> > 
> > 
> > Hi Folks,
> > 
> > Suppose a <Beverage> element has multiple ancestor elements with an 
> > inheritable attribute, start-time. The <Beverage> element has an 
> > <assert> or <alternative> element that references start-time. Which 
> > start-time applies?
> > 
> > Example: Suppose each start-time attribute is inheritable:
> > 
> > --------------------------------------
> > <Conference start-time="08:00:00">
> > 
> >     <Meeting start-time="13:00:00">
> >         
> >         <Beverage>Juice</Beverage>
> > 
> >     </Meeting>
> > 
> > </Conference>
> > --------------------------------------
> > 
> > Suppose <Beverage> has an <assert> element:
> > 
> >     <assert test="@start-time lt 12:00:00" />
> > 
> > If the <Meeting> element's start-time applies then the 
> instance data 
> > is invalid.
> > 
> > If the <Conference> element's start-time applies then the instance 
> > data is valid.
> > 
> > Which start-time applies?
> > 
> > /Roger
Received on Wednesday, 1 July 2009 16:49:15 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.