XML-Know How

Entities als Platzhalter für Textdateien

Entities können nicht nur Sonderzeichen und Text vertreten, sondern auch auf ganze Dateien verweisen, deren Inhalt an Stelle der Entity eingefügt wird.

Die Deklaration einer solchen Entity in der DTD sieht dann so aus:

<!ENTITY adressen SYSTEM "adressen.txt">

Die SYSTEM-Angabe funktioniert genauso wie bei der XML-DOCTYPE-Deklaration (siehe oben), und wie bei der DOCTYPE-Deklaration kann auch eine PUBLIC-Angabe erfolgen.

Die Verwendung im XML-Quell-Text:

<absatz>Hier die Adressen: &adressen;</absatz>

Und das Ausgabe-Resultat:

       Hier die Adressen: (Inhalt der Datei adressen.txt)

Dabei ist zu beachten: Wenn die eingefügte Datei Markup enthält (Elemente, Entities), muss der Gesamttext nach der Einfügung des Dateiinhaltes der in der DTD vorgegebenen Struktur entsprechen.

Der Vorteil dieses Verfahrens liegt in der vereinfachten Pflege von mehrfach genutzten Inhalten: viele verschiedene XML-Dokumente können z. B. auf einen Adressenbestand zurückgreifen, der zentral an einer einzigen Stelle gepflegt wird (im Beispiel in der Datei adressen.txt).