XML/DTD/Bearbeitungsregeln

Aus SELFHTML-Wiki
< XML | DTD
Wechseln zu: Navigation, Suche

DTDs sind reine Textdateien und können mit normalen Texteditoren erstellt und bearbeitet werden. Es gibt allerdings auch XML-Editoren (siehe Online-Seite Links: XML-Software im Link-Verzeichnis von SELFHTML), die bei der Arbeit unterstützen, indem sie 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.

Beispiel: Beispielformatierungen 1
<!ELEMENT text (#PCDATA) >
<!ELEMENT nummer (#PCDATA) >


Beispiel: Beispielformatierungen 2
<!ELEMENT          text            (#PCDATA)       >
<!ELEMENT          nummer          (#PCDATA)       >


Beispiel: Beispielformatierungen 3
<!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, Tabulator-Zeichen 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.

[Bearbeiten] Regeln für Namen

Diese Regeln gelten bei der Namensvergabe für Elemente, für Attribute und für Entities.

Namen dürfen enthalten:

  • Buchstaben (groß und klein)
  • Ziffern 0 bis 9
  • Interpunktionszeichen _ (Unterstrich), - (einfacher Bindestrich), . (Punkt) und : (Doppelpunkt) - der Doppelpunkt ist jedoch reserviert für Seite Namensräume

Das 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.

Beachten Sie: 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 ist 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

[Bearbeiten] Kommentare

Innerhalb von DTDs sind Kommentare erlaubt. Dabei gilt die gleiche Syntax, die aus HTML bekannt ist.

Beispiel: Beispielformatierungen
<!ELEMENT bznr (#PCDATA)>
<!-- Im Element "bznr" wird die Bezugsnummer gespeichert -->

Kommentare werden 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.


[Bearbeiten] Bedingte Abschnitte

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.

Beispiel: Beispielformatierungen 1
<![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.

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Übersicht
Hilfe
SELFHTML
Diverses
Werkzeuge
Flattr
Soziale Netzwerke