[Home] [By Thread] [By Date] [Recent Entries]

  • From: "Costello, Roger L." <costello@m...>
  • To: "xml-dev@l..." <xml-dev@l...>
  • Date: Thu, 4 Jul 2019 18:20:13 +0000

Hi John,

 

  • A simpler XML approach is to use elements named root-node, left-node, and right-node.  That reduces the number of levels in the tree by half.

 

Sorry, I am not clear on what you are suggesting. Do you mean this (recursive) design:

 

<binary-tree>
    
<root-node>
       
<value>root</value>
       
<left-node>
           
<value>A</value>
           
<left-node>
               
<value>C</value>
           
</left-node>
           
<right-node>
               
<value>D</value>
           
</right-node>
       
</left-node>
       
<right-node>
           
<value>B</value>
           
<left-node>
               
<value>E</value>
           
</left-node>
           
<right-node>
               
<value>F</value>
           
</right-node>
        
</right-node>
   
</root-node>
</binary-tree>

 

That doesn’t reduce the number of levels in the tree.

 

/Roger

 

From: John Cowan <johnwcowan@g...>
Sent: Thursday, July 4, 2019 1:13 PM
To: Costello, Roger L. <costello@m...>
Cc: xml-dev@l...
Subject: [EXT] Re: Representing binary trees in XML … flat versus recursive

 

 

 

On Thu, Jul 4, 2019 at 9:45 AM Costello, Roger L. <costello@m...> wrote:

 

Recursive Implementation

The root node consists of a value, an optional left subtree, and an optional right subtree.

A subtree is a node.

A node consists of a value, an optional left subtree, and an optional right subtree.

Here is a recursive XML representation of the above binary tree:

A simpler XML approach is to use elements named root-node, left-node, and right-node.  That reduces the number of levels in the tree by half.

 

In addition, I don't know of any parsers that use recursion in the language to support recursion in the tree; the nesting is normally stored as an array of element objects, either fixed (in which case you get an error) or growable.  Such a structure can of course be traversed in XSLT, but not with native traversal mechanisms..  Your flat representation doesn't gain you much, then.

 

 

John Cowan          http://vrici.lojban.org/~cowan        cowan@c...
Cash registers don't really add and subtract;
        they only grind their gears.
But then they don't really grind their gears, either;
        they only obey the laws of physics.  --Unknown

 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member