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:
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?.



Respuesta Responder a este mensaje
#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.


Nos podrias mostrar tu xsl? eso nos ayudara a ayudarte

"C3" <computer3sl@@hotmail.com> wrote in message
news:
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?.







.

Respuesta Responder a este mensaje
#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.


Nos podrias mostrar tu xsl? eso nos ayudara a ayudarte

"C3" <computer3sl@@hotmail.com> wrote in message
news:
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?.







.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida