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

title_2014_10

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

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...