Subject: nesting flat XML based on attribute value.
From: David Holden <dh@xxxxxxxx>
Date: Tue, 13 Dec 2005 17:38:42 +0000
|
Hello,
B I'm not sure whether I'm being dumb or not here but I'm stuck on converting
a
flat structure to a nested structure.
the flat structure is like this:-
<?xml version="1.0 " encoding="US-ASCII"?>
<doc>
B <ch id="1o1">
B B <sec id="sec1o1o1" fpage="3" lpage="5" />
B B <sec id="sec1o1o1o1" fpage="3" lpage="3"/>
B B <sec id="sec1o1o1o2" fpage="3" lpage="4"/>
B B <sec id="sec1o1o1o3" fpage="4" lpage="4"/>
B B <sec id="sec1o1o1o4" fpage="4" lpage="5"/>
B B <sec id="sec1o1o1o5" fpage="5" lpage="5"/>
B B <sec id="sec1o1o2" fpage="5" lpage="7"/>
B B <sec id="sec1o1o2o1" fpage="5" lpage="5"/>
B B <sec id="sec1o1o2o2" fpage="5" lpage="5"/>
B B <sec id="sec1o1o2o3" fpage="5" lpage="6"/>
B B <sec id="sec1o1o2o4" fpage="6" lpage="7"/>
B B <sec id="sec1o1o2o4o1" fpage="6" lpage="6"/>
B B <sec id="sec1o1o2o4o2" fpage="6" lpage="6"/>
B B <sec id="sec1o1o2o4o3" fpage="6" lpage="7"/>
B B <sec id="sec1o1o3" fpage="7" lpage="10"/>
B B <sec id="sec1o1o3o1" fpage="7" lpage="7"/>
B B <sec id="sec1o1o3o1o1" fpage="7" lpage="7"/>
B </ch>
</doc>
I would like to get to
<?xml version="1.0" encoding="US-ASCII"?>
<doc>
B <ch id="1o1">
B B <sec id="sec1o1o1" fpage="3" lpage="5">
B B B <sec id="sec1o1o1o1" fpage="3" lpage="3"/>
B B B <sec id="sec1o1o1o2" fpage="3" lpage="4"/>
B B B <sec id="sec1o1o1o3" fpage="4" lpage="4"/>
B B B <sec id="sec1o1o1o4" fpage="4" lpage="5"/>
B B B <sec id="sec1o1o1o5" fpage="5" lpage="5"/>
B B </sec>
B B <sec id="sec1o1o2" fpage="5" lpage="7">
B B B <sec id="sec1o1o2o1" fpage="5" lpage="5"/>
B B B <sec id="sec1o1o2o2" fpage="5" lpage="5"/>
B B B <sec id="sec1o1o2o3" fpage="5" lpage="6"/>
B B B <sec id="sec1o1o2o4" fpage="6" lpage="7">
B B B B <sec id="sec1o1o2o4o1" fpage="6" lpage="6"/>
B B B B <sec id="sec1o1o2o4o2" fpage="6" lpage="6"/>
B B B B <sec id="sec1o1o2o4o3" fpage="6" lpage="7"/>
B B B </sec>
B B </sec>
B B <sec id="sec1o1o3" fpage="7" lpage="10">
B B B <sec id="sec1o1o3o1" fpage="7" lpage="7">
B B B B <sec id="sec1o1o3o1o1" fpage="7" lpage="7"/>
B B B </sec>
B B </sec>
B </ch>
</doc>
i.e. both the nesting "level" and "order" are in the id attribute.
any tips appreciated.
B Dave.
|