- 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