XSL 스타일시트에 HTML 표시

이 문서에서는 XSL 스타일시트를 사용하여 XML 데이터 내에 있는 HTML 태그를 사용하는 방법을 설명합니다.

원래 제품 버전: XSL 스타일시트
원본 KB 번호: 264665

요약

XML 데이터에 HTML 태그가 포함된 경우 해당 태그는 기본적으로 일반 데이터로 간주되며 HTML로 구문 분석되지 않습니다. 출력은 HTML 효과 없이 텍스트로 표시됩니다. 이 문서에서는 XSL 스타일시트를 사용하여 XML 데이터 내에 있는 HTML 태그를 사용하는 방법을 설명합니다.

추가 정보

요소에서 xsl:value-of XSL disable-output-escaping 속성을 사용한 다음 예로 설정합니다. 기본적으로 disable-output-escaping은 아니요로 설정 됩니다. 이 속성은 XML 파서의 2000년 5월 버전과 함께 추가되었습니다.

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>&lt;H1&gt;This is a H1 heading&lt;/H1&gt;</F2>
  • <F2>

참고

및 > 와 같은 < 문자는 XML에서 예약된 문자이며 XML 파일에 배치된 경우 해석되지 않습니다. 이러한 문자를 대/소문자를 구분하는 문자 시퀀스로 대체합니다. Microsoft의 XML 작업에 대한 자세한 내용은 MSXML SDK 개요를 참조하세요.

다음은 XSL 스타일시트를 사용하여 XML 데이터 내에 있는 HTML 태그를 사용하는 방법을 보여 주는 해당 TestHTML.xsl 파일입니다.

==========================================================================
<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>
==========================================================================

참조