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.