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 2506 - Relaxing constraints on <all> model groups
Summary: Relaxing constraints on <all> model groups
Status: CLOSED LATER
Alias: None
Product: XML Schema
Classification: Unclassified
Component: Structures: XSD Part 1 (show other bugs)
Version: 1.1 only
Hardware: All All
: P3 normal
Target Milestone: ---
Assignee: C. M. Sperberg-McQueen
QA Contact: XML Schema comments list
URL: http://lists.w3.org/Archives/Member/w...
Whiteboard: important, hard
Keywords: resolved
Depends on:
Blocks:
 
Reported: 2005-11-11 02:52 UTC by Sandy Gao
Modified: 2007-04-13 13:15 UTC (History)
0 users

See Also:


Attachments

Description Sandy Gao 2005-11-11 02:52:44 UTC
There are 2 messages on the comments list requesting more powerful xs:all 
[1][2]. There is another comment on xs:all [3] complaining about our 
limitations on xs:all.

Basically the 2 messages are asking for 3 enhancements:
1. Allow maxOccurs>1 on elements inside <xs:all>
1.1 And require that same named elements in the instance have to be 
together (no interleaving). That is, A,A,B,B,B, instead of A,B,B,A.
2. Allow <xs:all> to appear inside <xs:sequence> and <xs:choice>
3. Allow xs:all extensions, to add new elements into all model groups.

[1]
http://lists.w3.org/Archives/Public/www-xml-schema-comments/2005JanMar/0038.html
[2]
http://lists.w3.org/Archives/Public/www-xml-schema-comments/2005JanMar/0043.html
[3]
http://lists.w3.org/Archives/Public/www-xml-schema-comments/2005JanMar/0010.html
Comment 1 C. M. Sperberg-McQueen 2006-08-01 00:10:03 UTC
The WG reached partial agreement on this in March 2006, adopting
a proposal to allow maxOccurs > 1 and allow wildcards in all-groups.
Other aspects of the proposal were not decided.

A wording proposal reflecting the partial consensus reached
in March was submitted to the WG in July 2006 and approved
on July 21; it is reflected in the (member-only) status quo
drafts.

The remainder of this bug remains in status 'needsAgreement'.
Comment 2 Mary Holstege 2007-03-09 17:38:34 UTC
Part of this comment has been accepted by the WG, and implemented.
The rest has been postponed on the grounds that it is too much work for now.
Comment 3 Noah Mendelsohn 2007-04-12 19:21:54 UTC
This note, sent to the original commentators, captures the workgroup's intentions for resolving this issue.

noah_mendelsohn@us.ibm.com 
20/03/2007 20:44 	
	
	To
	Steve Hanson/UK/IBM@IBMGB, Robert Nielsen <robertnielsen@nc.rr.com> 
	cc
	www-xml-schema-comments@w3.org 
	Subject
	[Bug 2506] XML Schema Support for <all> groups
	
	
	
	
	



Gentlemen,

In 2005, both of you sent comments  [1,2]  requesting ehancements to the 
support of <all> groups in the W3C XML Schema Language.  To track work on 
the concerns you raised, the workgroup opened an "issue", which is number 
2506 in our Bugzilla tracking system [3].  The purpose of this note is to 
inform you of our intentions for changes to support for <all> groups in 
XML Schema version 1.1, and to alert you to our intended disposition of 
this issue.

As summarized in the Bugzilla formulation, several functional improvements 
were requested.   Here is what is proposed for those in XML Schema 1.1:

> 1. Allow maxOccurs>1 on elements inside <xs:all>

This will be provided.  maxOccurs>1 will be allowed on <xs:all> groups.

> 1.1 And require that same named elements in the instance have to be 
> together (no interleaving). That is, A,A,B,B,B, instead of A,B,B,A.

This was discussed extensively, and the workgroup could not reach 
consensus that the additional complexity in the specifications, in 
implementations, in testing, and so on was justified by the added utility 
of providing both options.  Accordingly, the validation rules when 
maxOccurs>1 are what is described above as "interleaving".  If we have 
a(maxOccurs=2) and b(maxOccurs=3) then both of the above are valid.

> 2. Allow <xs:all> to appear inside <xs:sequence> and <xs:choice>

This was deemed sufficiently complicated to implement that the function is 
not being provided in XML Schema 1.1

> 3. Allow xs:all extensions, to add new elements into all model groups.

This is supported in XML Schema 1.1.  When extension of an <all> group is 
used an an XML Schema document, then only the "new" elements must be 
explicitly identified on the specification of the derived type.  Others 
are inherited from the base. 

Although not explicitly requested in your notes, and not tracked under the 
same bugzilla bug number, Schema 1.1 also includes significant 
enhancements to the treatment of complex type restriction.  In general, in 
Schema 1.1, a content model is a legal refinement of its base if every 
sequence of elements accepted by the derived model is also valid per the 
base (that's a bit of a simplification, but sufficient I think for 
purposes of this note.)  A consequence of this is that restrictions of 
<all> groups are now supported.  Indeed,  it's possible for <all> groups 
to restrict other groups such as sequences and vice versa. (e.g. the 
sequence {a,b} is a valid restriction of the all group all(a,b).

The workgroup leaves open the possibility that some of the functions that 
you requested that are not supported in Schema 1.1 might be supported in 
some future release.

We would be very grateful if you would send a note to the XML Schema 
Comments mailing list (www-xml-schema-comments@w3.org) confirming that 
these dispositions of your comments are acceptable to you, or if not, 
explaining any remaining concerns.  Thank you very much.

Noah Mendelsohn
for the W3C XML Schema Workgroup

[1] 
http://lists.w3.org/Archives/Public/www-xml-schema-comments/2005JanMar/0038.html

[2] 
http://lists.w3.org/Archives/Public/www-xml-schema-comments/2005JanMar/0043.html

[3] http://www.w3.org/Bugs/Public/show_bug.cgi?id=2506

--------------------------------------
Noah Mendelsohn 
IBM Corporation
One Rogers Street
Cambridge, MA 02142
1-617-693-4036
--------------------------------------