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

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

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

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

Weblinks

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