LC-178 clarify!

Dear Murray:

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, you raised the point registered as issue LC-178,
which suggests that the WG work to simplify the prose of the
specification, to remove some of the abstraction, provide a glossary,
add short examples, and simplify some features of the spec.

(In passing, I should note that I am a little puzzled by some of what
you say in the passage of your review quoted under this issue number
in the issues list.  The normative text of ISO 8879 has no examples at
all -- there are examples in the non-normative appendices, but none at
all, and no cross-references either, in the body of the document.  I
agree with you fervently that having lots of short examples is a big
help -- but I learned that fact by the years it took me to learn
ISO 8879.)

The WG has considered at some length this issue and others which
similarly suggest ways to simplify the specification and render it
more readable.  The problem is not susceptible to a simple solution,
nor your proposals and those of other commentators to a simple yes/no
answer.  We have made some editorial changes, and are exploring more,
and hope to use the candidate recommendation period to continue
improving the expository prose in the spec.  We are experimenting with
changing the display of information about XML schema components and
about the mapping from the transfer syntax into the abstract
components.  We are exploring the possibility of changing the sequence
of exposition so that the concrete transfer syntax would be introduced
first, then the abstract components; we are also experimenting with a
reorganization of the structures spec which would treat both the
abstract level and the transfer-syntax of each component in a single
section (effectively merging what are now chapters 3 and 4).  And --
this is not quite what you asked for, but it's related -- a task force
is now engaged in preparing a fully formal treatment of XML Schema in
a logical notation, which may make it possible for some of the prose
to become simpler and less excruciatingly precise.

We have decided to move forward with a request for publication as a
candidate recommendation in part because publication as a CR is a
useful signal to implementors that the spec is stable enough to
implement, and it is the deep conviction of at least some in the WG
(myself included) that having implementations around to allow one
to try things out and see whether they work will contribute far more
to the accessibility of XML Schema than would any amount of further
editorial reworking.

Regarding your other suggestion, the WG has not been able to see its
way clear to eliminating the abstract level of schema description
which has clearly caused a fair amount of trouble to you and some
other readers, nor to removing all of the functionality you recommend
(as have some others) be saved for a later version of XML Schema.

The abstract component level of description is important to a large
proportion of the WG because it helps us avoid the trap into which
SGML and XML have occasionally fallen.  In XML, an element, formally,
is nothing but a string of characters which satisfies a particular
grammar.  There is no explicit notion in the XML spec of the tree
structure which many feel is crucial to the appeal of SGML and XML,
and it is possible to argue with a straight face that if one uses a
DOM interface to build a document in memory, that document is not XML
-- not because it's not a legal tree structure, or because it doesn't
meet the validity constraints of a given DTD, but because it doesn't
have angle brackets in it.  This phenomenon is troubling enough that
the XML Schema WG is determined to avoid falling into a similar trap.
By defining the abstract layer explicitly, and defining conformance in
terms of it, we make explicit the fact that the essential
characteristics of a schema, and of validation, are not tied to a
particular physical or logical representation, and that a schema may
be hard-coded into a piece of software (e.g. into a set of Java
classes or into a yacc-generated parser) without for that reason
ceasing to be, in the salient sense of the word, a schema.  This does
mean that conformance to the XML Schema may take somewhat more various
forms than, say, conformance to ISO 8879.  But it also means that
conformance is now described at what seems to the WG a more useful
level of abstraction.

As to the functionality, there is not much I can say.  The WG did have
a small and (for a while) vocal minority urging it to issue a version
1.0 of XML Schema with less functionality.  ("DTDs plus datatypes" was
a popular slogan for a while.)  The large majority of the WG, however,
consists of representatives of communities for whom "DTDs plus
namespaces" does not represent a useful enough advance over DTDs to be
worth the trouble.  And so we have functionality which is a
significant advance over that provided by DTDs.  The W3C process
requires consensus first of all within the WG, that is among those
organizations and individuals willing to make the time investment
necessary to develop a specification.  And the result of that process
is the functionality now in the XML Schema spec.

For what it's worth, I think that some readers (perhaps including
yourself) have gotten a false impression about the origin of some of
the functionality in the spec.  The functionality that goes beyond
DTDs, I sometimes hear, has been added to support interchange of SQL
and other DBMS data and so on, and has no relevance for documents and
document-oriented markup languages.  This is true for some of that
functionality.  But much of the functionality provided by XML Schema
that goes beyond what is offered by DTDs is there, in the first
instance, because those of us who have spent the last ten years
writing DTDs for documents had a well-developed sense of various kinds
of extra functionality that would be useful, from datatypes and
regular-expression pattern constraints on simple types to local
element-type definitions and better wildcards.  That many of the needs
of document-related work coincide with those of database-oriented work
simply goes to underscore the importance of Murata Makoto's
observation that XML can and must serve both DBMS-style data and
document-style data, and that its primary interest lies in its ability
to support both using the same set of facilities.

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.

with best regards,

-C. M. Sperberg-McQueen
  World Wide Web Consortium
  Co-chair, W3C XML Schema WG

Received on Thursday, 5 October 2000 19:03:57 UTC