![]() |
XSL: mostrar el HTML de un CDATA Tengo un XML que tiene en un lugar un CDATA con un código fuente HTML dentro... 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 |
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. |
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 |
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. |
wow, joder, es verdad, ese código funciona y hace lo que necesito...Ahora veré paso por paso que es lo que puede estar fallando en mi código entero... Saludos y gracias !!! |
Me funciona pero sin el CDATA, poniendo directamente el código entre los tags...Con el CDATA no me funca...:-( para poner código HTML dentro de un XML lo correcto es el cdata no ? O es correcto tirar los tags dentro del XML ? Saludos |
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. |
Mil gracias chaval, me quedó más que claro !!! Saludos |
Respuesta: XSL: mostrar el HTML de un CDATA Como estas viejo!! estoy teniendo el mismo problema, tampoco a mi me interpreta el codigo html desde el xml/xsl podrias guiarme como solucionar? |
Respuesta: XSL: mostrar el HTML de un CDATA El ejemplo que coloqué antes funciona bien...estúdialo que te debería de funcionar Más que eso no puedo hacer...si no colocas el código fuente... Saludos |
| La zona horaria es GMT -6. Ahora son las 08:49. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.