Dar formato a una tabla en xsl

Mario
30 de Enero del 2004
Buenas. Tengo un problema con una tabla, y es que me piden que ponga una tabla con su correspondiente contendido, hasta aqui ningun problema, pero tambien me piden que una fila tenga fondo gris y otra fondo blanco, fondo gris, fondo blanco. y no se como hacerlo, ya que la tabla se genera con un <xsl:for-each select=.../>.
Entonces como podria hacerlo? Con algun tipo de variable y usando un if? se puede?

Gracias

Mai
30 de Enero del 2004
Existe una función XPath para determinar la posición de un elemento (position()). So hay que saber si esa posición es par o impar para ir alternando el color de fondo.
La solución sería algo así:

<xsl:for-each select=".....>
...
<xsl:variable name="pos" select="position() mod 2"/>
<xsl:if test="$pos = 0">
<tr bgcolor="xxx">...</tr>
</xsl:if>
<xsl:if test="$pos != 0">
<tr bgcolor="yyy">...</tr>
</xsl:if>
...
</xsl:for-each>