Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/09/2004, 00:21
cabral
 
Fecha de Ingreso: abril-2004
Ubicación: Sevilla
Mensajes: 100
Antigüedad: 20 años
Puntos: 0
No se si estoy entendiendo muy bien lo que pretendes hacer, pero aqui va otro ejemplo que espero que te aclare algo, en este ejemplo utilizamos una constante y el nº de nodos padres de un nodo en concreto (que nos lo da el for-each), en este bucle utilizamos una variable globar con la constante y una variable local al for-each que la utilizaremos para el padding a utilizar.


<xsl:variable name="indice">10</xsl:variable>
<xsl:for-each select="documentacion/categorias/categoria/descendant-or-self::*">
<xsl:variable name="suma"><xsl:value-of select="$indice*count(node()/ancestor::*)"/></xsl:variable>
<tr>
<td align="left">
<span style="margin-left: 35px"></span>

<span class="categoria_documentacion">
<xsl:attribute name="style">padding-left: <xsl:value-of select="$suma*2"/>px</xsl:attribute>

-<a class="enlace">
<xsl:attribute name="href">categoria=<xsl:value-of select="@id_categoria" /></xsl:attribute>
<xsl:value-of select="node()"/>
</a>
</span><br/>
</td>
</tr>
</xsl:for-each>


Como ya decia en el post al que te hacia referencia no puedes utilizar el valor de la variable a actualizar para actualizarse a si misma...( variable = variable + cte).

Esta es la forma con la que yo consigo modificar los valores de una variable, pero como ves siempre es una variable local.

Espero que te sirva de algo, y si encuentras alguna otra solución no dudes en ponerla por aqui, que seguro que nos sera de gran ayuda.

Un saludo!!!!!!