Re: [xsl] Regrouping XML Data

Subject: Re: [xsl] Regrouping XML Data
From: "J.Pietschmann" <j3322ptm@xxxxxxxx>
Date: Fri, 12 Jul 2002 02:37:13 +0200
Lotus Soda wrote:
Dear Friends

I have the following XML data
       <row>
            <col>
                <data>
                    Surveyor
                </data>
                <data>
                    Excavation
                </data>
                <data>
                    Plumber
                </data>
            </col>
            <col>
                <data>
                    11/02/2000
                </data>
                <data>
                    15/02/2000
                </data>
                <data>
                    11/03/2000
                </data>
            </col>
       </row>

I am having difficulty transforming this into:

       <row>
            <col>
                <data>
                    Surveyor
                </data>
                <data>
                    11/02/2000
                </data>
            </col>
            <col>
                <data>
                    Excavation
                </data>
                <data>
                    15/02/2000
                </data>
            </col>
            <col>
                <data>
                    Plumber
                </data>
                <data>
                    11/03/2000
                </data>
            </col>
       </row>

Each <row> has a fixed number of <col>
Each <col> has one set of <data> (this set is variable)
The <data> sets are equal for all <col> in each <row>

Any help is appreciated

That's table transposition, I think: <xsl:template match="row"> <row> <xsl:for-each select="col[1]/data"> <xsl:variable name="nr" select="position()"/> <col> <xsl:for-each select="../../col"> <xsl:copy-of select="data[$nr]"/> </xsl:for-each> </col> </xsl:for-each> </row> </xsl:template>

Beware, almost untested.

J.Pietschmann


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



Current Thread