Subject: Re: [xsl] alternate row color in a table From: Jason Trépanier <jtrepanier@xxxxxxxxxxx> Date: Thu, 10 Mar 2005 15:46:36 -0500 |
How can a real "alternate row color in XSLT" be done?? I'll outline the problems with examples below, but I am hoping someone will offer a solution to this problem.
<?xml version="1.0" encoding="ISO-8859-1" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="ISO-8859-1" indent="yes"/>
<xsl:template match="/"> <xsl:for-each select="//books"> <xsl:sort order="ascending" select="title"/> <xsl:if test="title/*= $keyword"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr class="myBkgnd_{position() mod 2}">
<td width="*" class="pad"> <xsl:value-of select="title" /> </td> </tr> </table> </xsl:if> </xsl:for-each> </xsl:template>
if you pass this a keyword, it will display the results, however, seeing as how the results are not in sequential order, the position() does not work as one may wish. You will end up with several <tr>'s that are style1 and several <tr>'s that are style2 (in whatever order).
<books> <title>Book A</title> <title>Pamphlet 1</title> <title>Book B</title> <title>Book C</title> <title>Pamphlet 2</title> </books>
Book A (with style1) - actual position value = 1 Book B (with style1) - actual position value = 3 Book C (with style2) - actual position value = 4
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Cannot have multiple DOCTYPE , c p | Thread | Re: [xsl] alternate row color in a , Kevin Rodgers |
Re: [xsl] FO cross references, Markus Abt | Date | Re: [xsl] calling two consecutive x, António Mota |
Month |