Saltar al contenido

¿Cómo cambiar o reasignar una variable en XSLT?

Solución:

A las variables en XSLT solo se les puede asignar un valor una vez. Esto se hace por diseño. Consulte ¿Por qué los lenguajes funcionales? para una apreciación de la motivación en general.

En lugar de reasignar una variable, escriba condicionales directamente en el documento de entrada o llame a una función (o plantilla con nombre) de forma recursiva con parámetros locales variables.

Todo lo que necesite hacer se puede hacer con un enfoque que no requiere reasignación de variables. Para recibir una respuesta más específica, proporcione una pregunta más específica.

Ver también:

  • En XSLT, ¿cómo puedo incrementar una variable global desde un ámbito diferente?
  • Incrementar un valor en XSLT
  • Utilice la recursividad de forma eficaz en XSL

Solo usa múltiples variables. Aquí está su ejemplo hecho para funcionar …

    <xsl:variable name="variable1" select="'N'" />
    ....
    <xsl:variable name="variable2">
        <xsl:choose>
            <xsl:when test="@tip = '2' and $variable1 != 'Y'">
                <xsl:value-of select="'Y'" />
            </xsl:when>
            <xsl:otherwise>
                <xsl:value-of select="$variable1" />
            </xsl:otherwise>
        </xsl:choose>
    </xsl:variable>

No puede: las ‘variables’ en XSLT son en realidad más como constantes en otros lenguajes, no pueden cambiar el valor.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *