RE: [xsl] Display records in 3 columns

Subject: RE: [xsl] Display records in 3 columns
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Thu, 1 Apr 2004 12:08:58 +0100
You can do it this way, but you need to display a different node each time,
so you presumably want something like

<xsl:value-of select="data/objekt/filename[$count+1]"/>

However, you really don't need recursion for this. Just

<xsl:for-each select="data/objekt/filename">
    <xsl:if test="position() mod 3 = 0">..</xsl:if>

Michael Kay

> -----Original Message-----
> From: Peter Lukan [mailto:peter.lukan@xxxxxxxx] 
> Sent: 01 April 2004 10:04
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Display records in 3 columns 
> 
> Hello!
> 
> I'm having trouble with displaying data in 3 columns.
> 
> I've managed to create a table with 3 columns :
> 
> ******* XSL code ***********
> 
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
> version="1.0">
> 
> <xsl:output method="html"/>
> 
> <xsl:template match="/">
>  <table width="400">
>  <xsl:call-template name="coloredRow">
>   <xsl:with-param name="count" select="1"/>
>  </xsl:call-template>
>  </table>
> </xsl:template>
> 
> 
> <xsl:template name="coloredRow">
> <xsl:param name="count"/>
> 
> <xsl:if test="$count != count(data/objekt)">
> 
>   <xsl:if test="1=($count mod 3)">#<#tr#>#</xsl:if>
> 
>   <td bgcolor="#ccff66">
>     vsebina: <xsl:value-of select="data/objekt/filename"/>
>    </td>
> 
>   <xsl:if test="0=($count mod 3)">#<#/tr#>#</xsl:if>
>      <xsl:call-template name="coloredRow">
>         <xsl:with-param name="count" select="$count + 1"/>
>      </xsl:call-template>
> 
> </xsl:if>
> </xsl:template>
> 
> </xsl:stylesheet>
> 
> ************* end of XSL code **************
> 
> but I can't display different records in this code <xsl:value-of
> select="data/objekt/filename"/>
> I think I should use position() function but don't know how!
> 
> Thanx Peter Lukan

Current Thread