RE: [xsl] mismatched tags with xsl:if

Subject: RE: [xsl] mismatched tags with xsl:if
From: "Michael Kay" <mhkay@xxxxxxxxxxxx>
Date: Tue, 13 Mar 2001 10:23:53 -0000
> I'll explain a bit further what I'm trying to do.

That's always a good idea! Coding problems usually boil down to people
tackling the problem the wrong way. (And often turn out to be a FAQ!)

 I actually
> want to render a 3 collumns XHTML table with a list of items.
> I want them to appear as follow :
>
> item1  item2  item3
> item4  item5  item6
> item7  ...
>
> To do so, I have a for-each loop over the items that
> output the <td>item</td>.  Now I have to set some
> condition to generate the <tr> and </tr> every three
> items.

The solution to this kind of grouping problem is along the lines of

<xsl:for-each select="item[position() mod 3 = 1]">
   <tr>
     <td><xsl:value-of select="."/></td>
     <td><xsl:value-of select="following-sibling::item[1]"/></td>
     <td><xsl:value-of select="following-sibling::item[2]"/></td>
   </tr>
</xsl:for-each>

Mike Kay
Software AG


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


Current Thread