Subject: RE: [xsl] Grouping question From: bryan.s.schnabel@xxxxxxxxxxxxxx Date: Tue, 21 May 2002 10:31:41 -0700 |
While we wait for Jeni to give us the well-thought-out XSLT 1.0 Meunchian method, here's some fun to consider with XSLT 2.0. Assuming your input is well formed (not </color>): <data> <n color="R">1</n> <n color="R">2</n> <n color="R">3</n> <n color="Y">4</n> <n color="Y">5</n> <n color="Y">6</n> <n color="W">7</n> <n color="W">8</n> <n color="W">9</n> </data> Something like this would work: <xsl:template match="data"> <tables> <xsl:for-each-group select="n" group-by="@color"> <xsl:sort select="." /> <table> <xsl:for-each select="current-group()"> <xsl:if test="position() mod 2"> <xsl:variable name="color" select="@color" /> <tr> <td> <xsl:value-of select="." /> </td> <xsl:if test="following-sibling::n[@color=$color]"> <td> <xsl:value-of select="following-sibling::n[@color=$color]" /> </td> </xsl:if> </tr> </xsl:if> </xsl:for-each> </table> </xsl:for-each-group> </tables> </xsl:template> Bryan -----Original Message----- From: Spectron International, Inc. [mailto:spectron@xxxxxxxxx] Sent: Tuesday, May 21, 2002 7:05 AM To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx Subject: [xsl] Grouping question I have the following XML: <data> <n color="R">1</color> <n color="R">2</color> <n color="R">3</color> <n color="Y">4</color> <n color="Y">5</color> <n color="Y">6</color> <n color="W">7</color> <n color="W">8</color> <n color="W">9</color> </data> and I want to create 3 tables (one for each color) with 2 columns each: <table> <tr><td>1</td><td>2</td></tr> <tr><td>3</td></tr> </table> <table> <tr><td>4</td><td>5</td></tr> <tr><td>6</td></tr> </table> <table> <tr><td>7</td><td>8</td></tr> <tr><td>9</td></tr> </table> I have checked the grouping section in http://www.dpawson.co.uk/xsl/ but none of the samples do what I need. How can I do that? Faw XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Grouping question, Spectron Internation | Thread | Re: [xsl] Grouping question, Joerg Heinicke |
Re: [xsl] variable nodelist travar, Jeni Tennison | Date | Re: [xsl] accessing last element of, paul morgan |
Month |