Udostępnij za pośrednictwem


Wyświetlanie kodu HTML w arkuszu stylów XSL

W tym artykule opisano sposób pracy z arkuszami stylów XSL w celu używania tagów HTML, które znajdują się wewnątrz danych XML.

Oryginalna wersja produktu: arkusze stylów XSL
Oryginalny numer KB: 264665

Podsumowanie

Gdy dane XML zawierają tagi HTML, te tagi są domyślnie traktowane jako zwykłe dane i nie są analizowane jako HTML. Dane wyjściowe są wyświetlane jako tekst bez efektów HTML. W tym artykule wyjaśniono, jak pracować z arkuszami stylów XSL w celu używania tagów HTML, które znajdują się wewnątrz danych XML.

Więcej informacji

W elemecie xsl:value-of użyj właściwości disable-output-escaping XSL, a następnie ustaw ją na tak. Domyślnie przełącznik disable-output-escaping jest ustawiony na nie. Ta właściwość została dodana z wersją analizatora XML z maja 2000 r.

Możesz zainstalować najnowszą wersję analizatora MSXML z Planu rozwoju MSXML.

W poniższym przykładzie XML/XSL pokazano, jak pracować z arkuszami stylów XSL w celu używania tagów HTML, które znajdują się wewnątrz danych 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>

Dane HTML w pierwszym <F2> wierszu można zapisywać przy użyciu sekwencji znaków specjalnych i sekcji CDATA, jak pokazano w poniższych przykładach:

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

Uwaga

Znaki takie jak < i > są zastrzeżonymi znakami w formacie XML i nie są interpretowane, jeśli są umieszczane w pliku XML. Zastąp te znaki sekwencjami znaków uwzględniającymi wielkość liter. Aby uzyskać więcej informacji na temat pracy firmy Microsoft z językiem XML, zobacz Omówienie zestawu MSXML SDK.

Poniżej znajduje się odpowiedni plik TestHTML.xsl, który pokazuje, jak pracować z arkuszami stylów XSL w celu używania tagów HTML, które znajdują się wewnątrz danych 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>
==========================================================================

Bibliografia