- From: Jean-Jacques Moreau <moreau@crf.canon.fr>
- Date: Fri, 22 Mar 2002 13:10:42 +0100
- To: Martin Gudgin <marting@develop.com>
- CC: Jacek Kopecky <jacek@systinet.com>, XML Protocol Discussion <xml-dist-app@w3.org>
Would the following be a valid serialization of Jacek's graph, assuming C is a terminal? <headerA> <structA> <edgeX idref="#c"/> </structA> </headerA> <headerB> <structB> <edgeY idref="#c"/> </structB> </headerB> <headerC role=".../none"> <whatIsThis id="#c">terminalC</whatIsThis> </headerC> Martin Gudgin wrote: > Ahh, OK I think I see what's going on here. A graph may or may not have a > root. The graph you show below has no root. BUT there still has to be at > least one start point for serialization. Having said that does that > information need to be carried in the envelope? Why does the deserializer > need A and/or B to be labeled root='true' in your example below? > > Gudge > > ----- Original Message ----- > From: "Jacek Kopecky" <jacek@systinet.com> > To: "Martin Gudgin" <marting@develop.com> > Cc: "XML Protocol Discussion" <xml-dist-app@w3.org> > Sent: Thursday, March 21, 2002 3:14 PM > Subject: Re: The reason for roots? > > > Gudge, > > I disagree with the first fact you listed below. In a general > > graph there can be no such node (your fact 4). I thought we were > > talking about "serialization roots" which are the nodes from > > which serialization starts. > > The second fact I also disagree with because you can have a > > graph like > > > > +---+ x > > | A |------+ (the nodes are named for the sake > > +---+ | of referencing them in my text) > > V > > +---+ y +---+ > > | B |--->| C | > > +---+ +---+ > > > > and then you can serialize A into a header and serialize B into > > the body (or a different header). > > But if we do forbid the "independent" elements (as indicated in > > the thread starting with my message [1]) the root shall (or > > should) always be apparent from its context and from the > > application specification. > > On the other hand, this issue is also affected by the result of > > the discussion on encodingStyle on Header and Body because I > > think that if we put encodingStyle on Header, it clearly becomes > > a serialization root. 8-) Then we'd have to allow arbitrary > > attributes (root attributes from different encodings) on Header. > > Same for Envelope. Not really nice I think. > > Best regards, > > > > Jacek Kopecky > > > > Senior Architect, Systinet (formerly Idoox) > > http://www.systinet.com/ > > > > [1] http://lists.w3.org/Archives/Public/xml-dist-app/2002Mar/0137.html > > > > > > On Thu, 21 Mar 2002, Martin Gudgin wrote: > > > > > During the recent rework on Part 2 Section 2 and 3 I spent quite a > while > > > thinking about roots as they relate to the data model. It may be that > my > > > imagination is not firing on all cylinders but here are the 'facts' as > I see > > > them; > > > > > > 1. A root is a node with no inbound edges > > > > > > 2. There is a path from a root node to all other nodes in the graph > > > > > > 3. Given 1 and 2 it *is not* possible to have more than one root > > > > > > 4. Given 1 and 2 it *is* possible to have a graph with no root > > > > > > So, I'm at a loss as to why I would want to label a given node as the > root > > > of the graph unless it's to avoid the deserializer having to work it > out by > > > inspection. Is this the reason? > > > > > > All input gratefully received > > > > > > Gudge > > > > >
Received on Friday, 22 March 2002 07:11:39 UTC