CDATA (文字データ) セクション  
<![CDATA[unescaped character & markup data]]>

XML ドキュメントは、マークアップおよび文字データで構成されます。文字またはエンティティ参照 (たとえば &amp;&#38;) を使用せずに、< または & 文字を通常の文字データ内に含めることはできません。参照を使用することで、< および & 文字はパーサーによってマークアップであるとは認識されず、パーサーのクライアントアプリケーションへのデータストリームの一部となります。

より大きな文字データのブロック (特にデータに HTML や XML フラグメントなどのマークアップが含まれている場合) では、CDATA セクションを使用できます。CDATA ブロック内で、開く文字列と閉じる文字列内の各文字は、文字データとして扱われます。そのため、CDATA の閉じるシーケンスである ]]> を除き、特殊文字は CDATA セクション内に問題なく含めることができます。

CDATA セクションは、マークアップの使用方法を説明するチュートリアル内で XML または HTML ドキュメントを囲むようなタスクには非常に便利ですが、XSLT、DOM、または SAX をテキスト以外として使用して CDATA セクションのコンテンツを処理するのは困難です。

CDATA セクションをネストすることはできません。文字シーケンス ]]> を、エスケープするデータ内に指定することはできません。この場合、CDATA ブロックは早期に閉じられます。通常、このような状況は問題になりませんが、アプリケーションが未解析の文字データとして XML ドキュメントを含んでいる場合は、この制限について注意することが重要です。データに CDATA の閉じるシーケンスを含める必要がある場合は、開いている CDATA セクションを閉じ、文字参照を使用して、閉じる文字を含めてエスケープし、もう一度 CDATA セクションを開いて残りの文字データを含めます。