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 (übrigens, wer sagt denn, dass es
ein Wort mit einem "p" sein muss?).
Programme, die Kalkulationstabellen, Adressbü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üher, 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ützen 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 Describtion 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.