Ob Sie eine fremde DTD verwenden sollten, hängt von verschiedenen Faktoren ab. Wenn Sie Texte für eine Firma oder eine andere Institution schreiben, so kann es sein, dass Ihnen einfach eine DTD vorgegeben wird, an die Sie sich halten müssen. In diesem Fall haben Sie keine Wahl.
Wenn Sie jedoch daran denken, für Ihre eigenen Zwecke eine DTD zu übernehmen, so gibt es einige Dinge zu beachten. Zuerst sollten Sie natürlich bedenken, welche Absicht Sie mit Ihrem XML-System verfolgen. Die Maßstäbe, die Sie an eine selbst entwickelte DTD anlegen, sollten auch für eine fremde DTD gelten. Ein wesentlicher Unterschied besteht darin, dass eine fremde DTD niemals so gut an Ihre Wünsche angepasst sein kann, wie Ihre eigene. Es wird sich also um eine Mehrzweck-DTD handeln.
Die Auswahl an XML-DTDs wird schnell grösser. Aufgrund der Unterschiede zwischen XML und SGML können Sie in der Regel nicht direkt eine SGML-DTD verwenden. Für SGML gibt es bereits eine Reihe guter Mehrzweck-DTDs, wie zum Beispiel Docbook, Linuxdoc, Qwertz u.v.a. Einige davon, wie die Docbook, gibt es bereits in einer XML-Variante.
Wenn Sie sich daran machen, eine DTD auszusuchen, achten Sie auf folgende Punkte:
DTD durch die Hintertür: HTML wurde nachträglich durch class erweitert, um das zu enthalten, was Generic Markup ausmacht (siehe Kapitel 2). Die logische Information, von der zu Beginn die Rede war, sollte nicht in beliebig benennbaren Attributen versteckt, sondern in einer DTD formal definiert sein.?
Wie Sie diese Fragen und deren Antworten bewerten, sei
Ihnen überlassen. Dies kann von Fall zu Fall unterschiedlich
sein. Auf eine tiefere Diskussion verzichten wir hier, da wir
in diesem Buch zeigen möchten, wie man
XML selbst macht
und nicht nur
nachmacht
Sonst könnte man gleich bei
HTML bleiben..
Ganz anders ist die Situation zu bewerten, wenn Sie XML für den Datenaustausch einsetzen (z.B. B2B-E-Commerce). In diesem Fall ist unbedingt zu berücksichtigen, welche DTDs es für die jeweilige Branche schon gibt und ob die Parteien, mit denen Sie Daten austauschen möchten, schon bestimmte DTDs (oder Schemata) verwenden. Beim Datenaustausch muss es darum gehen, eine Einigung über das gemeinsame Vokabular der Elemente zu finden. So gesehen handelt es sich um einen besondere Situation, da Sie nicht mehr alleine über die Struktur entscheiden können. Außerdem unterliegen solche DTDs anderen Anforderungen, da die Instanzen oftmals nur von Programmen, nicht von Menschen, gelesen und geschrieben werden.