XML CDATA
XML ドキュメント内のすべてのテキストはパーサーによって解析されます。
CDATA セクション内のテキストのみがパーサーによって無視されます。
PCDATA - 解析される文字データ
XML パーサーは通常、XML ドキュメント内のすべてのテキストを解析します。
XML 要素が解析されるとき、そのタグ間のテキストも解析されます:
パーサーがこのようにするのは、XML 要素が他の要素を含むことができるからです。この例では、<name> 要素が他の2つの要素(first と last)を含んでいます:
そしてパーサーはそれを次のような子要素に分解します:
<first>Bill</first>
<last>Gates</last>
</name>
解析される文字データ(PCDATA)は、XML パーサーによって解析されるテキストデータを指す用語です。
CDATA - (未解析の)文字データ
CDATA という用語は、XML パーサーによって解析されるべきではないテキストデータを指します。
"<" や "&" などの文字は XML 要素内では不正です。
"<" はエラーを引き起こします。パーサーがその文字を新しい要素の開始として解釈するためです。
"&" はエラーを引き起こします。パーサーがその文字を文字実体の開始として解釈するためです。
JavaScript コードなどの一部のテキストには、多数の "<" や "&" 文字が含まれます。エラーを避けるために、スクリプトコードを CDATA として定義できます。
CDATA セクション内のすべての内容はパーサーによって無視されます。
CDATA セクションは "<![CDATA[" で始まり、"]]>" で終わります:
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
{
return 1;
}
else
{
return 0;
}
}
]]>
</script>
上記の例では、パーサーは CDATA セクション内のすべての内容を無視します。
CDATA セクションに関する注記:
CDATA セクションには文字列 "]]>" を含めることはできません。また、CDATA セクションのネストも許可されません。
CDATA セクションの終わりを示す "]]>" には、スペースや改行を含めることはできません。
その他の拡張