Estoy pintando un calendario y quiero que los días me aparezcan en un color u otro si hay incidencias para ese día, para hacerlo en mi XSL, lo que hago es un bucle que recorre los días del mes, y por cada día busco a ver si tiene incidencia, y dependiendo de si tiene incidencia o no, lo saco de un color o de otro.
Mi problema es el siguiente estoy usando xsl:variable, pero no vale, porque no se puede cambiar el valor, entonces necesitaría saber si ha pintado la incidencia para no volver a pintar.... bueno es un poco lioso, casí dejo el código por si me podeis dar alguna idea.
El primer bucle recorre los dias y el segundo busca incidencias para cada día.
<xsl:for-each select="//registro_principal/registro[3]/fila_7/dias">
<!-- Guardamos la fecha para comprobar si existe en incidencia y el día para pintarlo -->
<xsl:variable name="fecha"><xsl:value-of select="fecha"/></xsl:variable>
<xsl:variable name="dias"><xsl:value-of select="dia"/></xsl:variable>
<!-- Buscamos la fecha guardada en las incidencias -->
<xsl:for-each select="//registro_principal/registro[3]/incidencias/incidencia">
<xsl:if test="fecha = $fecha"> <!-- En caso de existir incidencia pintar en rojo -->
<!-- no se como hacer para que esto lo pinte y no pinte lo otro-->
<td bgcolor="red"><xsl:value-of select="$dias"/></td>
</xsl:if>
</xsl:for-each>
<td bgcolor="{color}"><xsl:value-of select="dia"/></td>
</xsl:for-each>
Un saludo.