<html>
<head>
<title>CDATA-Abschnitte (Zeichendaten)</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div id="Beschreibung">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">CDATA-Abschnitte (Zeichendaten)</td>
<td valign="top" class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description">
<span class="PROGRAMLISTING"><pre><strong class="userinput">&lt;![CDATA[</strong><var class="replaceable">unescaped character &amp; markup data</var><strong class="userinput">]]&gt;</strong></pre></span>

<p>XML-Dokumente bestehen aus Markup und Zeichendaten. Die Zeichen <span class="LITERAL">&lt;</span> und <span class="LITERAL">&amp;</span> k&ouml;nnen innerhalb normaler Zeichendaten nicht verwendet werden ohne eine Zeichen- oder Entity-Referenz wie <span class="LITERAL">&amp;amp;</span> bzw. <span class="LITERAL">&amp;#38;</span> zu verwenden. Durch den Einsatz einer Referenz werden die resultierenden Zeichen <span class="LITERAL">&lt;</span> und <span class="LITERAL">&amp;</span> vom Parser nicht als Markup interpretiert, sondern werden Teil des Datenstroms, der vom Parser an seine Client-Anwendung &uuml;bergeben wird.</p>

<p>F&uuml;r umfangreiche Bl&ouml;cke an Zeichendaten &ndash; insbesondere Daten, die Markup enthalten, etwa ein HTML- oder XML-Fragment &ndash; kann ein <span class="LITERAL">CDATA</span>-Abschnitt verwendet werden. Innerhalb eines <span class="LITERAL">CDATA</span>-Abschnitts werden alle Zeichen zwischen dem Anfangs- und Abschluss-String als Zeichendaten behandelt. Somit lassen sich Sonderzeichen ordnungsgem&auml;&szlig; in einen <span class="LITERAL">CDATA</span>-Abschnitt einf&uuml;gen, die einzige Ausnahme bildet die <span class="LITERAL">CDATA</span>-Abschlusssequenz <span class="LITERAL">]]&gt;</span>.</p>

<p><span class="LITERAL">CDATA</span>-Abschnitte sind daf&uuml;r geeignet, in Anleitungen &uuml;ber Markup den XML- oder HTML-Beispielcode als Text zu definieren. (Allerdings ist es schwierig, mit XSLT, DOM oder SAX den Inhalt von <span class="LITERAL">CDATA</span>-Abschnitten anders zu verarbeiten als in Form von Text.)</p>

<tip id="xmlnut3-CHP-21-NOTE-133" role="ora">
<p><span class="LITERAL">CDATA</span>-Abschnitte lassen sich nicht verschachteln. Die Zeichensequenz <span class="LITERAL">]]&gt;</span> darf nicht innerhalb von Daten erscheinen, die ihrer Code-Funktion enthoben wurden, da sonst der <span class="LITERAL">CDATA</span>-Abschnitt vorzeitig abgeschlossen wird. Normalerweise sollte diese Vorschrift kein Problem darstellen, wenn jedoch eine Anwendung XML-Dokumente als nicht analysierbare Zeichendaten verwendet, ist es wichtig, sich dieser Einschr&auml;nkung bewusst zu sein. Wenn es notwendig ist, die <span class="LITERAL">CDATA</span>-Abschlusssequenz in die Daten einzuf&uuml;gen, schlie&szlig;en Sie den ge&ouml;ffneten <span class="LITERAL">CDATA</span>-Abschnitt, f&uuml;gen die abschlie&szlig;enden Zeichen mit Hilfe von Zeichenreferenzen ein und &ouml;ffnen dann einen neuen <span class="LITERAL">CDATA</span>-Abschnitt, der den Rest der Zeichendaten aufnimmt.</p>
</tip>
</td></tr>
</table>
</div>
</body>
</html>
