CDATA

CDATA (engl. Character Data) ist ein Schlüsselwort in XML und SGML. Mit CDATA werden Zeichendaten gekennzeichnet, die vom Parser nicht oder nur eingeschränkt analysiert werden.

## CDATA-Abschnitt

[Bearbeiten | Quelltext bearbeiten]

Innerhalb eines CDATA-Abschnittes werden Zeichendaten vom Parser nicht analysiert.

Mit einem CDATA-Abschnitt wird einem Parser mitgeteilt, dass kein Markup folgt, sondern normaler Text. Der CDATA-Abschnitt hat folgende Syntax:

<![CDATA[Inhalt]]>

Der CDATA-Abschnitt kann auch Markup-Zeichen (`<`, `>` und `&`) enthalten. Diese werden vom Parser nicht weiter interpretiert. Die schließende Zeichenfolge `]]>` darf innerhalb von Inhalt nicht verwendet werden.

Falls dennoch `]]>` im Inhalt benötigt wird, teilt man den CDATA-Abschnitt in zwei separate Teile auf und trennt dabei die Zeichenfolge vor `]>` oder vor `>`:

<![CDATA[...]]]><![CDATA[]>...]]>
<![CDATA[...]]]]><![CDATA[>...]]>

CDATA-Abschnitte können in XML-basiertem HTML dazu verwendet werden, lange Computerprogramme oder sogar XML-Code über einen größeren Bereich einzubinden. Dadurch entfällt die sonst nötige Kodierung der vordefinierten Entities, beispielsweise `&lt;` und `&amp;`.

## CDATA-Datentyp

[Bearbeiten | Quelltext bearbeiten]

In einer Dokumenttypdefinition (DTD) ist CDATA ein Datentyp einer Attributdeklaration, zum Beispiel:

<!ATTLIST img
src    CDATA    #REQUIRED

Ein Attribut mit dem Datentyp als CDATA wird vom Parser nur eingeschränkt analysiert. Da in CDATA-Attributwerten die Verwendung von Zeichenverweisen (beispielsweise `&#x2211;` für ∑) und benannten Entitäten (`&sum;`) zulässig ist, führt der Parser eine Analyse des Inhaltes des Attributwertes durch.

Siehe hierzu Deklarationen von Attributen.

## Siehe auch

[Bearbeiten | Quelltext bearbeiten]

* PCDATA – Zeichendaten, deren Inhalt vom Parser analysiert werden.

## Weblinks

[Bearbeiten | Quelltext bearbeiten]

* Basic HTML data types - SGML basic types (englisch) w3.org
* CDATA Sections in XML (englisch) w3.org