XML-Know How

Entities als Platzhalter für Text

In XML kann für eine ganze Reihe von Inhalten anstelle des Inhaltes selbst ein Platzhalter verwendet werden. Die häufigste Anwendung ist, für Sonderzeichen, die nicht standardmäßig zur Verfügung stehen, einen Platzhalter einzufügen. Platzhalter können auch verwendet werden, wenn eine Grafik oder eine andere Nicht-Textdatei an einer bestimmten Stelle eingefügt werden soll. Es kann aber auch sinnvoll sein, einen Platzhalter statt der endgültigen Texte einzufügen, wenn an dieser Stelle noch nicht bekannte oder – wie bei der Adresse eines Serienbriefes – viele verschiedene Texte zu stehen kommen sollen.

Platzhalter heißen in der XML-Terminologie Entity References, oft kurz Entity genannt (ganz korrekt wäre es, nur den Inhalt, für den die Entity Reference steht, »Entity« zu nennen; wir bezeichnen um der Kürze willen im Folgenden mit »Entity« den Platzhalter). Entities in einem XML-Dokument werden immer mit »&« eingeleitet und mit »;« abgeschlossen. Dazwischen darf eine Zeichenfolge stehen, die den Regeln für Elementnamen folgt.

Die Zeichenkette

  • ... muss mit Buchstaben oder »_« beginnen
  • ... darf Buchstaben, Ziffern, »-«, ».«, und »_« enthalten
  • ... ist case-sensitive (Groß-Kleinschreibung wird ausgewertet: &ENTITY;
    und &entity; werden unterschieden).

Dabei wird die Entity im XML-Dokument verwendet, der einzufügende Inhalt dagegen in der DTD deklariert. Bei der Verarbeitung und Ausgabe der Daten wird die Entity durch den eigentlichen Inhalt ersetzt.

Ein Beispiel für eine Text-Entity (&Kunde;) im XML-Dokument:

<rundschreiben>
<anrede>Sehr
geehrter &Kunde;,
</anrede>
<absatz>Besuchen Sie uns auf der Buchmesse ...</absatz>
</rundschreiben>

Deklaration der Entity Kunde in der DTD:

<!ENTITY Kunde "Herr Schmitt" >

Auflösung bei der Ausgabe:

Sehr geehrter Herr Schmitt,
Besuchen Sie uns auf der Buchmesse ...