Text-Deklarationen

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

XML-Dokumente können aus mehreren geparsten Entities bestehen, wie Sie bereits gelernt haben. Bei diesen externen geparsten Entities kann es sich um DTD-Fragmente oder Teildokumente in XML handeln, die mit Hilfe externer allgemeiner Entity-Referenzen in das Hauptdokument eingefügt werden. Auf jeden Fall benutzt das externe geparste Entity nicht unbedingt den gleichen Zeichensatz wie das Hauptdokument. Tatsächlich kann in verschiedenen Dateien auf das gleiche externe geparste Entity verwiesen werden, obwohl diese Dateien verschiedene Zeichensätze verwenden. Es ist deshalb wichtig, unabhängig von dem Zeichensatz, den das einschließende Dokument verwendet, den Zeichensatz für ein externes, geparstes Entity festzulegen.

Um diese Aufgabe zu erfüllen, sollte jedes externe geparste Entity über eine Text-Deklaration verfügen. Diese Text-Deklaration muss – falls es sie gibt – das Erste sein, was in dem Entity steht. So besagt zum Beispiel diese Text-Deklaration, dass das Entity im Zeichensatz KOI8-R kodiert ist:

 

<?xml version="1.0" encoding="KOI8-R"?>

Die Text-Deklaration sieht aus wie eine XML-Deklaration. Sie enthält eine Versionsinformation und eine Encoding-Deklaration. Allerdings darf eine Text-Deklaration keine Standalone-Deklaration enthalten. Darüber hinaus kann die Versionsinformation weggelassen werden. Eine zulässige Text-Deklaration, die die Kodierung mit KOI8-R festlegt, könnte auch so aussehen:

 

<?xml encoding="KOI8-R"?>

Es ist jedoch keine zulässige XML-Deklaration.

Das folgende Code-Beispiel zeigt ein externes, geparstes Entity, das verschiedene Verse aus Puschkins Gedicht "Der eherne Reiter" in kyrillischer Schrift enthält. Die Text-Deklaration identifiziert die Kodierung als KOI8-R. Dieses Beispiel ist kein wohlgeformtes XML-Dokument, da es kein Wurzelelement enthält! Es existiert nur, um in andere Dokumente integriert zu werden.

<?xml version="1.0" encoding="KOI8-R"?>
<стих>Была ужасная пора,</стих>
<стих>Об ней свежо воспоминанье...</стих>
<стих>Об ней друзья мои, для вас</стих>
<стих>Начну свое повествованье.</стих>
<стих>Печален будет мой рассказ</стих>

Code-Beispiel: Ein externes, geparstes Entity mit einer Text-Deklaration, die den Zeichensatz als KOI8-R kennzeichnet

Externe DTD-Teilmengen befinden sich in externen, geparsten Entities und können deshalb Text-Deklarationen enthalten. Tatsächlich sollten sie Text-Deklarationen enthalten, wenn sie nicht in einem der Unicode-Zeichensätze geschrieben wurden. Das nächste Code-Beispiel zeigt ein DTD-Fragment in KOI8-R, das benutzt werden könnte, um das letzte Beispiel zu validieren, nachdem es in ein größeres Dokument integriert wurde.

<?xml version="1.0" encoding="KOI8-R"?>
<!ELEMENT стих (#PCDATA)>

Code-Beispiel: Eine DTD mit einer Text-Deklaration, die den Zeichensatz als KOI8-R kennzeichnet

  

<< 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