- From: C. M. Sperberg-McQueen <cmsmcq@acm.org>
- Date: Thu, 05 Oct 2000 18:54:16 -0600
- To: "Curt Arnold" <carnold@houston.rr.com>, Jane Hunter <jane@dstc.edu.au>
- Cc: W3C XML Schema Comments list <www-xml-schema-comments@w3.org>
Dear Curt Arnold and Jane Hunter:
The W3C XML Schema Working Group has spent the last several months
working through the comments received from the public on the last-call
draft of the XML Schema specification. We thank you for the comments
you made on our specification during our last-call comment period, and
want to make sure you know that all comments received during the
last-call comment period have been recorded in our last-call issues
list (http://www.w3.org/2000/05/12-xmlschema-lcissues).
Among other issues, the two of you independently raised the point
registered as issue LC-49, which suggests that the mechanisms for
restriction of content models be changed or more fully documented.
There is a great deal of sympathy in the WG for the view that it would
be nice to have a simpler mechanism. Unfortunately, the mechanisms
which do seem simpler also seem, in the view of the WG, to involve
unacceptable tradeoffs. The solution space in this area appears to
have three main regions:
- We could provide a method of pointing just at that bit of the base
type's content model which is to be changed, so that a derived
type can specify only what changes from the base type. This
involves a pointing mechanism which (in all the proposals we
have seen or considered) is potentially confusing and error prone,
and destroys the locality of the declaration: there is no chance
of understanding the derived type without reference to the base
type; a series of such derivation steps is likely to be extremely
confusing and error prone. So on balance it seemed better to
provide that the declaration for the derived type fully express the
legal content model for elements of that type.
We could specify that the derived type provide a content model
which is checked in parallel to that of the base type, with the
provision that instances of the derived type must satisfy both
content models (i.e. the effective content model of the derived
type is the intersection of its ostensible content model and the
content model of its parent); this is similar to the effect of
multiple derivation steps for simple types, each using the pattern
facet. While there was some sympathy for this approach in the WG
(I voted for it, myself), the lack of locality and the resulting
need to consult the entire series of ancestor types in order to
understand the effective content model of a derived type seemed a
serious flaw to the WG. Another way to put it is this: when the
content model for the derived type seems to allow any mixture of p
and q elements, it is likely to be confusing to the user of a
schema (and possibly to the schema author) if owing to some
ancestor type actually no q elements are allowed. There was also
some concern about the potential implementation cost of actually
calculating the intersections among the languages generated by the
various content models (in the worst case, for large content
models, this can become rather expensive); this was of minor
importance to some WG members, but of fairly major importance to
others.
- We could specify (as we did) that the derived type must provide a
content model fully expressing the legal set of instances of that
type. Here, the majority of the WG was concerned about the
implications of allowing any legal formulation of that set and
thus requiring the schema processor to incur a high worst-case
cost in checking to see that the language generated by the content
model of the derived type was a subset of the language generated
by the ancestor type's content model. The WG was unwilling to
relax the rule that says the schema processor must check to ensure
that restricted types are true restrictions of the base type; in
order to help keep the cost of checking down, we imposed instead
the rules that say, in effect, that the content model of the
derived type must be isomorphic to that of the base type. We are
aware that the restrictions imposed do not make the easiest of
reading; we hope, however, that in the light of the design issues
just outlined you will find them clearer than on first reading.
It would be helpful to us to know whether you are satisfied with the
decision taken by the WG on this issue, or wish your dissent from the
WG's decision to be recorded for consideration by the Director of
the W3C.
best regards,
-C. M. Sperberg-McQueen
World Wide Web Consortium
Co-chair, W3C XML Schema WG
Received on Thursday, 5 October 2000 15:25:28 UTC