Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: Duplicate attribute uses (Xerces bug?)

From: Kasimier Buchcik <kbuchcik@---------.-->
To: George Cristian Bina <george@----.-->
Date: 9/12/2005 6:01:00 PM
Hi,

On Mon, 2005-09-12 at 16:29 +0300, George Cristian Bina wrote:
> 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 =B7resolved=B7 to by the 
> =B7actual value=B7s of the ref [attribute] of the <attributeGroup> 
> [children], if any.
> 3 The {attribute uses} of the type definition =B7resolved=B7 to by the 
> =B7actual value=B7 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 =B7actual value=B7 of the use [attribute] of the releva=
nt 
> <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.

Yes, you are right; I see no benefit, although I would tend to generate
a warning instead of an error.

I reported XSV output incorrectly. Stylus Studio gave
me a: "Success - no validation error or warning conditions found."
But this was related to the validation of the instance. The exact
XSV output reads:

<schemaError char="5" line="14" phase="instance"             
   resource="file:///p:/libxml2-lab/tests/2005-09-12/attr.xsd">
   attempt to redeclare attribute {None}:boo, ignored</schemaError>

I see no rule for this as well, since we have:

"Note: The only substantive function of the value prohibited for the use
attribute of an <attribute> is in establishing the correspondence
between a complex type defined by restriction and its XML
representation. It serves to prevent inheritance of an identically named
attribute use from the {base type definition}. Such an <attribute> does
not correspond to any component, and hence there is no interaction with
either explicit or inherited wildcards in the operation of Complex Type
Definition Validation Rules (=A73.4.4) or Constraints on Complex Type
Definition Schema Components (=A73.4.6)."
 
It talks about inheritance if using the XML representation, not about
prohibitions interfering with an attribute declaration in the same
type component.

At the component level, we still have the derivation-ok-restriction 2
[1] constraint to check if both declarations are OK for the restriction.

So is a prohibition meant to say: "don't inherit it from the base type
and don't allow it on the current type"?

Hmm, after trying the following with XSV:

<xsd:complexType name="type-2">
	<xsd:attribute name="boo" use="prohibited"/>
	<xsd:attribute name="boo" use="prohibited"/>
</xsd:complexType>

for which I get the same schema error:

"attempt to redeclare attribute {None}:boo, ignored"

... it feels like XSV does not even check if this is a prohibition
or not. So I cannot use XSV as a reference here.

[1] http://www.w3.org/TR/xmlschema-1/#derivation-ok-restriction

Regards,

Kasimier

From K.Buchcik@4... Mon Sep 12 14:45:14 2005
Received: from maggie.w3.org ([193.51.208.68])
	by frink.w3.org with esmtp (Exim 4.5


transparent
Print
Mail
Digg
delicious
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent