SELFHTML/Navigationshilfen XML/DTDs Dokumenttyp-Definitionen (DTDs) |
Bearbeitungsregeln für DTDs | |
Regeln beim Editieren |
|
DTDs sind reine Textdateien und können mit normalen Texteditoren erstellt und bearbeitet werden. Es gibt allerdings auch XML-Editoren (siehe WWW-Links: XML-Software im Linkverzeichnis des Online-Angebots von SELFHTML aktuell), die bei der Arbeit unterstützen, indem die definierten Datenstrukturen übersichtlich darstellen, z.B. als Baumstruktur. Ungeeignet zur Erstellung von DTDs sind Textverarbeitungsprogramme, die formatierten Text in eigenen Dateiformaten abspeichern.
Beim Editieren sind Sie ähnlich frei wie bei HTML. Die drei folgenden Beispiele zeigen ein und dieselbe Definition, jedoch ganz unterschiedlich formatiert.
<!ELEMENT text (#PCDATA) > <!ELEMENT nummer (#PCDATA) > |
<!ELEMENT text (#PCDATA) > <!ELEMENT nummer (#PCDATA) > |
<!ELEMENT text (#PCDATA) > <!ELEMENT nummer (#PCDATA) > |
Formatieren Sie die Inhalte, wenn Sie die DTD direkt mit einem Texteditor bearbeiten, so, dass Sie die optimale Übersicht behalten. Zur optischen Trennung von Inhalten sind Leerzeichen, Tabulatorzeichen und Zeilenumbrüche erlaubt (auch die Windows-typische Kombination aus "Wagenrücklauf+Zeilenumbruch", in der Datei gespeichert in Form der Steuerzeichen mit den Werten 13
und 10
(hexadezimal xD
und xA
).
Erlaubt sind in einer DTD ausschließlich DTD-gerechte Inhalte. Sonstige Daten sind nur in Form von Kommentaren erlaubt.
Diese Regeln gelten bei der Namensvergabe für Elemente, für Attribute und Entities.
Namen dürfen enthalten:
0
bis 9
_
(Unterstrich), -
(einfacher Bindestrich), .
(Punkt) und :
(Doppelpunkt) - der Doppelpunkt ist jedoch reserviert für NamensräumeDas erste Zeichen eines Namens darf keine Ziffer sein, es muss ein Buchstabe oder eines der erlaubten Interpunktionszeichen sein. In der Praxis sollte das erste Zeichen möglichst immer ein Buchstabe, allenfalls ein Unterstrich sein.
Namen dürfen keine Leerzeichen enthalten.
Unter "Buchstabe" versteht die XML-Spezifikation einen sehr weiten Bereich des gesamten Unicode-Systems, und auch unter "Ziffer" ist mehr erlaubt als die arabischen Ziffern unseres Dezimalsystems. In der Praxis und in Rücksicht auf gewöhnliche Parser ist jedoch zu empfehlen, sich auf die ASCII-Buchstaben A
bis Z
bzw. a
bis z
und die 10 bei uns gebräuchlichen Ziffern zu beschränken und auf andere Zeichen zu verzichten, auch auf deutsche Umlaute oder Sonderzeichen anderer Sprachen.
Namen dürfen nicht mit der Zeichenfolge xml
(oder XML
) beginnen, da diese Zeichenfolge für künftige Weiterentwicklungen von XML reserviert ist.
Namen müssen aus mindestens einem Buchstaben bzw. Unterstrich bestehen. Über die erlaubte Maximallänge von Namen gibt es keine unmittelbaren Aussagen. Die erlaubte Länge eines Tags in der SGML-Deklaration für XML jedoch mit 99999999 Zeichen angegeben, was für "unbegrenzt" steht.
Beispiele für unproblematische Namen sind:
Anschrift
hausnummer
plz_ort
telefon.durchwahl
ZiNr
AKZ
a1
Innerhalb von DTDs sind Kommentare erlaubt. Dabei gilt die gleiche Syntax, die aus HTML bekannt ist.
<!ELEMENT bznr (#PCDATA)> <!-- Im Element "bznr" wird die Bezugsnummer gespeichert --> |
Kommentare werden durch die Zeichenfolge <!--
eingeleitet und durch die Zeichenfolge -->
abgeschlossen. Dazwischen darf beliebig viel Inhalt stehen, auch über mehrere Zeilen. Ein Parser ignoriert die entsprechenden Abschnitte.
Achten Sie darauf, innerhalb von Kommentaren nicht zwei Bindestriche --
hintereinander zu notieren.
Beim Entwurf größerer DTDs kann es sinnvoll sein, Teile der DTD für bestimmte Zwecke auszuklammern und für andere Zwecke einzuschließen. So ist es beispielsweise denkbar, eine DTD zu entwickeln, die in zwei "Ausbaustufen" benötigt wird - einer einfachen und einer komplexen.
<![INCLUDE[ <!ELEMENT Vorsitzender (#PCDATA)> ]]> <![IGNORE[ <!ELEMENT Zweitvorsitzender (#PCDATA)> ]]> |
Mit dem Schlüsselwort INCLUDE
schließen Sie Definitionen ausdrücklich ein, d.h. der Parser wird diese Definitionen verarbeiten. Mit IGNORE
schließen Sie Definitionen aus, d.h. der Parser wird diese Definitionen ignorieren und genauso wie Kommentare behandeln.
Die Definition solcher Abschnitte beginnt mit einer öffnenden spitzen Klammer <
. Dahinter folgt unmittelbar anschließend ein Ausrufezeichen !
und eine öffnende eckige Klammer [
. Dahinter notieren Sie, in Großbuchstaben, das gewünschte Schlüsselwort, also INCLUDE
oder IGNORE
, und dahinter nochmals eine öffnende eckige Klammer. Zwischen dieser einleitenden Zeichenfolge und der beendenden, markiert durch zwei schließende eckige Klammern und ein eine schließende spitze Klammer (]]>
), können Sie beliebig viele DTD-Definitionen notieren.
Elemente und Verschachtelungsregeln | |
Allgemeines zu DTDs | |
SELFHTML/Navigationshilfen XML/DTDs Dokumenttyp-Definitionen (DTDs) |
© 2001 selfhtml@teamone.de