Re: [xsl] algorithm for this hierarchy, anyone?

Subject: Re: [xsl] algorithm for this hierarchy, anyone?
From: "Joerg Heinicke" <joerg.heinicke@xxxxxx>
Date: Mon, 4 Feb 2002 12:21:26 +0100
Hello Mario,

I answered this question already yesterday, but it seems that this mail
hasn't gone over this list. I can't find my mail in the Mulberry mail
archive at sources.redhat.com, but it is in the ASPN archive:

http://aspn.activestate.com/ASPN/Mail/Message/XSL-List/1012271

Does this happen often? Really strange!

Joerg

----- Original Message -----
From: "Ruggier, Mario" <Mario.Ruggier@xxxxxxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Monday, February 04, 2002 12:02 PM
Subject: [xsl] algorithm for this hierarchy, anyone?


> Hello,
>
> I would like to convert the list of <obj> elements to
> the hierarchical XML output, as below, but am having
> problems identifying a workable algorithm. Can anyone
> suggest a simplest (or so ;-) algorithm for this?
>
> Mario Ruggier
> --
> SoftPlumbers SA, 26 rue Maunoir, CH-1207 Genève
> Mobile +41.79.240.8636 | Office +41.22.849.1038
>
>
> ===================================
> Input XML
> (<obj> elements may occur in any order)
> ("destination" depth of an <obj> is determined by the
> value of p.array/@size, and which could be anything)
> (no level jumps -- if there is a p.array[@size=n], then
> there will always be all intermediate occurances of
> p.array[size = n-1 ... 1 ], which will be composed of
> the corresponding number of "bottom" elements of p.array)
>
> <r>
>  <obj>
>    <p.array size="1">
>      <v>en</v>
>    </p.array>
>  </obj>
>   <obj>
>    <p.array size="1">
>      <v>it</v>
>    </p.array>
>  </obj>
>  <obj>
>    <p.array size="1">
>      <v>fr</v>
>    </p.array>
>  </obj>
>  <obj>
>    <p.array size="2">
>      <v>one</v>
>      <v>en</v>
>    </p.array>
>  </obj>
>  <obj>
>    <p.array size="2">
>      <v>uno</v>
>      <v>it</v>
>    </p.array>
>  </obj>
>   <obj>
>    <p.array size="2">
>      <v>un</v>
>      <v>fr</v>
>    </p.array>
>  </obj>
>  <obj>
>    <p.array size="3">
>      <v>two</v>
>      <v>one</v>
>      <v>en</v>
>    </p.array>
>  </obj>
>  <obj>
>    <p.array size="3">
>      <v>due</v>
>      <v>uno</v>
>      <v>it</v>
>    </p.array>
>  </obj>
>  <obj>
>    <p.array size="3">
>      <v>doo</v>
>      <v>un</v>
>      <v>fr</v>
>    </p.array>
>  </obj>
>  <obj>
>    <p.array size="4">
>      <v>trois</v>
>      <v>doo</v>
>      <v>un</v>
>      <v>fr</v>
>    </p.array>
>  </obj>
> </r>
>
> ===================================
> Desired Output
> (order of sibling <obj> elements is not important):
>
> <r>
>   <obj name="en">
>     <obj name="one">
>       <obj name="two" />
>     </obj>
>   </obj>
>   <obj name="fr">
>     <obj name="un">
>       <obj name="doo">
>         <obj name="trois"/>
>       </obj>
>     </obj>
>   </obj>
>   <obj name="it">
>     <obj name="uno">
>       <obj name="due" />
>     </obj>
>   </obj>
> </r>


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread