CDATA-Abschnitte

(Auszug aus "XML in a Nutshell" von Elliotte Rusty Harold & W. Scott Means)

Wenn ein XML-Dokument Beispiele für XML- oder HTML-Quellcode enthält, müssen die Zeichen < und & in diesen Beispielen als &lt; und &amp; kodiert werden. Je mehr Abschnitte solchen Codes ein Dokument enthält und je länger diese sind, umso nervtötender wird diese Kodierung. Stattdessen können Sie jedes Code-Beispiel in einen CDATA-Abschnitt einschließen. Ein CDATA-Abschnitt wird durch <![CDATA[ und]]> eingeschlossen. Alles, was sich zwischen <![CDATA[ und ]]> befindet, wird als reine Zeichendaten interpretiert. Kleiner-als-Zeichen leiten keine Tags ein. Ampersands leiten keine Entity-Referenzen ein. Es gibt nur einfache Zeichendaten, kein Markup.

In einer Scalable Vector Graphics-(SVG-)Anleitung, die in XHTML geschrieben ist, könnten Sie beispielsweise Folgendes sehen:

<p>Sie können ein vorgegebenes <code>xmlns</code>-Attribut benutzen, damit Sie nicht allen Ihren Elementen das Präfix svg hinzufügen müssen:</p>
  <pre><![CDATA[
    <svg xmlns="http://www.w3.org/2000/svg" width="12cm" height="10cm">
      <ellipse rx="110" ry="130" />
      <rect x="4cm" y="1cm" width="3cm" height="6cm" />
    </svg>
 ]]></pre>

Der SVG-Quellcode ist direkt in die XHTML-Datei eingefügt worden, ohne dass sorgfältig jedes < durch &lt; ersetzt wurde. Das Ergebnis ist ein Beispiel-SVG-Dokument, kein eingebettetes SVG-Bild, wie es der Fall wäre, wenn sich dieses Beispiel nicht innerhalb eines CDATA-Abschnitts befinden würde.

Das Einzige, was nicht in einem CDATA-Abschnitt auftauchen kann, ist das Ende-Trennzeichen eines CDATA-Abschnitts ]]>.

CDATA-Abschnitte sind für die Bequemlichkeit menschlicher Autoren gedacht, nicht für Programme. Parser müssen Ihnen nicht sagen können, ob ein bestimmter Textblock aus einem CDATA-Abschnitt, aus normalen Zeichendaten oder aus Zeichendaten stammt, die Entity-Referenzen wie &lt; und &amp; enthielten. Wenn Sie die Daten erhalten, sind die Unterschiede möglicherweise nicht mehr zu erkennen. Der Code, den Sie schreiben, sollte sich nie auf den Unterschied zwischen ihnen stützen.

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema XML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

  


Copyright © 2005 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XML in a Nutshell" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de