Auch beim DTD-Entwurf steckt der Teufel
im Detail
. Damit wir uns mit den Details
nicht so lange herumquälen, schlagen wir den
kürzesten Weg ein: Wir stehlen was wir
brauchen — hoppla, das sollte natürlich lauten
Wir lassen uns von anderen Dokumenttypen inspirieren.
— Die lange SGML-Geschichte hat bereits
eine Vielzahl hervorragender DTDs
hervorgebracht. Weshalb sollte man das Rad ein zweites Mal
erfinden? Durch Verwendung von Ideen aus den
CALS-DTDs hat schon das
HTML-Tabellenmodell viele Verbesserungen
erfahren. Die Links von XML haben ihre Wurzeln
in der TEI-DTD und in HyTime. — Nutzen
Sie auf diesem Weg die Erfahrung der anderen Entwickler
für Ihre eigenen DTDs. Ein Aufruf zur
Urheberrechts-Verletzung soll dies natürlich nicht
sein.
Wenn Sie eine Reihe von oft benötigten
Element-Modellen haben, dann ist es ratsam, diese immer
wieder in unterschiedlichen DTDs zu
verwendenTechniken dafür haben wir in Abschnitt 5.8.3 vorgestellt.. Ein gutes
Beispiel dafür ist die Beschreibung einer Tabelle. Wenn
Sie etwa das Tabellen-Modell aus
HTML für Ihre eigenen Dokumenttypen
übernehmen, haben Sie keine Schwierigkeiten beim
Umstieg von HTML. Ähnliches haben wir auch
für die AWLINET-DTD gemacht. Neben dem
Tabellenmodell stammen auch einige logische Auszeichnungen,
wie EM und STRONG, aus der
Hypertext Markup Language.
Besonders schlicht ist unsere Möglichkeit für Querverweise ausgefallen. Wir verwenden den id/idref-Mechanismus: Sämtliche Elementtypen, auf die wir verweisen, besitzen das Attribut id. Den Querverweis stellt das leere Element ref mit seinem Attribut idref her.
<!ELEMENT ref EMPTY > <!ATTLIST ref idref IDREF #REQUIRED >
Die Komplexität ist damit in die Verarbeitung des Dokuments verlagert worden: Bei der Interpretation von ref muss die Anwendung erkennen, was für ein Element das Ziel des Querverweises ist, und entsprechenden Text an Stelle des ref ausgeben. Für einen Verweis auf ein Kapitel ist etwa die Nummer, für einen Verweis auf einen Eintrag in der Bibliografie ist die zugehörige Markierung der zitierten Quelle einzufügen. Es bietet sich an, Querverweise auf diese Art zu handhaben, da beim Schreiben des Textes in der Regel nicht klar ist, ob das Ziel eines Verweises eine Nummer bekommt oder vielleicht einen Buchstaben (wie im Anhang). Diese Entscheidung wird erst bei der Formatierung getroffen, also sollte zu diesem Zeitpunkt auch die Darstellung des Querverweises festgelegt werden.