XSL スタイル シートで HTML を表示する
この記事では、XSL スタイル シートを操作して、XML データ内にある HTML タグを使用する方法について説明します。
元の製品バージョン: XSL スタイル シート
元の KB 番号: 264665
概要
XML データに HTML タグが含まれている場合、これらのタグは既定ではプレーン データと見なされ、HTML として解析されません。 出力は HTML 効果なしでテキストとして表示されます。 この記事では、XSL スタイル シートを操作して、XML データ内にある HTML タグを使用する方法について説明します。
詳細
要素で xsl:value-of
、XSL disable-output-escaping プロパティを使用し、 yes に設定します。 既定では、disable-output-escaping は no に設定されています。 このプロパティは、2000 年 5 月バージョンの XML パーサーで追加されました。
MSXML ロードマップから最新バージョンの MS XML パーサーをインストールできます。
次の XML/XSL の例では、XSL スタイル シートを操作して、XML データ内にある HTML タグを使用する方法を示します。
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>
最初 <F2>
の行の HTML データは、次の例に示すように、特殊文字シーケンスと CDATA セクションを使用して記述できます。
<F2><H1>This is a H1 heading</H1></F2>
<F2>
注:
や > などの<文字は XML の予約文字であり、XML ファイルに配置されている場合は解釈されません。 これらの文字を大文字と小文字を区別する文字シーケンスに置き換えます。 MICROSOFT の XML の操作の詳細については、「 MSXML SDK の概要」を参照してください。
次に示すのは、対応する TestHTML.xsl ファイルで、XSL スタイル シートを操作して XML データ内にある HTML タグを使用する方法を示しています。
==========================================================================
<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>
==========================================================================