Hinzufügen neuer Attribute zu einem bestimmten Element
(Auszug aus "DocBook-XML: Medienneutrales und plattformunabhängiges Publizieren" von Thomas Schraitle)
Angenommen, Sie benötigen für das Element chapter ein optionales Attribut proofreadfrom, das anzeigen soll, von wem ein Text schon lektoriert wurde. Der Inhalt soll ein Kürzel oder einen Namen enthalten.
DocBook 4 anpassen
Gehen Sie für DocBook 4 wie folgt vor:
Prozedur: Hinzufügen von proofreadfrom zu chapter für DocBook 4
- Deklarieren von proofreadfrom
Erstellen Sie eine neue Datei und definieren Sie das Attribut proofreadfrom als Parameter-Entity wie folgt:
- Einfügen in die Attributliste von chapter
Fügen Sie Ihr soeben definiertes Parameter-Entity in die Attributliste von chapter ein. Verwenden Sie für Ihre Anpassung %local.chapter.attrib;:
<!ENTITY % local.chapter.attrib "%proofreadfrom.attrib;">
- Laden der DocBook-DTD
Fügen Sie folgende Zeilen in Ihre Anpassungsdatei, um die DocBook-DTD zu laden:
<!ENTITY % DocBookDTD PUBLIC
"-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.docbook.org/xml/4.5/docbookx.dtd">
%DocBookDTD;
- Verwenden der Anpassungsdatei
Verwenden Sie die Anpassungsdatei an Stelle der Originaldatei von DocBook (vgl. Validieren mit einer DocBook 4-Anpassungsdatei).
DocBook 5 anpassen
Gehen Sie für DocBook 5 wie folgt vor:
Prozedur: Hinzufügen von proofreadfrom zu chapter für DocBook 5
- Anlegen der Anpassungsdatei
Erzeugen Sie eine Anpassungsdatei mit folgendem Inhalt:
<grammar ns="http://docbook.org/ns/docbook" xmlns:db="http://docbook.org/ns/docbook" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
<include href="docbook.rng"/>
<!-- Erweitern: -->
</grammar>
default namespace db = "http://docbook.org/ns/docbook"
include "docbook.rnc"
# Erweitern
- Definieren von proofreadfrom
Fügen Sie folgende Zeile hinzu:
<define name="db.proofreadfrom.attribute">
<attribute name="proofreadfrom">
<a:documentation>Which person proofread this text?</a:documentation>
</attribute>
</define>
db.proofreadfrom.attribute =
## Which person proofread this text?
attribute proofreadfrom { text }
- Erweitern der Attributliste von chapter
Fügen Sie im letzten Schritt Ihr neues Attribut nach dem vorigen Kommentar ein:
<define name="db.chapter.attlist" combine="interleave">
<optional>
<ref name="db.proofreadfrom.attribute"/>
</optional>
</define>
db.chapter.attlist &= db.proofreadfrom.attribute?
- Verwenden der Anpassungsdatei
Verwenden Sie die Anpassungsdatei an Stelle der Originaldatei von DocBook (vgl. Validieren mit einer DocBook 5-Anpassungsdatei).
<< zurück | vor >> |
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