Sustituir comilla simple por otro caracter
Publicado por Rafitelli (2 intervenciones) el 21/04/2006 11:08:01
Hola a todos los XSLeros que sufren tanto con este maldito lenguaje :) esto no es una duda, sino una solucion para aquellos que esteis intentando reemplazar por medio de XSL caracteres raros por otros que no sean tan raros. me explico:
Trabajo en un portal de viajes, y los XML que recibimos de proveedores a veces tienen como nombre del hotel o como poblacion algun texto que lleva por ejemplo, & o comilla simple, o algun otro caracter que no les gusta nada a los sistemas. La manera que intentaba era la siguiente:
<NombreHotel>
<xsl:value-of select="translate(normalize-space(nomhotel),''','´')" />
</NombreHotel>
para sustiruir la comilla simple por un acento, lo cual no me funcionaba puesto que no reconocia esa expresion Xpath.
lo que se me ocurrio fue lo siguiente:
declarar un parametro que inicio en la propia XSL:
<xsl:param name="Comilla">'</xsl:param>
y luego hacer lo siguiente:
<NombreHotel>
<xsl:value-of select="translate(normalize-space(nomhotel),$Comilla,'´')" />
</NombreHotel>
y funciona a la perfeccion :)
Bueno espero que mi pequeñisima contribucion a la causa sirva a alguien para no tener que pasar un mal rato como yo lo he tenido que hacer...
Bye, un saludo del XSLero enmascarado jajajjajjajajajj
Trabajo en un portal de viajes, y los XML que recibimos de proveedores a veces tienen como nombre del hotel o como poblacion algun texto que lleva por ejemplo, & o comilla simple, o algun otro caracter que no les gusta nada a los sistemas. La manera que intentaba era la siguiente:
<NombreHotel>
<xsl:value-of select="translate(normalize-space(nomhotel),''','´')" />
</NombreHotel>
para sustiruir la comilla simple por un acento, lo cual no me funcionaba puesto que no reconocia esa expresion Xpath.
lo que se me ocurrio fue lo siguiente:
declarar un parametro que inicio en la propia XSL:
<xsl:param name="Comilla">'</xsl:param>
y luego hacer lo siguiente:
<NombreHotel>
<xsl:value-of select="translate(normalize-space(nomhotel),$Comilla,'´')" />
</NombreHotel>
y funciona a la perfeccion :)
Bueno espero que mi pequeñisima contribucion a la causa sirva a alguien para no tener que pasar un mal rato como yo lo he tenido que hacer...
Bye, un saludo del XSLero enmascarado jajajjajjajajajj
Valora esta pregunta


0