Mostrar HTML en la hoja de estilos XSL

En este artículo se describe cómo trabajar con las hojas de estilos XSL para usar las etiquetas HTML que están dentro de datos XML.

Versión original del producto: Hojas de estilos XSL
Número de KB original: 264665

Resumen

Cuando los datos XML contienen etiquetas HTML, estas etiquetas se consideran datos sin formato de forma predeterminada y no se analizan como HTML. La salida se muestra como texto sin efectos HTML. En este artículo se explica cómo trabajar con las hojas de estilos XSL para usar las etiquetas HTML que están dentro de datos XML.

Más información

En el xsl:value-of elemento , use la propiedad disable-output-escapeing de XSL y, a continuación, establézcala en . De forma predeterminada, disable-output-escaping se establece en no. Esta propiedad se agregó con la versión de mayo de 2000 del analizador XML.

Puede instalar la versión más reciente del analizador XML de MS desde MSXML Roadmap.

En el siguiente ejemplo XML/XSL se muestra cómo trabajar con las hojas de estilos XSL para usar las etiquetas HTML que están dentro de datos XML:

Here is the XML file that we want to display...
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="testHTML.xsl"?>
<TABLE>
    <ROW>
        <F1>Next one should be in H1 heading</F1>
        <F2><H1>This is a H1 heading</H1></F2>
    </ROW>
    <ROW>
        <F1>Next one should be Italic</F1>
        <F2><I>I am italic</I></F2>
    </ROW>
    <ROW>
        <F1>Next one is a link</F1>
        <F2>Goto <A HREF="https://www.microsoft.com">Microsoft</A></F2>
    </ROW>
</TABLE>

Los datos HTML de la primera <F2> línea se pueden escribir con secuencias de caracteres especiales y la sección CDATA, como se muestra en los ejemplos siguientes:

  • <F2>&lt;H1&gt;This is a H1 heading&lt;/H1&gt;</F2>
  • <F2>

Nota:

Los caracteres como < y > son caracteres reservados en XML y no se interpretan si se colocan en un archivo XML. Sustituya estos caracteres por secuencias de caracteres que distinguen mayúsculas de minúsculas. Para obtener más información sobre el trabajo de Microsoft con XML, consulte Introducción al SDK de MSXML.

A continuación se muestra el archivo TestHTML.xsl correspondiente que muestra cómo trabajar con las hojas de estilos XSL para usar las etiquetas HTML que están dentro de datos XML:

==========================================================================
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" >
<xsl:template match="TABLE">
<HTML>
    <BODY>
        <TABLE border='1' style='table-layout:fixed' width='600'>
            <TR bgcolor='#FFFF00'>
                <TD>Expected action</TD>
                <TD>HTML display</TD>
            </TR>
            <xsl:for-each select="ROW">
            <TR>
                <TD><xsl:value-of select='F1'/></TD>
                <TD><xsl:value-of select='F2' disable-output-escaping="yes"/></TD>
            </TR>
        </xsl:for-each>
        </TABLE>
    </BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
==========================================================================

Referencias