Bedingtes Einfügen

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

XML bietet die Anweisung IGNORE, um einen Abschnitt mit Deklarationen »auszukommentieren«. Zum Beispiel wird ein Parser die folgende Deklaration eines Elements produktionshinweis so ignorieren, als wäre sie gar nicht in der DTD vorhanden:

<![IGNORE [<!ELEMENT produktionshinweis (#PCDATA)>]]>

Das sieht vielleicht nicht besonders sinnvoll aus. Schließlich könnten Sie doch einfach einen XML-Kommentar benutzen, um Deklarationen auszukommentieren, die Sie zeitweise aus der DTD entfernen wollen. Falls Sie das so sehen, sieht die Anweisung INCLUDE wohl noch unsinniger aus. Ihr Zweck besteht darin, anzuzeigen, dass die angegebenen Deklarationen tatsächlich in der DTD verwendet werden. Ein Beispiel:

<![INCLUDE [<!ELEMENT produktionshinweis (#PCDATA)>]]>

Wirkung und Bedeutung dieser Zeilen sind exakt so, als wenn die Anweisung INCLUDE nicht vorhanden wäre. Überlegen Sie jedoch nun einmal, was passiert, wenn INCLUDE und IGNORE nicht direkt benutzt würden. Nehmen Sie stattdessen an, dass wir ein solches Parameter-Entity definieren:

 

<!ENTITY % erlaubte_hinweise "INCLUDE">

Dann benutzen wir ein Parameter-Entity anstelle des Schlüsselworts:

<![%erlaubte_hinweise;[<!ELEMENT produktionshinweis (#PCDATA)>]]>

Das Parameter-Entity erlaubte_hinweise kann von außerhalb dieser DTD umdefiniert werden. Vor allem kann es in der internen DTD-Teilmenge eines Dokuments umdefiniert werden. Dadurch wird ein Schalter zur Verfügung gestellt, mit dessen Hilfe einzelne Dokumente die Deklaration produktionshinweis ein- oder ausschalten können. Diese Technik ist nützlich, weil sie es Autoren von Dokumenten erlaubt, aus einer DTD nur die Funktionalität auszuwählen, die sie benötigen.

  

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