Re: Schema changes for absent, empty, and nil special values

> Re: Schema changes for absent, empty, and nil special values
>
> From: Henry S. Thompson (ht@cogsci.ed.ac.uk)
> Date: Fri, Apr 13 2001
> ...
> <personalOpinion>
> The only semantics which it is appropriate for the XML Schema spec. to
> discuss is validation semantics.  What semantics users and/or
> applications attach to syntactic usage patterns is their business.
> </personOpinion>

Dear Henry,
    I mostly agree with you.  In large part the semantcis of XML will be defined by the behavior of a query, acting upon one
or more input instance documents (with their explicit or implicit schemas).  The query language must surely define the result
of a query in a "mechanical way", i.e. using a formal system of semantics, as it has no understanding of the meaning intended
for it by a human user.

As I said in my email
<quote>
We cannot easily constrain the ways users will want to use XML.  Some
may want it to work like SQL, while other may prefer that it work like
Excel or some other system they are familiar with.  Therefore the goal
must be to allow users to fairly easily express queries that behave as
they intend.  The underlying XML data model and formal semantics
should be expressive enough to in principle capture all reasonably
likely semantics.  The end user language should be simple enough so
that in practice users can express their specific desired semantics.
</quote>

I think this fact that different users will want different semantics in different situtaions is what what you expressed in
your personal opinion. above.  But given the need for Schema and Query to be formal system we reach the following conclusion:
it is the responsibility of Schema and Query to enable a user to express his intended semantics.  Furthermore it is extremely
desirable to permit the user to express his intent in a way that is reasonably convenient to write and read, not too error
prone, etc.  (Otherwise we could all just write in a Turing machine langugae.)

Consider the very important point of whether XML Schema and XML Query, taken together, support a tree-valued logic.
Supporting a three-valued logic "subsumes" the case of a two-valued logic. This means that a user wishing only a two-valued
logic may achieve his intention fairly easily.  But the converse situation does not hold --- if Schema and Query only support
a data model with a two-valued logic those people wanting three-valued logic will discover that it is extremely dificiult to
achieve their goal. I believe that very many people in fact will want a three-valued logic, for the practical reason that this
is necessary to emulate the semantics of SQL, and for the fundamental reason that "unknown" states occur whenever one tries to
mdoel the
real model.

It seems to me that the current XML data model should be explicit about this point taking for example one of the following
positions:
* only supports two valued logic
* supports three-valued logic innately
* can be made to emulate three-valued logic (and then explain the details)

I am troubled by the lack on any definite statement in this area.
I believe that if more Schema user understood that it might be very hard to achieve
three valued logic that there would be many moe objections, and many would be made forcefully.  Perhaps the data model for
Schema does lend itself to easy support of three-valued logic.  In that case the documentation of the specification should be
improved.

Similarly "absent" values in XML instance documents are a basic fact of life; they will occur for various reasons including
the fundamental one that they are "created" whenever a new element is added to a Schema.   Provided Query enables it, it will
be possible for users to achieve their intended semantics here even without support from Schema.  But schema has chosen to add
support for default values for empty elements and absent attributes.   I am pointing out that this lack of symmetry, and
absence of functionality supporting absent element, will cause users morre work.  A crude analogy might be a system of
arithmetic that supported addition, subtraction, and division, but not multiplication.  Users would be told, well that's just
repeated addition.  Sure, but what a pain in the neck.  Absent elements, and default values in general, would greatly benefit
from improved support in Schema.

Hopefully helpfully yours,
Steve
--
Steven Tolkin          steve.tolkin@fmr.com      617-563-0516
Fidelity Investments   82 Devonshire St. R24D    Boston MA 02109
There is nothing so practical as a good theory.  Comments are by me,
not Fidelity Investments, its subsidiaries or affiliates

Received on Saturday, 14 April 2001 07:50:55 UTC