LC-165 xsi:null

Dear Philip:

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-165,
which suggests that the xsi:null attribute be dropped.

This has been a vexed question for the XML Schema WG, which we have
discussed several times for periods of several weeks, without
achieving unanimity on the matter.  The long and the short of the
matter is that the large majority of database vendors and database
users represented in the WG agree that it is useful to have an
explicit mechanism for signaling null values (roughly analogous,
mutatis mutandis, to the expicit NULL keyword in SQL and other
database systems, or to the 'nil' or 'NULL' keyword in some
programming languages); if XML Schema does not provide it, these WG
members say, it will simply be invented by schema authors or groups of
users, and their post hoc inventions will not be interoperable.  The
particular design adopted struck the best balance available among
simplicity, clarity, and expressive power.  Some simpler methods were
proposed; they were less expressive, and seemed to the WG to be less
clear.  Some more powerful methods were proposed (notably a facility
for multiple kinds of nulls); these were held by the majority of the
WG to be less clear and were certainly less simple.

The discussion in the WG in preparing to deal with your last-call
issue evoked, as it happens, no arguments which had not been heard in
the original design discussion; it is not surprising, perhaps, that
the majority of the WG found the arguments of the minority no more
persuasive the second time around than they had found them the first
time around.  In any event, by a vote of 20 to 6 the WG decided to
confirm its decision to include xsi:null in the language.  We agree
that this will require clear decisions on the part of XML Query and
other downstream applications as to whether a null element and an
absent element should be treated the same way, or differently; we
believe that downstream applications would need to be clear on the
meaning to be attributed to an absent element in any case, so we do
not believe their design task has been made substantially more
difficult than it would have been in any case: null values are not
present in databases and programming languages for purely theoretical
reasons, but because they are required in practice.

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 Monday, 9 October 2000 16:19:45 UTC