This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: mismatched tags with xsl:if
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: Re: [xsl] mismatched tags with xsl:if
- From: "Jonathan Cates" <catesj at home dot com>
- Date: Tue, 13 Mar 2001 05:43:36 -0500
- References: <000d01c0aba8$88abf4c0$ab3f3c3e@oemcomputer>
- Reply-To: xsl-list at lists dot mulberrytech dot com
Yes, the answer to that question is in the FAQ. In particular, look at the
tables example, and the sub topic
10. Multiple Rows in a Table
This, I believe is what you're looking for.
Jon
----- Original Message -----
From: "Michael Kay" <mhkay@iclway.co.uk>
To: <xsl-list@lists.mulberrytech.com>
Sent: Tuesday, March 13, 2001 5:23 AM
Subject: RE: [xsl] mismatched tags with xsl:if
> > 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
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list