Dies ist eine Übersetzung von XML in 10 Points.
Strukturierte Daten findet man z.B. in so unterschiedlichen Dingen wie Kalkulationstabellen,
Adressbücher, Konfigurationsparameter, finanzielle Transaktionen und technische Zeichnungen.
XML ist ein Satz an Regeln (man kann ebenso von Richtlinien oder Konventionen sprechen) für
die Erstellung von Textformaten zur Strukturierung solcher Daten. XML ist keine
Programmiersprache und man braucht auch kein Programmierer zu sein, um XML zu benutzen oder zu
lernen. XML erleichtert es einem Computer, Daten zu generieren oder zu lesen und sorgt dafür,
dass eine bestimmte Datenstruktur eindeutig bleibt. XML vermeidet herkömmliche Fallen, wie sie
in anderen Sprachkonstruktionen auftreten: XML ist erweiterbar, plattformunabhängig und
unterstützt Internationalisierung / Lokalisierung und Unicode.
Wie HTML
verwendet XML Tags (durch '<' und '>' geklammerte Wörter) und Attribute (der Form
name="value"). 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 allein 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 (übigens, wer sagt denn, dass es ein Wort mit
einem "p" sein muss?).
Programme,
die Kalkulationstabellen, Adressücher und andere strukturierte Daten produzieren, speichern
diese Daten meist auf der Festplatte, wobei sie entweder ein Binär- oder ein Textformat
verwenden. Ein Vorteil des Textformats ist es, dass man sich auf diese Weise die Daten ansehen
kann, ohne das produzierende Programm selbst zu verwenden; kurz gesagt: man kann es mit jedem
beliebigen Texteditor lesen. Ferner vereinfacht reiner Text dem Entwickler das Debuggen von
Anwendungen. Genau wie bei HTML, bestehen XML Dateien aus reinem Text, der zwar von Menschen
nicht gelesen werden sollte, aber gelesen werden kann, wenn es notwendig ist. Anders als bei
HTML, sind die Regeln bei XML strikt. Ein weggelassenes Tag oder ein Attribut ohne
Anführungszeichen, machen eine XML Datei unbenutzbar, während dies bei HTML toleriert und
oftmals explizit erlaubt wird. Die offizielle XML Spezifikation verbietet es Anwendungen, erst
hinterher Warnmeldungen anzuzeigen, falls sie auf fehlerhafte XML Dateien stossen sollten; ist
die Datei fehlerhaft, hat die Anwendung an dieser Stelle anzuhalten und eine Fehlermeldung
auszugeben.
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 oben), und die Nachteile
können meistens an anderer Stelle ausgeglichen werden. Plattenplatz ist nicht mehr so teuer
wie frührer, und Programme wie zip und gzip können Dateien sehr gut und sehr schnell komprimieren. 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.
XML 1.0 ist die Spezifikation, die
definiert, was "Tags" und "Attribute" sind. Hinter XML 1.0 steht die "XML Familie" als ein
wachsender Satz an Modulen, der nützliche Serviceleistungen für die Verwirklichung wichtiger
und häufig angefragter Aufgaben bereithält. Xlink beschreibt eine Standardmethode, um Hyperlinks zu XML Dateien
hinzuzufügen. XPointer und
XFragments sind Syntaxen (in Entwicklung), um auf Teile eines XML Dokuments zu
verweisen. Ein XPointer ähnelt ein wenig einem URL, aber anstatt auf Dokumente im Web zu
zeigen, zeigt er auf Teildaten innerhalb einer XML Datei. CSS, die Style-Sheet-Sprache, ist auf XML
ebenso anwendbar wie auf HTML. XSL ist die weiterentwickelte Sprache zum Erstellen von
Style Sheets. Sie basiert auf XSLT, einer
Transformationssprache, die für das Umstellen, Hinzufügen und Löschen von Tags und Attributen
verwendet wird. Das DOM ist eine
Standardmenge von Funktionsaufrufen für die Manipulation von XML (und HTML) Dateien aus einer
Programmiersprache. XML Schema 1 und
2 unterstüzen Entwickler bei der
präzisen Definition ihrer eigenen XML-basierten Formate. Es gibt noch einige weitere
verfügbare Module und Werkzeuge, bzw. solche, die sich gerade in der Entwicklung befinden.
Sehen Sie sich daher regelmäßig die W3C technical report
page an.
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. 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 ist und eine breite Anwendung für große
Dokumentationsprojekte fand. Die Entwicklung von HTML begann dann 1990. 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.
Es gibt eine wichtige XML
Anwendung, die ein Dokumentenformat beschreibt:
W3C's XHTML, der Nachfolger von HTML. XHTML hat mit
HTML viele gleiche Elemente. Die Syntax hat sich ein
wenig geändert, um mit den XML Regeln konform zu
sein. Ein Dokument, das "XML basiert" ist, erbt die
Syntax von XML, wird aber auf verschiedene Weise
begrenzt (z.B. XHTML erlaubt "<p>", aber nicht
"<r>"); gleichzeitig wird der Syntax Bedeutung
zugemessen (bei XHTML bedeutet "<p>", dass nun
ein "Absatz" folgt und nicht, dass eine "Person",
ein "Preis" oder sonst irgendetwas ausgezeichnet
wird).
XML
erlaubt es einem, ein neues Dokumentenformat zu definieren, indem man andere Formate
kombiniert oder wiederbenutzt. Wenn jedoch zwei Formate völlig unabhängig voneinander
entwickelt worden sind, können sie Elemente und Attribute enthalten, die in beiden Formaten
mit dem gleichen Namen vorkommen. Wenn man diese dann kombinieren will, muss man entsprechend
vorsichtig sein (meint "<p>" jetzt "Absatz" aus dem einen Format, oder aber "Person" aus
dem anderen Format?). Um bei der Kombination von Formaten Namenskollisionen zu vermeiden,
stellt XML den Namensraummechanismus zur
Verfügung. XSL und RDF sind zwei gute Beispiele für
XML-basierte Formate, die Namensräume benutzen. XML
Schema ist entworfen worden, um genau diese Modularisierung bei der Definition von XML
Dokumentenstrukturen zu unterstützen. Es ist ein Leichtes, zwei Schemata zu verbinden, um ein
drittes herzustellen, welches die Struktur der zusammengefügten Dokumente abbildet.
W3C's
Resource Description Framework (RDF) ist ein XML
Textformat, welches Beschreibungen von Resourcen und Metadatenanwendungen unterstützt, wie
z.B. Musik- oder Photokollektionen, oder Schriftenverzeichnisse. Zum Beispiel kann man mit RDF
Personen in einem Photoalbum im Web aufgrund von Informationen aus seiner eigenen Kontaktliste
identifizieren und ihnen automatisch eine Email senden, um ihnen mitzuteilen, dass ihr Foto im
Web zu finden ist. Genau wie HTML Dokumente, Menüsysteme und Webformulare integrierte, um das
Web, so wie wir es heute kennen, ins Leben zu rufen, so integriert RDF Anwendungen und Agenten
in ein semantisches Web. So wie Menschen eine Vereinbarung über den Sinn der Worte benötigen,
damit sie sich unterhalten können, so benötigen Computer Mechanismen für die Vereinbarung von
Bedeutungen, sofern sie effektiv miteinander kommunizieren wollen. Eine formale Beschreibung
von Ausdrücken in bestimmten Bereichen (z.B. im Handel oder in der Herstellung) wird Ontologie
genannt und ist ein notweniger Teil des Semantic Web. RDF, Ontologie und die Repräsentation
von Sinnzusammenhängen, so dass Computer die Arbeit von Menschen unterstützen können, sind
alles Themen der Semantic Web Activity.
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.
Copyright © 1999-2001 W3C® (MIT, ERCIM, Keio), All Rights Reserved.