Subject: RE: [xsl] From one xml put the data into 3 columns. Please help me From: Jarno.Elovirta@xxxxxxxxx Date: Mon, 8 Mar 2004 11:29:26 +0200 |
Hi, > I have one great problem, for me. > During 2 weeks i have one great problem and i don't know how > to solve it. > > > y have the bellow xml file and i want to put the data, the > paginas_titulo > node in 3 columns: > <tr><td>paginas_titulo 1</td><td>paginas_titulo > 2</td><td>paginas_titulo > 3</td></tr> > <tr><td>paginas_titulo 4</td><td>paginas_titulo > 5</td><td>paginas_titulo > 6</td></tr> > > ...... > > if there are 5 nodes (paginas_titulo nodes) apears one row > with 3 columns > with data and other row with 2 columns with data and the other without > data. <xsl:template match="sn_servicioproyecto"> <xsl:variable name="cols" select="3"/> <table> <tbody> <xsl:for-each select="informacion/sn_masterinformacion[position() mod $cols = 1]"> <tr> <xsl:for-each select=". | following-sibling::sn_masterinformacion[position() <= 2]"> <td> <xsl:value-of select="paginas/sn_paginas/paginas_titulo"/> </td> </xsl:for-each> <!-- filler --> <xsl:for-each select="(document('')//node())[position() < ($cols - count(current()/following-sibling::sn_masterinformacion))]"> <td/> </xsl:for-each> </tr> </xsl:for-each> </tbody> </table> </xsl:template> The filler bit above isn't really that efficient, e.g. <xsl:if test="not(following-sibling::sn_masterinformacion[1])"> <td/> <xsl:if test="not(following-sibling::sn_masterinformacion[2])"> <td/> </xsl:if> </xsl:if> is faster and more readable. Cheers, Jarno - The Cure: To Wish Impossible Things XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] From one xml put the data, Jeni Tennison | Thread | [xsl] Starts-with and navigation ba, Paul Spence |
[xsl] From one xml put the data int, Dionisio Ruiz de Zar | Date | Re: [xsl] What is the best XSLT boo, Jeni Tennison |
Month |