RE: Motivations for restricting the "all" group

There are a number of "restrictions" in the xs:all facility, if by
"restriction" you mean a facility that could have been added to the language
but wasn't. The most obvious ones are:

(a) maxOccurs is limited to the values 0 or 1

(b) the xs:all compositor cannot be combined with the sequence and choice
compositors

As a matter of historical research, it's always very difficult to give a
reliable answer to the question "why did the WG decide X?". The minutes will
usually only record the decision, and if you're lucky a very terse summary
of some of the points that were made - it won't tell you why particular
people voted in particular ways. It can be hard to know why a decision went
a particular way even if you were at the meeting. However, this decision
reflects a general tendency found in the working group to be cautious about
offering features in the language that might prove (i) difficult to
implement and (ii) useful to only a small number of users, while at the same
time designing the syntax of the language so that it could easily be
extended to remove the restrictions in a later release.

Note that restriction (a) has been removed in XSD 1.1, restriction (b) has
not.

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay 


> -----Original Message-----
> From: xmlschema-dev-request@w3.org 
> [mailto:xmlschema-dev-request@w3.org] On Behalf Of Dag Hovland
> Sent: 28 May 2009 07:53
> To: xmlschema-dev@w3.org
> Subject: Motivations for restricting the "all" group
> 
> I have been trying to do some research into regular 
> expressions and the "all" group used in XML Schema, as mentioned in
> 
> http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/
> 
> It is clear that "all" is in some sense restricted, since it 
> can only combine elements, and must appear at top level. My 
> question is, what was the original inspiration for "all", 
> what is the "unrestricted" form of "all", and why was it 
> originally restricted, in the design of XML Schema?
> 
> Some academic authors claim that "all" is a restricted form 
> of "interleaving", a known operator in regular language 
> theory, for which the membership problem is NP-complete. But 
> this is not clear to me, as interleaving means that the words 
> are shuffled in a way that does not seem to make sense for 
> natural languages. I believe that the "&" from SGML is a more 
> natural extensions, but I cannot find any reference to the 
> original motivation, or to the reasons for limiting "all".
> 
> Thank you for any help,
> 
> Dag Hovland
> 

Received on Thursday, 28 May 2009 08:14:49 UTC