Al mostrarlo desde el XSL me muestra el código fuente, sin interpretarlo... o sea que en vez de poner hola en negrita me pone <b>hola</b>
Como puedo hacer que me lo interprete ?
Saludos
|
|
#1 (permalink) |
|
$moderador{'Esteban'}
![]() ![]() |
XSL: mostrar el HTML de un CDATA
Al mostrarlo desde el XSL me muestra el código fuente, sin interpretarlo... o sea que en vez de poner hola en negrita me pone <b>hola</b> Como puedo hacer que me lo interprete ? Saludos |
|
|
|
|
|
#2 (permalink) |
|
Colaborador
![]() ![]() ![]() ![]() ![]() ![]() Fecha de Ingreso: octubre-2006
Ubicación: A tu espalda
Mensajes: 3.450
|
Yo diría que debes usar la etiqueta copy-of para que muestre el contenido del CDATA tal cual.
<xsl:template match="tu_etiqueta"> <xsl:copy-of select="."/> </xsl:template> Esto sacará el conteido tal cuál, y por tanto será interpretada la negrita. Mikel. |
|
|
|
|
|
#3 (permalink) |
|
$moderador{'Esteban'}
![]() ![]() |
No me funciona como dices
![]() <xsl:template match="/root/pagina"> <div class="pTitle"><xsl:value-of select="titulo" /></div> <xsl:copy-of select="cuerpo" /> </xsl:template> el XMl es <root><pagina> <titulo>quelindo</titulo> <cuerpo>hola<b>que onda</b></cuerpo> </pagina></root> me muestra el código fuente con los <b> y todo, al igual que si pongo el value-of Que podría ser / hacer ? Saludos |
|
|
|
|
|
#4 (permalink) |
|
Colaborador
![]() ![]() ![]() ![]() ![]() ![]() Fecha de Ingreso: octubre-2006
Ubicación: A tu espalda
Mensajes: 3.450
|
Buscando el problema
He hecho la prueba con tu xml y el código xsl que pones y veo perfectamente la negrita, tanto en Explorer como en Firefox. Igual el problema está en la cabecera:
¿Tienes puesto en la cabecera del archivo xsl los siguente? <xsl:output method="html" encoding="ISO-8859-1"/> En Firefox, si tienes el method de salida como xml (xsl:output method="xml"), no verás la negrita, porque devuelve un xml que no interpreta el formato, pero si pones html como salida ves la negrita perfectamente. No sé si será este el problema. Si no, pon el archivo xslt al completo a ver si se ve otra cosa. Mikel. |
|
|
|
|
|
#7 (permalink) |
|
Colaborador
![]() ![]() ![]() ![]() ![]() ![]() Fecha de Ingreso: octubre-2006
Ubicación: A tu espalda
Mensajes: 3.450
|
Depende
No, justamente al estar en un CDATA le estás diciendo: "lo que viene a continuación es código, y no debes interpretarlo", de forma que por eso no lo interpreta. Depende de qué código debe ir directamente dentro de la etiqueta que sea, pero según cuál, puede que sea mejor que le dés una característica única a esa etiqueta y luego añadas el código mediante la xslt.
En el ejemplo que ponías, <root><pagina> <titulo>quelindo</titulo> <cuerpo>hola<b>que onda</b></cuerpo> </pagina></root> es posible hacerlo así sin que pase nada (todo depende de tu DTD), pero también sería posible separar lo que va en negrita en otra etiqueta y sacarla en negrita con la xslt, por ejemplo: <root><pagina> <titulo>quelindo</titulo> <cuerpo>hola</cuerpo> <saludo>que onda</saludo> </pagina></root> Y luego en la xslt añadir <xsl:template match="saludo"> <b> <xsl:apply-templates/> </b> </xsl:template> Según qué quieras usar es mejor hacerlo de una manera o de otra, aunque en general es mejor la segunda. Mikel. |
|
|
|