DocBook Parameter-Entities

(Auszug aus "DocBook-XML: Medienneutrales und plattformunabhängiges Publizieren" von Thomas Schraitle)

DocBook 4 macht ausgiebigen Gebrauch von Parameter-Entities. Dadurch ist es möglich, die DTD so zu ändern, dass Sie die Original-Module selbst nicht modifizieren müssen. Diese Parameter-Entities werden nach einem bestimmten Schema benannt, wobei der Stern (*) in der folgenden Tabelle für einen Element- bzw. Attributnamen oder eine abstrakte Beschreibung stehen kann.

Tabelle: Konvention von DocBook 4 Parameter-Entities

P. E. für Beschreibung
Klasse %*.class;
Klasse von ähnlichen Elementen, beispielsweise für Navigierhilfen (Inhaltsverzeichnis, Abbildungsverzeichnis usw.).
Sammlung %*.mix;
enthält Sammlungen von Klassen; das Inhaltsmodell von para ist durch das Parameter-Entity %para.mix; festgelegt. Dieses enthält Listen von Klassen, zeilenspezifischen Elementen und anderes. Allerdings besitzt nicht jedes Element ein zugehöriges %*.mix;-Entity.
Modul %*.module;
kontrolliert ein so genanntes Modul, welche Deklarationen eines Elements und deren Attribute enthält.
Das Parameter-Entity %chapter.module; ist somit für das Element chapter und dessen Attribute zuständig. Möchten Sie dieses Element inklusive der Attribute entfernen oder umdefinieren, müssen Sie %chapter.module; mit dem Wert IGNORE belegen. Siehe das unter der Tabelle stehende Beispiel "Parameter-Entities im Modul für Kapitel".
Element %*.element;
kontrolliert die Deklaration eines Elements durch die Schlüsselwörter INCLUDE bzw. IGNORE.
Über dieses Parameter-Entity wird entschieden, ob Elemente deklariert werden oder nicht. Möchten Sie ein bestimmtes Element entfernen oder umdefinieren, müssen Sie dem Parameter-Entity %*.element; den Wert IGNORE zuweisen.
Attributliste %*.attlist;
kontrolliert die Deklaration der Attributliste eines Elements durch den INCLUDE/IGNORE-Mechanismus.
Wie bei %*.element;. Durch Zuweisen von IGNORE an das Parameter-Entity %*.attlist; entfernen Sie die Attribute eines Elements.
Mehrere
Attribute
%*.attrib;
kennzeichnet einzelne oder mehrere Attribute, beispielsweise fasst das Parameter-Entity %common.attrib; die gebräuchlichsten Attribute zusammen; lokale Erweiterungen (falls existent) werden unter %local.*.attrib; vorgenommen.
lokale
Erweiterung
%local.*;
enthält lokale Erweiterungen des Anwenders, standardmäßig sind diese in der DocBook-DTD als leer deklariert. Durch diese Parameter-Entities erweitern Sie ein Element oder Attribut. Durch Deklaration von beispielsweise %local.chapter.class; wird dem Element chapter weitere Elemente hinzugefügt.

Um das Zusammenspiel all dieser Parameter-Entities kurz zu beleuchten, zeigt das folgende Beispiel das Modul für Kapitel:

Beispiel: Parameter-Entities im Modul für Kapitel

<!ENTITY % chapter.module "INCLUDE">
<![%chapter.module;[
  <!ENTITY % local.chapter.attrib "">
  <!ENTITY % chapter.role.attrib "%role.attrib;">
  <!ENTITY % chapter.element "INCLUDE">
  <![%chapter.element;[
    <!--doc:A chapter, as of a book.-->
    <!ELEMENT chapter %ho; (beginpage?,
                    chapterinfo?,
                    (%bookcomponent.title.content;),
                    (%nav.class;)*,
                    tocchap?,
                    (%bookcomponent.content;),
                    (%nav.class;)*)
                %ubiq.inclusion;>
  <!--end of chapter.element-->]]>
  <!ENTITY % chapter.attlist "INCLUDE">
  <![%chapter.attlist;[
    <!ATTLIST chapter
                %label.attrib;
                %status.attrib;
                %common.attrib;
                %chapter.role.attrib;
                %local.chapter.attrib;>
  <!--end of chapter.attlist-->]]>
<!--end of chapter.module-->]]>
Tipp der data2type-Redaktion:
Zum Thema DocBook bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2009 Millin Verlag
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "DocBook-XML: Medienneutrales und plattformunabhängiges Publizieren" 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.

Millin Verlag, Siebengebirgsring 36, 53797 Lohmar, info(at)millin.de