W3CGerman W3C Office

XML in 10 Punkten

Dies ist eine Übersetzung von XML in 10 Points. (dieser Link verweist auf ein Dokument, das nach einer automatischen Sprachauswahl übermittelt wird. Falls Sie in Ihrem Browser als bevorzugte Sprache "Deutsch" angegeben haben, erscheint wieder die deutsche Fassung).
Übersetzung: Ursula Bernhard

(7, in Wirklichkeit ...)

XML, XLink, Namespace, DTD, Schema, CSS, XHTML,... Wenn XML für Sie neu ist, wissen Sie womöglich kaum, wo sie anfangen sollen. Die vorliegende Zusammenfassung in 10 Punkten versucht, soviel Grundlagen zu vermitteln wie notwendig sind, um einen Anfänger in die Lage zu versetzen, den Wald trotz Bäumen zu sehen. Und wenn Sie einen Vortrag über XML halten, warum nicht mit diesen 10 Punkten beginnen? Bedienen Sie sich!


1. XML ist eine Methode, um strukturierte Daten in einer Textdatei darzustellen

Unter "strukturierten Daten" sind Kalkulationstabellen, Adressbücher, Konfigurationsparameter, finanzielle Transaktionen, technische Zeichnungen usw. zu verstehen. Programme, die solche Daten erzeugen, speichern sie oft auch auf der Festplatte ab, wofür sie entweder ein binäres oder ein Textformat benutzen können. Letzteres erlaubt es Ihnen, im Bedarfsfall die Daten ohne das Programm, das sie generierte, anzusehen. XML ist eine Menge von Regeln, Richtlinien, Konventionen - oder wie Sie dies auch immer bezeichnen wollen - für die Erstellung von Textformaten für solche Daten. Es entstehen so Dateien, die leicht zu generieren und (von einem Computer) zu lesen sind, die eindeutig sind und die üblichen Schwierigkeiten wie unzureichende Erweiterbarkeit, fehlende Unterstützung für Internationalisierung/Lokalisierung und Plattformabhängigkeit vermeiden.

2. XML sieht fast aus wie HTML, ist aber kein HTML

Wie HTML verwendet XML Tags (durch '<' und '>' geklammerte Wörter) und Attribute (der Form name="value"), aber während HTML festlegt, was jedes Tag und Attribut bedeutet (und oft wie der Text dazwischen in einem Browser aussieht), benutzt XML die Tags nur zur Abgrenzung von Daten und überlässt die Interpretation der Daten vollkommen der Anwendung, die sie verarbeitet. Mit anderen Worten: wenn Sie "<p>" in einer XML-Datei sehen, sollten Sie nicht annehmen, dass es sich um einen Absatz (englisch: paragraph) handelt. Je nach Kontext kann es ein Preis, ein Parameter, eine Person, ein(e) P.... sein (übrigens, wer sagt denn, dass es ein Wort mit einem "p" sein muss?).

3. XML ist Text, aber nicht zum Lesen

XML-Dateien sind Textdateien, wie ich oben sagte, aber noch weniger als HTML sind sie dafür bestimmt, von Menschen gelesen zu werden. Sie sind Textdateien, weil das Fachleuten (wie Programmierern) das Debugging von Programmen erleichtert und sie im Notfall einen einfachen Texteditor benutzen können, um eine beschädigte XML-Datei zu reparieren. Doch die Regeln für XML-Dateien sind viel strikter als für HTML. Ein vergessenes Tag oder ein Attribut ohne Anführungszeichen macht die Datei unbrauchbar, während dies bei HTML oft explizit erlaubt oder zumindest toleriert wird. In der offziellen XML-Spezifikation steht: Anwendungen dürfen keine Vermutungen anstellen, was der Erzeuger einer beschädigten Datei meinte; wenn die Datei kaputt ist, muss eine Anwendung genau da anhalten und eine Fehlermeldung ausgeben.

4. XML ist eine Familie von Techniken

Es gibt zunächst XML 1.0, die Spezifikation, die definiert, was "Tags" und "Attribute" sind. Um XML 1.0 gruppiert sich aber eine wachsende Menge optionaler Module, die Mengen von Tags und Attributen oder Richtlinien für spezifische Aufgaben bereitstellen. Es gibt z. B. Xlink (in Entwicklung seit November 1999), das eine Standardmethode beschreibt, um Hyperlinks zu einer XML-Datei hinzuzufügen. XPointer & XFragments (ebenfalls noch in Entwicklung) sind Syntaxen, um auf Teile eines XML-Dokuments zu zeigen. (Ein Xpointer ähnelt ein wenig einer URL, aber anstatt auf Dokumente im Web zu zeigen, zeigt er auf Daten innerhalb einer XML-Datei.) CSS, die Style-Sheet-Sprache, ist auf XML ebenso andwendbar wie auf HTML. XSL (Herbst 1999) ist die weiterentwickelte Sprache zum Erstellen von Style Sheets. Sie basiert auf XSLT , eine Transformationssprache, die oft auch außerhalb XSL für das Umstellen, Hinzufügen oder Löschen von Tags und Attributen nützlich ist. Das DOM ist eine Standardmenge von Funktionsaufrufen zur Manipulation von XML- (und HTML-) Dateien aus einer Programmiersprache. XML Namespaces ist eine Spezifikation, die beschreibt, wie Sie eine URL mit jedem einzelnen Tag und Atribut in einem XML-Dokument verknüpfen können. Wofür die betreffende URL verwendet wird, bleibt aber der Anwendung überlassen, die die URL liest. (RDF, die Metadaten-Norm vom W3C verwendet sie, um die einzelnen Metadaten mit einer Datei zu verknüpfen, die den Typ dieser Daten definiert.) Die XML Schemas 1 und 2 unterstützen Entwickler bei der präzisen Definition ihrer eigenen XML-basierten Formate. Es gibt noch einige weitere Module und Werkzeuge, die verfügbar oder in Entwicklung sind. Beachten Sie hier W3C's technical report page.

5. XML ist ausführlich, was aber kein Problem darstellt

Da XML ein Textformat ist und Tags verwendet, um die Daten abzugrenzen, sind XML-Dateien fast immer größer als vergleichbare binäre Formate. Das war eine bewusste Entscheidung der XML-Entwickler. Die Vorteile eines Textformats sind klar (siehe Punkt 3 oben), und die Nachteile können meistens an anderer Stelle ausgeglichen werden. Plattenplatz ist nicht mehr so teuer wie früher, und Programme wie zip und gzip können Dateien sehr gut und sehr schnell komprimieren. Diese Programme sind für fast alle Plattformen verfügbar (und meistens kostenlos). Außerdem können Kommunikationsprotokolle wie Modemprotokolle und HTTP/1.1 (das Kernprotokoll des Webs) Daten automatisch komprimieren und damit ebenso effektiv Bandbreite sparen wie ein binäres Format.

6. XML ist neu, aber nicht so neu

Die Entwicklung von XML begann 1996 und seit Februar 1998 ist es ein W3C-Standard, was Sie vermuten lassen könnte, dass es eine ziemlich unausgegorene Technologie ist. Aber in Wirklichkeit ist die Technologie nicht sehr neu. Vor XML gab es SGML, das in den frühen 80er Jahren entwickelt wurde, seit 1986 eine ISO-Norm war und eine breite Anwendung für große Dokumentationsprojekte fand. Und natürlich HTML, dessen Entwicklung 1990 begann. Die Entwickler von XML nahmen - aufgrund der Erfahrung mit HTML - einfach die besten Teile von SGML und produzierten etwas, was nicht weniger mächtig als SGML, aber bei weitem geregelter und einfacher in der Anwendung ist. Einige Evolutionen sind allerdings kaum von Revolutionen zu unterscheiden ... Und man muss sagen, dass, während SGML zumeist für technische Dokumentation und viel weniger für andere Arten von Daten verwendet wird, es bei XML genau umgekehrt ist.

7, 8, 9...

Diese kenne ich selbst noch nicht.

10. XML ist lizenzfrei, plattformunabhängig und gut unterstützt

Wenn Sie XML als Basis für ein Projekt wählen, dann finden Sie Zugang zu einer großen und wachsenden Ansammlung von Werkzeugen (eines davon macht vielleicht schon das, was Sie brauchen!) und zu einer Menge versierter Fachleute. Sich für XML zu entscheiden, ist fast so wie SQL für Datenbanken zu wählen: Sie müssen nur noch Ihren eigenen Datenbestand und die Programme/Prozeduren, die ihn bearbeiten, erstellen. Aber dafür gibt es viele verfügbare Werkzeuge und viele Leute, die Ihnen helfen können. Und, da XML als eine W3C-Entwicklung lizenzfrei ist, können Sie Ihre eigene Software drum herum bauen, ohne jemandem etwas zu bezahlen. Die große und wachsende Unterstützung bedeutet, dass Sie auch nicht an einen einzigen Anbieter gebunden sind. XML ist nicht immer die beste Lösung, aber es lohnt sich immer, XML in Erwägung zu ziehen.


Henning Fischer, German W3C Office (henning@w3.org)
Last revised: $Date: 2001/11/05 09:07:10 $

Copyright © 1999-2001 W3C® (MIT, INRIA, Keio), All Rights Reserved.