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

Re: The reason for roots?

From: Jacek Kopecky <jacek@systinet.com>
Date: Thu, 21 Mar 2002 16:14:57 +0100 (CET)
To: Martin Gudgin <marting@develop.com>
Cc: XML Protocol Discussion <xml-dist-app@w3.org>
Message-ID: <Pine.LNX.4.44.0203211602190.16766-100000@mail.idoox.com>
 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 Thursday, 21 March 2002 10:15:59 GMT

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