Elemento con codigo Html en Xml

26/09/2003 - 18:45 por C3 | Informe spam
Tengo un fichero Xml en el cual uno de sus elementos contiene código HTML.
Cuando le aplico la plantilla xslt para pasarlo a Html me aparece el
código html como una cadena de caracteres en lugar de el resultado de
aplicar ese código. ¿Como puedo hacer para que en lugar de eso me interprete
el código html?.

Preguntas similare

Leer las respuestas

#1 skarface
29/09/2003 - 23:03 | Informe spam
Nos podrias mostrar tu xsl? eso nos ayudara a ayudarte

"C3" <computer3sl@@hotmail.com> wrote in message
news:
Mostrar la cita
interprete
Mostrar la cita
#2 c3
30/09/2003 - 12:12 | Informe spam
Un ejemplo de los ficheros que utilizo sería:

Fichero XML
<?xml version="1.0" encoding="UTF-8"?>
<prueba>
<nivel1>&lt;h2&gt;jose luis &lt;/h2&gt;</nivel1>
<nivel2>mi casa</nivel2>
</prueba>

Fichero XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0"
encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<table width="100%" border="0"
cellpadding="0" cellspacing="0">
<tbody>
<tr>
<th></th>
<td> <xsl:copy-of
select="prueba/nivel2"/></td>
<td><xsl:value-of
select="prueba/nivel1"/></td>
</tr>
</tbody>
</table>
</xsl:template>
</xsl:stylesheet>

REsultado:

mi casa <h2>jose luis </h2>

en lugar de aparecer jose luis en el tamaño que marcan
las etiquetas me aparece la cadena de texto.


Mostrar la cita
contiene código HTML.
Mostrar la cita
Html me aparece el
Mostrar la cita
el resultado de
Mostrar la cita
lugar de eso me
Mostrar la cita
#3 Patrick Espinosa
01/10/2003 - 10:17 | Informe spam
C3, para que funcione la transformación, las etiquetas html de tu xml deben
estar construidas con los símbolos < y >, no con entidades, es decir,
debería estar así:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="entity.xsl"?>
<prueba>
<nivel1><h2>jose luis </h2></nivel1>
<nivel2>mi casa</nivel2>
</prueba>

y entonces el XSL quedaría así:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0"
encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<table width="100%" border="0"
cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td><xsl:copy-of select="prueba/nivel2"/></td>
<td><xsl:apply-templates select="prueba/nivel1"/></td>
</tr>
</tbody>
</table>
</xsl:template>

<xsl:template match="h2 | H2">
<H2><xsl:apply-templates/></H2>
</xsl:template>
</xsl:stylesheet>

Como ves, sólo necesitas usar un xsl:apply-templates.
NOTA: Si lo quieres hacer con entidades como tú lo tienes, es más
complicado, lo más
probable es que tendrías que usar un parser para realizar la transformación
del xml.

Saludos.
Patrick

"c3" wrote in message
news:195e01c3873b$643e4a90$
Un ejemplo de los ficheros que utilizo sería:

Fichero XML
<?xml version="1.0" encoding="UTF-8"?>
<prueba>
<nivel1>&lt;h2&gt;jose luis &lt;/h2&gt;</nivel1>
<nivel2>mi casa</nivel2>
</prueba>

Fichero XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0"
encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<table width="100%" border="0"
cellpadding="0" cellspacing="0">
<tbody>
<tr>
<th></th>
<td> <xsl:copy-of
select="prueba/nivel2"/></td>
<td><xsl:value-of
select="prueba/nivel1"/></td>
</tr>
</tbody>
</table>
</xsl:template>
</xsl:stylesheet>

REsultado:

mi casa <h2>jose luis </h2>

en lugar de aparecer jose luis en el tamaño que marcan
las etiquetas me aparece la cadena de texto.


Mostrar la cita
contiene código HTML.
Mostrar la cita
Html me aparece el
Mostrar la cita
el resultado de
Mostrar la cita
lugar de eso me
Mostrar la cita
Ads by Google
Search Busqueda sugerida