Web Artisan Blog - ウェブ アルチザン ブログ

XML:XSLT:CDATAセクション:XSLTでHTML出力する際、特殊文字表現せず自由に記述する方法

XML (18 items)

2004年10月12日

■CDATAセクション
XSLT内でHTMLやXMLで特殊文字にあたる”<”や”>”などの文字列を、
気にせず、そのまま使用できる。

<記述例>

<xsl:output method="html" cdata-section-elements="cdatatest"/>
     ・
     ・
     ・
<cdatatest><![CDATA[
<テスト>
]]></cdatatest>



<スポンサードリンク>
”<”や”>”などをXSLTファイル内にそのまま書くと、
XSLTタグの文字として認識され、エラーとなる。

<エラー使用例>
・XMLデータ(data5.xml)

<?xml version="1.0" encoding="Shift_JIS" ?>
<?xml-stylesheet type="text/xsl" href="data5.xsl"?>
<html>
CDATAテスト
</html>



・XMLデータを編集するXSLT(data5.xsl)

<?xml version="1.0" encoding="Shift_JIS" ?>
<xsl:stylesheet 
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns="http://www.w3.org/1999/xhtml" version="1.0">
<xsl:output
 method="html" 
 version="1.0" 
 encoding="Shift_JIS" 
 omit-xml-declaration="yes"
 standalone="yes"
 doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" 
 doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" 
 indent="yes" 
 media-type="text/html"/>

<xsl:template match="/">

 <xsl:apply-templates />
 <br />
<テスト> ・・・"<",">"で囲まれた文字・・・(1)

</xsl:template> 

</xsl:stylesheet>
</xsl:stylesheet>



※上記の場合は、(1)の記述中に”<”や”>”が含まれている為、エラーとなる。


<正しい使用例>
・XMLデータを編集するXSLT(data5.xsl)

<?xml version="1.0" encoding="Shift_JIS" ?>
<xsl:stylesheet 
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns="http://www.w3.org/1999/xhtml" version="1.0">
<xsl:output
 method="html" 
 version="1.0" 
 encoding="Shift_JIS" 
 omit-xml-declaration="yes"
 standalone="yes"
 doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" 
 doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" 
 indent="yes" 
 media-type="text/html"/>
<xsl:output method="html" cdata-section-elements="cdatatest"/>

<xsl:template match="/">

 <xsl:apply-templates />
 <br />
<cdatatest><![CDATA[
<テスト> ・・・"<",">"で囲まれた文字
]]></cdatatest>

</xsl:template> 
</xsl:stylesheet>




・生成したHTML

<html>
CDATAテスト
<br />
<テスト> ・・・"<",">"で囲まれた文字
</html>




■使用例のダウンロード
ダウンロードし、data5.xmlをブラウザで見る事で確認できます。

>>ダウンロード
※XSLTの動くブラウザでお試し下さい。IEであればIE6以上です。
<スポンサードリンク>
前の記事 次の記事

Comments

コメントは、まだ書かれていません

Add Comments

Trackback

トラックバックはありません

Trackback URL

http://www.res-system.com/weblog/action.php?action=plugin&name=TrackBack&tb_id=308