![]() |
![]() | ![]() | ![]() | Altova Mailing List Archives>Archive Index >xmlschema-dev Archive Home >Recent entries >Thread Prev - Re: Duplicate attribute uses (Xerces bug?) >Thread Next - Re: Duplicate attribute uses (Xerces bug?) Re: Duplicate attribute uses (Xerces bug?)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 | ![]() | ![]() | ![]() |
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | |||||
|
