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

RE: Issue with soap-rpc:result

From: Jacek Kopecky <jacek@systinet.com>
Date: Tue, 12 Feb 2002 11:03:42 +0100 (CET)
To: Andrew Layman <andrewl@microsoft.com>
cc: XMLDISTAPP <xml-dist-app@w3.org>
Message-ID: <Pine.LNX.4.33.0202121040140.7609-100000@mail.idoox.com>
 Andrew, I agree completely with your "[in] many cases, the 
semantic intent is shown more clearly by, and interoperability 
would be better served by [...]". 
 The main problem causing clash between our Encoding and XML 
Schema is the referencing model, not structs nor arrays.
 The reasons for our referencing model is not that everybody must
use it or even that everybody should use it.
 One of the reasons is that in many other cases, the
implementation of the task at hand would be better served by
using tools which help you automate serializing and deserializing
of the linked graph structures already present in your
applications because you don't want to serialize your data into 
a "nicer" XML tree and reconstruct the proper links on the 
receiver.
 In some cases, even with new applications, it is impossible to 
reconstruct the proper links because the links themselves convey 
useful information. In such cases, the links can either be 
encoded on the application level, like the following tree of 
structs probably perfectly describable by an XML Schema schema

 <aStructure>
   <firstMember>
     <value>42</value>
     <id>anApplicationID1</id>
   </firstMember>
   <secondMember>
     <ref>anApplicationID1</ref>
   </secondMember>
 </aStructure>
 
 or it can be done at the XML level, for example by using a pair 
of ID and IDREF typed attributes. SOAP Encoding is an attempt to 
standardize this pair of attributes.
 Again - Don't Use Where Inappropriate! 8-)
 Best regards,

                   Jacek Kopecky

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



On Fri, 8 Feb 2002, Andrew Layman wrote:

 > Regarding the wire format representation of a linked list, the
 > appropriate form depends a lot on the semantic level you want to convey
 > and on assumptions about the compatibility of the data models on each
 > end of the exchange.  For example, I would expect that many cases, the
 > semantic intent is shown more clearly by, and interoperability would be
 > better served by 
 > 
 > <PurchaseOrder>
 >    <shipTo>
 >       <name>Alice Smith</name>
 >       <street>123 Maple Street</street>
 >       <city>Mill Valley</city>
 >       <state>CA</state>
 >       <zip>90952</zip>
 >    </shipTo>
 >    <Items>
 >       <Item>
 >           <productName>Lawnmower, model BUZZ-1</productName>
 >           <quantity>1</quantity>
 >           <price>148.95</price>
 >       </Item>
 >       <Item>
 >           <productName>Baby Monitor, model SNOOZE-2</productName>
 >           <quantity>1</quantity>
 >           <price>39.98</price>
 >       </Item>
 >       <Item>
 >           <productName>Fiesta Lights</productName>
 >           <quantity>144</quantity>
 >           <price>1.50</price>
 >       </Item>
 >    </Items>
 > </PurchaseOrder>
 > 
 > than by something along the lines of
 > 
 > <Item id='i1'>
 >    <productName>Lawnmower, model BUZZ-1</productName>
 >     <quantity>1</quantity>
 >     <price>148.95</price>
 > </Item>
 > <Item id='i2'>
 >     <productName>Baby Monitor, model SNOOZE-2</productName>
 >     <quantity>1</quantity>
 >     <price>39.98</price>
 > </Item>
 > <Item id='i3'>
 >     <productName>Fiesta Lights</productName>
 >     <quantity>144</quantity>
 >     <price>1.50</price>
 > </Item>
 > <Node id='i5'>
 >   <value idref='i1'/>
 >   <back xsi:nil='true'/>
 >   <forth idref='i6'/>
 > </Node>
 > <Node id='i6'>
 >   <value idref='i2'/>
 >   <back idref='i6'/>
 >   <forth idref='i7'/>
 > </Node>
 > <Node id='i7'>
 >   <value idref='i3'/>
 >   <back idref='i6'/>
 >   <forth xsi:nil='true'/>
 > </Node>
 > <Items id='i4'>
 >    <e id='i5'/>
 >    <e id='i6'/>
 >    <e id='i7'/>
 > </Items>
 > <PurchaseOrder>
 >    <shipTo>
 >       <name>Alice Smith</name>
 >       <street>123 Maple Street</street>
 >       <city>Mill Valley</city>
 >       <state>CA</state>
 >       <zip>90952</zip>
 >    </shipTo>
 >    <items idref='i4'/>
 > </PurchaseOrder>
 > 
 > 
 > -----Original Message-----
 > From: Jacek Kopecky [mailto:jacek@systinet.com] 
 > Sent: Friday, February 08, 2002 7:21 AM
 > To: Tim Ewald
 > Cc: 'XMLDISTAPP'
 > Subject: RE: Issue with soap-rpc:result
 > 
 >  Tim, 
 >  I respectfully disagree with your message below.
 >  Let's imagine a double-linked list structure described below 
 > with a simple c-style code (this actually describes a more 
 > general structure which may be used to represent a double linked 
 > list):
 > 
 > struct node {
 >    int value;
 >    node *back;
 >    node *forth;
 > }
 > 
 > 
Received on Tuesday, 12 February 2002 05:03:45 GMT

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