W3C home > Mailing lists > Public > xmlschema-dev@w3.org > September 2005

Re: Duplicate attribute uses (Xerces bug?)

From: George Cristian Bina <george@sync.ro>
Date: Mon, 12 Sep 2005 16:29:21 +0300
Message-ID: <432582B1.4000301@sync.ro>
To: kbuchcik@4commerce.de
Cc: XML-SCHEMA <xmlschema-dev@w3.org>

Hmm, I think you are right... According with the spec the {attribute 
uses} will be

{attribute uses}	A union of sets of attribute uses as follows:
1 The set of attribute uses corresponding to the <attribute> [children], 
if any.
2 The {attribute uses} of the attribute groups ·resolved· to by the 
·actual value·s of the ref [attribute] of the <attributeGroup> 
[children], if any.
3 The {attribute uses} of the type definition ·resolved· to by the 
·actual value· of the base [attribute], unless the <restriction> 
alternative is chosen, in which case some members of that type 
definition's {attribute uses} may not be included, namely those whose 
{attribute declaration}'s {name} and {target namespace} are the same as 
one of the following:
3.1 The {name} and {target namespace} of the {attribute declaration} of 
an attribute use in the set per clause 1 or clause 2 above;
3.2 what would have been the {name} and {target namespace} of the 
{attribute declaration} of an attribute use in the set per clause 1 
above but for the ·actual value· of the use [attribute] of the relevant 
<attribute> among the [children] of <restriction> being prohibited.

a set consisting of one attribute use corresponding to

<xsd:attribute name="boo"/>

from the "type" complex type.

Now, the error reported by Xerces is wrong but do you see a benefit of 
allowing this? IMO a duplicate attribute element should be an error.

Best Regards,
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger

Kasimier Buchcik wrote:
> On Mon, 2005-09-12 at 15:00 +0300, George Cristian Bina wrote:
>>See http://www.w3.org/TR/xmlschema-1/#ct-props-correct
>>4 Two distinct attribute declarations in the {attribute uses} must not 
>>have identical {name}s and {target namespace}s.
> Yes, but in
> http://www.w3.org/TR/xmlschema-1/#Attribute_Declaration_details
> we have
> "if the <attribute> element information item has <complexType> or
> <attributeGroup> as an ancestor and the ref [attribute] is absent, it
> corresponds to an attribute use with properties as follows (unless
> use='prohibited', in which case the item corresponds to nothing at
> all):"
> Prohibiting an attribute use does not create an attribute use, thus
> we don't have duplicate attribute uses at the component level here.
> But I'm not sure if it was intended to rule out duplicates at the
> XML representation level as well.
> Regards,
> Kasimier
Received on Monday, 12 September 2005 13:22:49 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 23:15:30 UTC