Re: Issue 195: soap-rpc:result

Herve Ruellan writes:

>> My short reply to your short answer is: XML 
>> Schema is not suitable for describing data 
>> in SOAP Data Model (or at least in SOAP Encoding), 
>> but with a few tweaking, we should be able to used 
>> XML Schema to describe data in SOAP Encoding for 
>> RPC requests and responses.

I respectfully disagree, unless you want to lock in to one of the many 
legal serializations for each graph.  Note that the latest editors draft 
of SOAP mandates that reeivers MUST accept any legal serialization of a 
graph.

The SOAP data model is a Directed Graph, is potentially cyclic, and is 
only accidently tree-like in particular cases (which are admittedly 
comon).   For example, I might imagine a program that uses a circularly 
linked list as a datastructure.  None of the elements is a head or a tail, 
just a cycle.  I might want to pass one or another member of the list as 
an argument to an RPC, and pass the entire cycle by value.  SOAP RPC and 
its encoding can do this trivially. 

You can probably invent a schema that will match one or another, or even a 
bunch of the legal encodings of your graph, but it's unlikely you'd write 
a schema that matches even the majority of equivalent representations 
(I.e. that represent the same graph.)    It only gets worse with more 
complex structures.

XML Schema is just that:  it's a schema language for XML.  I don't think 
it is a good language for describing SOAP Data Model graphs, and I think 
the fudging that goes on in WSDL to try to make it so is a mistake (my 
opinion, not necessarily IBM's corporate position -- I haven't checked 
with our WSDL reps on this lately.)  It would be quite reasonable to use 
XML Schema to insist on one particular representation of a graph, then 
everyone would have to use exactly that form when serializing.

------------------------------------------------------------------
Noah Mendelsohn                              Voice: 1-617-693-4036
IBM Corporation                                Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------

Received on Friday, 5 April 2002 18:08:40 UTC