W3C home > Mailing lists > Public > xml-dist-app@w3.org > February 2002

Re: Issue 177: missing elements same as nils?

From: Jacek Kopecky <jacek@systinet.com>
Date: Wed, 6 Feb 2002 14:05:42 +0100 (CET)
To: Henrik Frystyk Nielsen <henrikn@microsoft.com>
cc: <xml-dist-app@w3.org>
Message-ID: <Pine.LNX.4.33.0202061357480.727-100000@mail.idoox.com>
 Henrik,
 I think the proposal as you stated it below effectively states 
that an omitted member is a NULL, am I right?
 Why I think so: in our data model there are concrete values and 
NULLs. A concrete value is serialized as the value per other 
rules. A NULL then may be serialized with xsi:nil or as omission. 
There is nothing else that can be serialized with xsi:nil or as 
omission - therefore an omission is a NULL.
 Btw, if it is indeed so, I like this proposal very much because 
NULLs can be taken for default values by the application - out of 
scope of SOAP Encoding.
 Regards,

                   Jacek Kopecky

                   Senior Architect, Systinet (formerly Idoox)
                   http://www.systinet.com/



On Tue, 5 Feb 2002, Henrik Frystyk Nielsen wrote:

 > 
 > The ETF was tasked with coming up with a recommendation for issue 177
 > [1] which points out an apparent conflict in the SOAP 1.2 spec part 2.
 > This mail is an attempt on my behalf to capture the discussion that has
 > happened within the ETF and to propose a word change to remove the
 > conflict. I apologize if I have failed to capture all aspects of the
 > discussion or deviate from the understanding of the other parties in the
 > ETF.
 > 
 > The respective pieces of text are:
 > 
 > (section 3.1, rule #8) [3] "A NULL value or a default value MAY be
 > represented by omission of the accessor element. A NULL value MAY also
 > be indicated by an accessor element containing the attribute xsi:nil
 > with value '1 or true' [...]"
 > 
 > and
 > 
 > (section 3.6 [4]) "An omitted accessor element implies either a default
 > value or that no value is known. The specifics depend on the accessor,
 > method, and its context. For example, an omitted accessor typically
 > implies a Null value for polymorphic accessors (with the exact meaning
 > of Null accessor-dependent). Likewise, an omitted Boolean accessor
 > typically implies either a False value or that no value is known, and an
 > omitted numeric accessor typically implies either that the value is zero
 > or that no value is known."
 > 
 > The issue is stated as follows: The first statement seems to indicate
 > that there is a difference between NULL and a default value whereas the
 > latter does not.
 > 
 > Analysis and Proposal:
 > 
 > While there is and has been a lot of discussion about what NULL means,
 > the SOAP encoding does not need to answer questions of meaning. Rather,
 > it merely needs to provide rules for a transformation between the data
 > model described in part 2, section 2 and some encoding--in this case the
 > particular encoding that we provide in part 2, section 3.
 > 
 > Default values are not part of our data model. They are at a higher
 > semantic level. It is sufficient for us to describe an encoding
 > serialization that permits omitted values and null values. We can leave
 > it to higher levels to decide whether and under what circumstances an
 > omitted or null value is a signal that the reader should infer a default
 > value or other out-of-band behavior. We can, therefore, either remove
 > section 3.6 which is already very loose or downgrade it to a note rather
 > than having it as an independent section.
 > 
 > Regarding nulls and omitted values, some languages and data models make
 > a distinction between these and others do not. As indicated in part 2,
 > section 2, we need to accommodate both. That means that we need to
 > permit that omission may result in a serialized form that is distinct
 > from NULL, or that it may not.
 > 
 > The proposal for solving this issue is as follows:
 > 
 > 1) Simplify section 3.1 rule #8 to say: "A NULL value MAY be represented
 > by omission of the accessor element or by an accessor element containing
 > the attribute xsi:nil with value True.
 > 
 > 2) Remove section 3.6 or downgrade it to a note in section 2 talking
 > about application-specific interpretation of instances of the data
 > model.
 > 
 > Thank you,
 > 
 > Henrik Frystyk Nielsen
 > mailto:henrikn@microsoft.com
 > 
 > [1] http://www.w3.org/2000/xp/Group/xmlp-issues#x177
 > [2] http://lists.w3.org/Archives/Public/xml-dist-app/2002Jan/0057.html
 > [3] http://www.w3.org/2000/xp/Group/1/10/11/soap12-part2.html#encrules
 > [4] http://www.w3.org/2000/xp/Group/1/10/11/soap12-part2.html#N750
 > 
Received on Wednesday, 6 February 2002 08:05:44 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:59:06 GMT