SCRIPT/STYLE要素内容としてのCDATA

要素内容としてのCDATAは純然たる文字列としてアプリケーションに渡される。即ちCDATA型属性値と違い「&」が文字実体参照、数値文字参照の開始として扱われないし、また「<」もマークの開始として扱われない。但し終了タグの開始を示すマーク「</」のみ、終了タグの開始として扱われ、要素が終了してしまう。

SCRIPT要素内容としてのCDATA

SCRIPT要素の内容としてのCDATAは、スクリプトを実行するアプリケーションにそのままの形で渡される。その制限はスクリプト言語の仕様に従い、データの終了は実質的に</script>で示される。仕様の上では</でもデータが終了することに注意。SCRIPT要素内容として</を書きたいときは「<\/」などとしてエスケープ文字を使う必要がある。エスケープ文字はスクリプト言語に依存する。

SCRIPT要素内でETAGOをエスケープする例――Javascriptの場合
<script type="text/javascript">
document.write(<p>パラグラフをシリアライズ<\/p>);
</script>

STYLE要素内容としてのCDATA

STYLE要素の内容としてのCDATAは、スタイルシートを解釈するアプリケーションにそのままの形で渡される。その制限はスタイルシート言語(主にCSS)の仕様に従い、データの終了は実質的に</style>で示される。仕様の上では</でもデータが終了することに注意。STYLE要素内容として</を書きたいときは「\3C/」とする必要がある(CSSの場合)。エスケープ方法はスタイルシート言語に依存する。

STYLE要素内でETAGOをエスケープする例――CSSの場合
<style type="text/css">
p:before { content: "<p>" }
p:after { content: "\3C/p>" }
</style>
webmaster@jintrick.net
Published: ,Updated: