Typenfrage

XML

01.12.2001
Zu einer gültigen XML-Datei gehört stets eine Definition der verwendeten Tags. Wir zeigen, wie solch eine "Document Type Definition" (DTD) entsteht.

Im LinuxUser 11/2001 haben wir das Programm KXMLEditor vorgestellt und gezeigt, wie damit XML-Dateien erstellt werden. Gültige XML-Dokumente kann dieser XML-Editor jedoch nicht schreiben, da es keine Möglichkeit gibt, eine DTD, eine Document Type Definition, aufzusetzen, in der die verwendeten Tags festgelegt werden. Diese Lücke gilt es nun, mit einfachen Mitteln zu schließen.

DTD – wozu?

In XML sind Inhalt, Struktur und Layout der Daten strikt voneinander getrennt. Eine DTD definiert die Tags, die in einem Dokument Verwendung finden dürfen, beschreibt, wie diese Elemente ineinander geschachtelt werden können und legt schließlich die Attribute der einzelnen Tags fest [1]. Zum Erstellen dieser Definitionen benötigen Sie nichts weiter als einen beliebigen Editor, der Text unformatiert speichert, z. B. Kate oder (X)Emacs.

Mit Hilfe einer DTD kann ein XML-Parser feststellen, ob das XML-Dokument gültig ist, sich also an die in der DTD aufgestellten Regeln hält. Autoren von XML-Dokumenten schätzen DTDs, da sie darin auf einen Blick sehen, welche Tags auf welche Art verwendet werden.

Intern und extern

Es gibt zwei Möglichkeiten, eine DTD mit einem XML-Dokument zu verbinden: Interne DTDs stehen im Prolog, dem Dateikopf der XML-Datei, gleich hinter der <?xml>-Zeile:

<?xml version="1.0">
 <!DOCTYPE Name_der_Definition [[Hier folgt die DTD…]
    ]>[… und hier stehen die Text-Daten]

Externe DTDs befinden sich in einer separaten Datei, auf die das XML-Dokument verweist. Dieser Eintrag steht ebenfalls im Prolog und sieht für eine in der Datei adressen.dtd enthaltene DTD namens adressen, die im selben Verzeichnis wie das XML-Dokument liegt, so aus:

<?xml version="1.0">
 <!DOCTYPE adressen SYSTEM "adressen.dtd">[…]

Das Schlüsselwort SYSTEM besagt, dass es sich um eine private DTD handelt, die nicht öffentlich zugänglich ist. Mit PUBLIC werden hingegen "öffentliche" DTDs gekennzeichnet, die z. B. auf einem Web-Server liegen. So ist etwa die DTD für HTML 4.0 (XHTML) öffentlich und wird folgendermaßen in ein HTML-Dokument eingebunden:

<!doctype html public "-//W3C//DTD HTML 4.0 //EN">

Sie können eine beliebige URL als DTD-Quelle eingeben und dabei relative und absolute Pfade verwenden.

Externe DTDs sind genauso aufgebaut wie interne, allerdings fehlt ihnen das Schlüsselwort <!DOCTYPE>, da es schon in der XML-Datei steht. Ihr Vorteil: Sie können von mehreren Dateien verwendet werden und sind leichter zu warten. Zudem sorgen sie dafür, dass Daten und Definition des XML-Dokuments sauber getrennt bleiben.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • XML und XSLT
    XML gut und schön – doch ohne formatierte Darstellung ist es nur die Hälfte wert. Der dritte Teil unserer Miniserie beschäftigt sich mit der Ausgabe von XML-Daten mit Hilfe von XSLT.
  • XML-Editor KXMLEditor
    XML wird immer wichtiger – KXMLEditor erleichtert den Umgang mit diesem Datenformat.
  • XML unter KDE
    Seit ihrer ersten Vorstellung wurde die Extensible Markup Language (XML) als Revolution in der IT-Landschaft gefeiert. Visionäre sahen gar schon das Ende von HTML und des konventionellen Web-Designs gekommen. Zwar hat sich XML inzwischen als wichtiges Datenformat etabliert, doch der Rausch ist vorbei. Es ist ruhiger geworden um XML. Wir zeigen Ihnen, wie Sie unter KDE selbst XML-Dateien erzeugen und bearbeiten können.
  • XML-Plugin für Kate
    XML von Hand zu schreiben ist fehlerträchtig: Das Kate-XML-Plugin sorgt für Abhilfe und unterstützt die Benutzerin bei der Eingabe von XML-Daten.
Kommentare

Infos zur Publikation

LU 12/2014: ANONYM & SICHER

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 4 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...
Brother Drucker MFC-7420
helmut berger, 11.11.2014 12:40, 1 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu 14.04-Nutzer...
Treiber für Drucker brother MFC-7420
helmut berger, 10.11.2014 16:05, 2 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu12.14-Nutzer u...
Can't find X includes.
Roland Welcker, 05.11.2014 14:39, 1 Antworten
Diese Meldung erhalte ich beim Versuch, kdar zu installieren. OpenSuse 12.3. Gruß an alle Linuxf...
DVDs über einen geeigneten DLNA-Server schauen
GoaSkin , 03.11.2014 17:19, 0 Antworten
Mein DVD-Player wird fast nie genutzt. Darum möchte ich ihn eigentlich gerne abbauen. Dennoch wür...