This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Regrouping XML Data


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]