CDATA

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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;.

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.

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