- From: <Noah_Mendelsohn@lotus.com>
- Date: Fri, 9 Nov 2001 13:12:33 -0500
- To: "Dave Carlson" <dcarlson@ontogenics.com>
- Cc: jeni@jenitennison.com, mfeblowitz@frictionless.com, xmlschema-dev@w3.org
Ignoring the question of extension, but focussing on the other restrictions, here's the history. The workgroup was originally reluctant to do "All" at all (pun intended). Reasons: history of complexity in the SGML & connector, and a concern that most existing parsers use DFA's, for which there is a combinatorial explosion when modelling All. So All(A,B,C) becomes (A , B, C) | (A, C, B) | (B, A, C), etc. On the other hand, some of us felt that there are important use cases in which a simple order independent model is useful, particularly in the data world. "I need these 3 fields, I don't care how you give them to me". By restricting All to the top level of a content model, we allow a useful level of function, that can be implemented using techniques with size/time overhead that is not unduly burdensome (bitmaps, hashtables, etc.) Later, we made a decision to allow minOccurs="0", which by the way gives All groups of elements about the same expressive power that one has always had for attributes: they can occur at most once, in any order, and any or all can be required. Having an ability to express for elements at least what you can do for attributes seems like a good goal to me. Anyway, for better or worse, that's my recollection of how it came to be this way. There are lots of types of extension that one might want in some future version of schema. Allowing additions to All groups is one, but there are others. Just to avoid complicating an already overly large specification, we decided to tackle extension initially only for sequences, which models certain forms of OO single inheritance moderately well. Since All groups aren't sequences, and since we wanted to allow implementations in which the All group handling was separate from other content model handling, extensions of All groups aren't allowed for now. ------------------------------------------------------------------------ Noah Mendelsohn Voice: 1-617-693-4036 Lotus Development Corp. Fax: 1-617-693-8676 One Rogers Street Cambridge, MA 02142 ------------------------------------------------------------------------
Received on Friday, 9 November 2001 13:23:36 UTC