This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: algorithm for this hierarchy, anyone?
- From: "Ruggier, Mario" <Mario dot Ruggier at softplumbers dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Mon, 4 Feb 2002 15:07:13 +0100
- Subject: RE: [xsl] algorithm for this hierarchy, anyone?
- Reply-to: xsl-list at lists dot mulberrytech dot com
Ah, i never received the first posting (during the weekend)
of my question, so i assumed it did not go through.
Which is why I re-posted this morning.
I will respond to your actual reply separately.
Cheers, mario
> -----Original Message-----
> From: Joerg Heinicke [mailto:joerg.heinicke@gmx.de]
> Sent: Monday, February 04, 2002 12:21 PM
> To: xsl-list@lists.mulberrytech.com
> Subject: Re: [xsl] algorithm for this hierarchy, anyone?
>
>
> 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@softplumbers.com>
> To: <xsl-list@lists.mulberrytech.com>
> 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
>
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list