
20/07/2004, 00:13
|
| | Fecha de Ingreso: abril-2004 Ubicación: Sevilla
Mensajes: 100
Antigüedad: 20 años, 10 meses Puntos: 0 | |
Para dibujar una tabla con los colores de las filas alternadas no hace falta usar variables, ya que dices que lo haces con un for-each, lo único que tendrías que hacer es preguntar por la posición del nodo que estas viendo, si la posición del nodo es impar, tomas un color, si la posición es par tomas otro, sirva este trozo de código a modo de ejemplo:
<xsl:for-each select="raiz">
<xsl:if test="(position () mod 2) = 0">
<tr>
<td align="left" style="padding-left: 10px;" class="contenidoCampoPUB1" bgcolor="#f8f8f8">
<a class="enlaceTipos">
<xsl:if test="fecha_edicion=true() and fecha_edicion!=''">
<xsl:attribute name="href"><xsl:value-of select="/publicaciones/directorio"/><xsl:value-of select="/publicaciones/llamada"/><xsl:value-of select="numero_edicion"/></xsl:attribute>
<xsl:value-of select="fecha_edicion"/>
</xsl:if>
<xsl:if test="numero_edicion=true() and numero_edicion!=''">
<xsl:attribute name="href"><xsl:value-of select="/publicaciones/directorio"/><xsl:value-of select="/publicaciones/llamada"/><xsl:value-of select="numero_edicion"/></xsl:attribute>
<xsl:if test="fecha_edicion=true() and fecha_edicion!=''"> Nº de Edición: </xsl:if>
<xsl:value-of select="numero_edicion"/>
</xsl:if>
</a>
</td>
</tr>
</xsl:if>
<xsl:if test="(position () mod 2) != 0">
<tr>
<td align="left" style="padding-left: 10px;" class="contenidoCampoPUB1" bgcolor="#f0f0f0">
<a class="enlaceTipos">
<xsl:if test="fecha_edicion=true() and fecha_edicion!=''">
<xsl:attribute name="href"><xsl:value-of select="/publicaciones/directorio"/><xsl:value-of select="/publicaciones/llamada"/><xsl:value-of select="numero_edicion"/></xsl:attribute> <xsl:value-of select="fecha_edicion"/>
</xsl:if>
<xsl:if test="numero_edicion=true() and numero_edicion!=''">
<xsl:attribute name="href"><xsl:value-of select="/publicaciones/directorio"/><xsl:value-of select="/publicaciones/llamada"/><xsl:value-of select="numero_edicion"/></xsl:attribute>
<xsl:if test="fecha_edicion=true() and fecha_edicion!=''"> Nº de Edición: </xsl:if> <xsl:value-of select="numero_edicion"/>
</xsl:if>
</a>
</td>
</tr>
</xsl:if>
</xsl:for-each>
Como puedes observar, cada uno de las filas tiene un color, lo único que miramos es la posición del nodo que estamos recorriendo, como supongo que sabrás el for-each es secuencial y recorrera los nodos según el orden que estén en el xml, simplemente intentaremos aprovechar esa situación.
Espero haberte ayudado un poco más, si sigues teniendo alguna duda... no dudes en comunicarlo.
Un saludo. |