Vordefinierte Entities  

Neben Entity-Referenzen, die der Anwender selbst definiert, bietet XML fünf benannte Entity-Referenzen, die nicht deklariert werden müssen (siehe Tabelle 21-1). Es ist eine Teilmenge der in HTML-Dokumenten verfügbaren Referenzen.

Vordefinierte Entities

Entity

Zeichen

XML-Deklaration

<

<

<!ENTITY lt "&#38;#60;">

&gt;

>

<!ENTITY gt "&#62;">

&amp;

&

<!ENTITY amp "&#38;#38;">

&apos;

'

<!ENTITY apos "&#39;">

&quot;

"

<!ENTITY quot "&#34;">

Die Entities &lt; und &amp; müssen immer dann verwendet werden, wenn im Elementinhalt oder in Attributwerten das Zeichen < oder & vorkommt. Die Entity &gt; wird häufig verwendet, und zwar immer dann, wenn im Dokumentinhalt das Zeichen > vorkommt. Die Zeichensequenz ]]> jedoch muss im Inhalt immer vermieden werden. Die Zeichen &apos; und &quot; werden im Allgemeinen nur innerhalb von Attributwerten verwendet, um Konflikte zu vermeiden zwischen dem Wert und den Anführungszeichen, die einen Attributwert einschließen.

Wenngleich der Parser diese Entities erkennen muss, selbst wenn sie nicht deklariert worden sind, können Sie sie in der DTD deklarieren ohne Fehler zu erzeugen.

Das Vorhandensein dieser besonderen vordefinierten Entities erzeugt ein Rätsel innerhalb eines XML-Dokuments. Da es möglich ist, diese Referenzen zu verwenden ohne sie ausdrücklich zu deklarieren, ist es möglich, mit einem XML-Dokument zu arbeiten, das Referenzen auf Entities enthält, die nie deklariert worden sind. Tatsächlich ermutigt die XML-Spezifikation Dokumentautoren, diese Entities zu deklarieren, um auch ältere SGML-Parser zu unterstützen, bei denen diese Entities nicht vordefiniert sind. Praktisch gesehen hat ein Deklarieren dieser Entities nur ein unnötig komplexes Dokument zur Folge.