This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 2311 - Point out the cases where attribute prohibitions are pointless
Summary: Point out the cases where attribute prohibitions are pointless
Status: RESOLVED FIXED
Alias: None
Product: XML Schema
Classification: Unclassified
Component: Structures: XSD Part 1 (show other bugs)
Version: unspecified
Hardware: All All
: P2 minor
Target Milestone: ---
Assignee: C. M. Sperberg-McQueen
QA Contact: XML Schema comments list
URL:
Whiteboard: clarification cluster
Keywords: resolved
Depends on:
Blocks: 5466
  Show dependency treegraph
 
Reported: 2005-09-28 12:45 UTC by Kasimier Buchcik
Modified: 2008-02-08 20:06 UTC (History)
0 users

See Also:


Attachments

Description Kasimier Buchcik 2005-09-28 12:45:04 UTC
AFAIK attribute prohibitions (use="prohibited") are only significant
when restricting a type; i.e. when they appear as children of <restriction>
and <complexType>.

Any other occurrences of such prohibitions should be pointless,
but there's no consensus between various schema processors.

An explicit statement about where prohibitions are pointless could
be of help here. Generating a warning when we hit such pointless
prohibitions would deminish confusion on the schema authors side.
Comment 1 C. M. Sperberg-McQueen 2008-02-04 16:17:21 UTC
In an effort to make better use of Bugzilla, we are going to use the
'severity' field to classify issues by perceived difficulty.  This 
bug is getting severity=minor to reflect the existing whiteboard note
'easy'. 
Comment 2 C. M. Sperberg-McQueen 2008-02-08 02:19:31 UTC
A wording proposal including changes for this issue went to the WG
on 7 February 2008:

  http://www.w3.org/XML/Group/2004/06/xmlschema-1/structures.consent.200801.html#composition

(member-only link).
Comment 3 C. M. Sperberg-McQueen 2008-02-08 20:06:50 UTC
The wording proposal adopted by the XML Schema Working Group today
changes the third Note in section 3.4.2 to read

    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 (§3.4.4) or Constraints on Complex Type
    Definition Schema Components (§3.4.6). &#8593;It is pointless, though
    not an error, for the use attribute to have the value prohibited
    in other contexts (e.g. in complex type extensions or named model
    group definitions), in which cases the <attribute> element is
    simply ignored, provided that it does not violate other
    constraints in this specification.&#8593;

The change consists of the addition of the sentence at the end:

    It is pointless, though not an error, for the use attribute to
    have the value prohibited in other contexts (e.g. in complex type
    extensions or named model group definitions), in which cases the
    <attribute> element is simply ignored, provided that it does not
    violate other constraints in this specification.

With this change, the WG believes we have resolved this issue fully
for XSD 1.1.

Accordingly, I am going to 

   - change the status of this issue (2311) to RESOLVED - FIXED
   - clone this issue to track the corresponding problem in 1.0
   - set the status of that new issue accordingly, and add Kasimier
     Buchcik to the CC list for the new issue, as the originator of 
     this issue

Herr Buchcik, you should I hope receive email notifying you of this
update to the bug report and thus of the WG's action on the issue.

Please let us know if you agree with this resolution of your issue, by
adding a comment to the issue record and changing the Status of the
issue to Closed. Or, if you do not agree with this resolution, please
add a comment explaining why. If you wish to appeal the WG's decision
to the Director, then also change the Status of the record to
Reopened. If you wish to record your dissent, but do not wish to
appeal the decision to the Director, then change the Status of the
record to Closed. If we do not hear from you in the next two weeks, we
will assume you agree with the WG decision.