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 4517 - Why forbid value constraints on ID types?
Summary: Why forbid value constraints on ID types?
Status: CLOSED FIXED
Alias: None
Product: XML Schema
Classification: Unclassified
Component: Structures: XSD Part 1 (show other bugs)
Version: 1.1 only
Hardware: Macintosh All
: P2 normal
Target Milestone: ---
Assignee: C. M. Sperberg-McQueen
QA Contact: XML Schema comments list
URL:
Whiteboard:
Keywords: resolved
Depends on:
Blocks:
 
Reported: 2007-05-02 01:52 UTC by C. M. Sperberg-McQueen
Modified: 2008-03-08 15:47 UTC (History)
0 users

See Also:


Attachments

Description C. M. Sperberg-McQueen 2007-05-02 01:52:34 UTC
Clause 3 of Schema Component Constraint: Attribute Declaration 
Properties Correct reads:

    3 If the {type definition} is or is constructed from ID, 
      then there is no {value constraint}.

Similarly, clause 5 of Schema Component Constraint: Element Declaration 
Properties Correct reads: 

    5 If the {type definition} or {type definition}'s 
      {content type}'s {simple type definition} is or is 
      constructed from ID, then there is no {value constraint}.

These are, I think, holdovers from the past: they reconstruct constraints
originally formulated for SGML DTDs and carried over for compatibility
reasons to XML 1.0 and 1.1 DTDs.  But they violate the principle of
orthogonality: why should value constraints be allowed for some types
but forbidden for others?

The spec becomes simpler and the design cleaner if these ad hoc
rules are dropped.  The WG's decision on bug 4348 reflects the view
that compatibility with the ID-related constraints of SGML and
XML DTDs no longer needs to be a high-priority goal.  I believe we
should remove these unhelpful constraints.
Comment 1 Sandy Gao 2007-06-01 15:58:55 UTC
Discussed at 2005-06-01 telecon. The WG adopted the suggested change.
Comment 2 C. M. Sperberg-McQueen 2007-06-18 14:15:59 UTC
The proposal adopted by the Working Group has now been integrated into
the status quo documents on the server; accordingly, I'm changing the
status to 'RESOLVED'.