- From: <noah_mendelsohn@us.ibm.com>
- Date: Wed, 25 Sep 2002 20:51:24 -0400
- To: xml-dist-app@w3.org
This note is in fulfillment of an action that I took on todays WG call. During the WG discussion of issue 231 [1], some members of the workgroup expressed a concern that SOAP should allow schemas to be used to provide defaults for attributes such as itemType, and for the new nodeClass attribute (which is being proposed as the means of allowing a message to explicitly distinguish struct/array/simple values.) This note is ONLY on the subissue of whether schemas can be used to provide defaults for these values. Background: We have had a general principle, going back to SOAP 1.1, that normative SOAP processing does not depend on any particular schema or validation language, or especially on any defaults supplied by a schema or DTD. Our last working draft [2] and current editors' drafts thus both require that itemType have a "specified" infoset property with a value of "true". The editors draft also suggests the same for the new attribute that we've just decided to call nodeClass (which will take the values "simple/struct/array", I think -- someone else will be sending the formal proposal on that.) Thus, our normative specification is saying: "if these attributes are explicitly present in the message, we describe the effect on the graph; they may be missing, in which case their values are assumed unspecified. We provide no normative interpretation for any default values supplied from a schema." Appendix B of part 2 [3], which is now appendix C in the editors' copy[4], already explains the non-normative use of schemas to supply typing information to augment the encoded graphs. I propose to use a similar approach for attribute defaults. Proposal: Anyone reviewing this proposal is encouraged to first read all of that Appendix (it's short). The proposal is as follows. The first part goes beyond what I think was explicitly requested of me on today's telcon, but I think it's an appropriate clarification: Change Part 1 section 1.2 [5] <original> "SOAP does not require that XML Schema processing (assessment or validation) be performed to establish the correctness or 'schema implied' values of element and attribute information items defined by this specification. The values associated with element and attribute information items defined in this specification MUST be carried explicitly in the transmitted SOAP message except where stated otherwise (see 5. SOAP Message Construct)." </original> <proposed change="explicitly reference part 1 and 2"> "SOAP does not require that XML Schema processing (assessment or validation) be performed to establish the correctness or 'schema implied' values of element and attribute information items defined by Parts 1 and 2 of this specification. The values associated with element and attribute information items defined in this specification MUST be carried explicitly in the transmitted SOAP message except where stated otherwise (see 5. SOAP Message Construct)." </proposed> The above change is suggested because, in our discussion, it was clear that some members of the WG took this to refer only to part 1. Since it's arguable ambiguous, I'm proposing the clarification. The principle change is to Appendix B.3/C.3: <original> It may be that schemas could be constructed to describe the encoding of certain graphs. Validation of the encoded graph against such a schema would result in the type name property of the graph nodes being assigned the relevant type name. </original> <proposed> It may be that schemas could be constructed to describe the encoding of certain graphs. Validation of the encoded graph against such a schema would result in the type name property of the graph nodes being assigned the relevant type name. Such a schema can also supply default or fixed values for one or more of the itemType, arraySize or nodeClass attribute information items; the values of such defaulted attributes affect the deserialized graph in the same manner as if the attributes had been explicitly supplied in the message. Errors or inconsistencies thus introduced (e.g. if the value of the attribute is erroneous inappropriate) should be reported as application-level errors; faults from the soap encoding namespace should be reported only if the normative parts of this specification are violated. </proposed> Does this seem like an acceptable approach? I think it is appropriately symmetric with the way we've been applying schema to other aspects of the encoding, and it provides a standard interpretation for attribute defaults in situations where schema validation is desired. Thanks. Noah [1] http://www.w3.org/2000/xp/Group/xmlp-lc-issues#x231 [2] http://www.w3.org/TR/2002/WD-soap12-part2-20020626/#itemtypeattr [3] http://www.w3.org/TR/2002/WD-soap12-part2-20020626/#encschema [4] http://www.w3.org/2000/xp/Group/2/06/LC/soap12-part2.xml#encschema [5] http://www.w3.org/TR/2002/WD-soap12-part1-20020626/#reltoxml ------------------------------------------------------------------ Noah Mendelsohn Voice: 1-617-693-4036 IBM Corporation Fax: 1-617-693-8676 One Rogers Street Cambridge, MA 02142 ------------------------------------------------------------------
Received on Wednesday, 25 September 2002 20:44:30 UTC