Lists Home |
Date Index |
6/7/2002 10:49:57 AM, firstname.lastname@example.org (Henry S. Thompson) wrote:
>But that's all the original Don Box quote said -- XML Schema is here
>to stay because SOAP needs it.
That's a remarkably charitable interpretation of:
'"The reality is, XML Schema is the foundation for the rest of XML," said Box....
"XML Schema is an inevitability. Resistance is futile. There is
no point in not embracing this thing..."'
Nobody, even the most unwashed leaders of the peasant revolt against XSD, have
suggested that XSD is not "here to stay" ... merely that it is not the One True Schema
Language upon which all else must build. And we all know perfectly well that it's not
the "foundation for the rest of XML" ... I can only assume that Don was misquoted.
Also, I find this statement very puzzling:
'Box also stressed that XML Schema is the dominant technology for Web services.
"Had XML Schema been done in 1998, we would not have done SOAP," he said.'
The relationship between W3C XSD and SOAP 1.2 is considerably looser
than Don Box (and Henry Thompson) imply:
First, SOAP 1.2 has absolutely no requirement for schema validation of messages
and prohibits use of the PSVI in SOAP processing:
"A SOAP message MUST NOT impose any XML schema processing (assessment and validation)
requirement on the part of any receiving SOAP node. Therefore, SOAP REQUIRES that all
attribute information items, whether specified in this specification or whether they
belong to a foreign namespace be caried in the serialized SOAP envelope."
Second, the only actual dependency on the W3C Schema spec in SOAP 1.2, AFAIK, is to
the use of the xsi: datatypes in SOAP instances and the encoding rules, and the SOAP
markup itself is normatively defined with a XSD schema structure.
Third, there were extensive discussions of whether or not W3C XSD removed the need for
a SOAP encoding specification; here's the "final word" on the subject:
"Although it is possible to use the xsi:type attribute such that a graph of values is
self-describing both in its structure and the types of its values, the serialization
rules permit that the types of values MAY be determinate only by reference to a
schema. Such schemas MAY be in the notation described by "XML Schema Part 1:
Structures"  and "XML Schema Part 2: Datatypes"  or MAY be in any other
notation. Note also that, while the serialization rules apply to compound types other
than arrays and structs, many schemas will contain only struct and array types."
In other words, SOAP had to define its own mapping conventions for data structures
that can't be expressed by XSD Structures, such as graphs, circular lists, etc.