Escapar texto en una transformada XSLT

Hace poco escribí como escribir el símbolo del euro en una transformada XSLT. Para completar lo que ya comenté en su momento, explicaré como se escapan caracteres en una transformada para no tener que recurrir a buscar códigos especiales de HTML tal como el €.

Para escapar texto dentro de una transformada existe un parámetro llamado disable-output-escaping que toma los valores yes|no, en función de si queremos o no deshabilitar que se escapen caracteres. Este atributo se aplica a 2 etiquetas de XSL, la etiqueta xsl:text y la etiqueta xsl:value-of, aunque seguramente se aplique ha alguno más.

Ejemplo de como funciona:

<xsl:text disable-output-escaping="yes">
     <![CDATA[&euro;]]>
</xsl:text>
<xsl:value-of select="$variable" disable-output-escaping="no" />

Cuando aplicamos disable-output-escaping sobre xsl:value-of, este deshabilitara el escapado si así se lo indicamos sobre el contenido de la variable. Por el contrario, al aplicarlo sobre el xsl:text, necesitamos poner el texto a escapar encerrado entre CDATA, ya que sino, puede dar errores.

Deja un comentario

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

Scroll al inicio