Elementos XML con TAGS HTML

10/10/2003 - 23:23 por Isaias Martinez MVP | Informe spam
Hola,

actualmente tengo un problema, a ver si ya alguien lo habra resuelto, tengo
un xml que varios de los elementos en su data puede haber tags html, por
ejemplo negrita, font, h, etc,, cuando le aplico el xsl estos tag no son
interpretados por el browser y no los muestra.

Data XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="noticia.xsl"?>
<Noticia>
<AnteTitulo>AnteTitulo </AnteTitulo>
<Titulo>Título </Titulo>
<Sumario>Sumario </Sumario>
<PParrafo>Primer Parrafo </PParrafo>
<Cuerpo>Linea 1<br/>Linea 2<br/><b>Linea 3</b></Cuerpo>
<Imagen1>fotos/P607.jpg</Imagen1>
<Imagen2>fotos/S607.jpg</Imagen2>
<Video>fotos/V607.jpg</Video>
</Noticia>


Data XSL

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/Noticia">
<body bgcolor="#dddddd">
<TABLE width="100%" BORDER="0" style="FONT-SIZE: 10px; FONT-STYLE: normal;
FONT-FAMILY: Verdana;">
<TR>
<TD>
<EM>
<xsl:value-of select="AnteTitulo"/>
</EM>
</TD>
</TR>
<TR>
<TD>
<b>
<xsl:value-of select="Titulo"/>
</b>
</TD>
</TR>
<TR>
<TD>
<div align="justify">
<xsl:value-of select="Sumario"/>
</div>
</TD>
</TR>
<TR>
<TD>
<div align="justify">
<xsl:value-of select="PParrafo"/>
</div>
</TD>
</TR>
<TR>
<TD>
<div align="justify">
<xsl:value-of select="Cuerpo"/>
</div>
</TD>
</TR>
<xsl:if test="Imagen1!=''">
<TR>
<TD>
<IMG width="220" height="180" border="1">
<xsl:attribute name="src">
<xsl:value-of select="Imagen1"/>
</xsl:attribute>
</IMG>
</TD>
</TR>
</xsl:if>
<xsl:if test="Imagen2!=''">
<TR>
<TD>
<IMG width="220" height="180" border="1">
<xsl:attribute name="src">
<xsl:value-of select="Imagen2"/>
</xsl:attribute>
</IMG>
</TD>
</TR>
</xsl:if>
<xsl:if test="Video!=''">
<TR>
<TD>
<A target="_blank">
<xsl:attribute name="href">
<xsl:value-of select="Video"/>
</xsl:attribute>
Archivo Adjunto
</A>
</TD>
</TR>
</xsl:if>
</TABLE>
</body>
</xsl:template>
</xsl:stylesheet>


gracias por la ayuda prestada,


Isaias Martinez
MCSD, MVP C#
Caracas, Venezuela
 

Leer las respuestas

#1 Patrick Espinosa
13/10/2003 - 10:09 | Informe spam
Isaias, necesitas utilizar xsl:templates para que reconozca los tags html,
por ejemplo, para negritas sería así:

<xsl:template match="B | b | STRONG | strong">
<B><xsl:apply-templates/></B>
</xsl:template>

o para salto de línea asi:

<xsl:template match="br | BR">
<BR/><xsl:apply-templates/>
</xsl:template>

éstas las pones al fin de xsl, antes de la etiqueta </xsl:stylesheet>,
luego, para llamarlas, tienes que aplicarle templates al contenido,
o sea que en vez de aplicar un value-of, utilizas un apply-templates,
ejem:

<xsl:apply-templates select="AnteTitulo"/>

ésto resoverá tu problema.

Saludos.
Patrick Espinosa.




"Isaias Martinez MVP" wrote in message
news:#
Hola,

actualmente tengo un problema, a ver si ya alguien lo habra resuelto,


tengo
un xml que varios de los elementos en su data puede haber tags html, por
ejemplo negrita, font, h, etc,, cuando le aplico el xsl estos tag no son
interpretados por el browser y no los muestra.

Data XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="noticia.xsl"?>
<Noticia>
<AnteTitulo>AnteTitulo </AnteTitulo>
<Titulo>Título </Titulo>
<Sumario>Sumario </Sumario>
<PParrafo>Primer Parrafo </PParrafo>
<Cuerpo>Linea 1<br/>Linea 2<br/><b>Linea 3</b></Cuerpo>
<Imagen1>fotos/P607.jpg</Imagen1>
<Imagen2>fotos/S607.jpg</Imagen2>
<Video>fotos/V607.jpg</Video>
</Noticia>


Data XSL

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/Noticia">
<body bgcolor="#dddddd">
<TABLE width="100%" BORDER="0" style="FONT-SIZE: 10px; FONT-STYLE:


normal;
FONT-FAMILY: Verdana;">
<TR>
<TD>
<EM>
<xsl:value-of select="AnteTitulo"/>
</EM>
</TD>
</TR>
<TR>
<TD>
<b>
<xsl:value-of select="Titulo"/>
</b>
</TD>
</TR>
<TR>
<TD>
<div align="justify">
<xsl:value-of select="Sumario"/>
</div>
</TD>
</TR>
<TR>
<TD>
<div align="justify">
<xsl:value-of select="PParrafo"/>
</div>
</TD>
</TR>
<TR>
<TD>
<div align="justify">
<xsl:value-of select="Cuerpo"/>
</div>
</TD>
</TR>
<xsl:if test="Imagen1!=''">
<TR>
<TD>
<IMG width="220" height="180" border="1">
<xsl:attribute name="src">
<xsl:value-of select="Imagen1"/>
</xsl:attribute>
</IMG>
</TD>
</TR>
</xsl:if>
<xsl:if test="Imagen2!=''">
<TR>
<TD>
<IMG width="220" height="180" border="1">
<xsl:attribute name="src">
<xsl:value-of select="Imagen2"/>
</xsl:attribute>
</IMG>
</TD>
</TR>
</xsl:if>
<xsl:if test="Video!=''">
<TR>
<TD>
<A target="_blank">
<xsl:attribute name="href">
<xsl:value-of select="Video"/>
</xsl:attribute>
Archivo Adjunto
</A>
</TD>
</TR>
</xsl:if>
</TABLE>
</body>
</xsl:template>
</xsl:stylesheet>


gracias por la ayuda prestada,


Isaias Martinez
MCSD, MVP C#
Caracas, Venezuela


Preguntas similares