CDATA
文字参照を含むテキスト。
CDATAとは、Character Dataの略で、文字データをあらわします。#PCDATAとの違いは
SGML的に解釈されないということです。このデータ型は任意の長さを持つ(長さゼロでもよい)任意のテキストですが、属性値に使用する場合と内容モデル(要素内容)に使用する場合とで
SGMLの解釈が異なります。
文字参照は文字参照として解釈されます。onclick="alert('こんにちは');"などは、onclick="alert('こんにちは');"というように解釈されます。改行文字LF[\n]は無視されます。個々の改行文字CR[\r]あるいはタブは、1つの
空白文字に置き換えられます。属性値内の
空白文字に関して、最初と最後のものは無視されます。
以上の点を除いて、記述した内容は生のテキストとして扱われます。[<]などのマーク付けもそのまま[<]と記述されます。
CGIなどに渡すパラメータの区切り子に&を使用する際には、属性値の文字参照が解釈されることを想起しなければなりません。URIにおける&は&と記述しなければなりません。
XHTML1.0未満のstyle要素やscript要素の内容がCDATAとされています。HTML4.0で廃止されたlisting要素やxmp要素の内容もCDATAでした。
内容モデルに記述されたCDATAは、生のテキストとして扱われます。マーク付けや文字参照を解釈しません。&は&と表示され、[<]や[>]もそのまま表示されます。CDATAは、ETAGOが出現した時点で終了します。ETAGOとは終了タグ開始区切り子[</]をあらわします。