Wie XML funktioniert

(Auszug aus "XML in a Nutshell" von Elliotte Rusty Harold & W. Scott Means)

Das folgende Code-Beispiel zeigt ein einfaches XML-Dokument. Dieses spezielle XML-Dokument könnte in einem Inventursystem oder in einer Bestandsdatenbank auftauchen. Es zeichnet die Daten mit Tags und Attributen aus, die Farbe, Größe, Strichcodenummer, Hersteller, Produktnamen usw. beschreiben.

<?xml version="1.0"?>
<produkt strichcode="2394287410">
   <hersteller>Verbatim</hersteller>
   <name>DataLife MF 2HD</name>
   <menge>10</menge>
   <groesse>3,5"</groesse>
   <farbe>schwarz</farbe>
   <beschreibung>Disketten</beschreibung>
</produkt>

Code-Beispiel: Ein XML-Dokument

Dieses Dokument ist Text und könnte einfach in einer Textdatei gespeichert werden. Sie können diese Datei mit jedem normalen Texteditor wie BBEdit, jEdit, UltraEdit, Emacs oder vi bearbeiten. Sie benötigen dazu keinen speziellen XML-Editor. Wir haben sogar festgestellt, dass die meisten allgemeinen XML-Editoren mehr schaden als nützen und viel schwieriger zu bedienen sind als ein einfacher Text-Editor.

Programme, die tatsächlich versuchen, den Inhalt eines XML-Dokuments zu verstehen – die es also nicht einfach nur so behandeln wie jede andere Textdatei –, benutzen einen XML-Parser, um das Dokument zu lesen. Der Parser ist für die Aufteilung des Dokuments in einzelne Elemente, Attribute und andere Bestandteile verantwortlich. Er übergibt den Inhalt des XML-Dokuments Stück für Stück an eine Anwendung. Wenn der Parser an irgendeiner Stelle die Verletzung von XML-Regeln zur Wohlgeformtheit bemerkt, meldet er der Anwendung einen Fehler und stoppt das Parsen. Manchmal kann der Parser den ersten Fehler im Dokument überlesen, sodass er weitere Fehler aufdecken und melden kann, die weiter hinten im Dokument auftreten. Sobald er jedoch den ersten Fehler bemerkt hat, hört er damit auf, den Inhalt der Elemente und Attribute, die er erkannt hat, an die Anwendung weiterzureichen.

Die einzelnen XML-Anwendungen geben normalerweise genauere Regeln darüber vor, welche Elemente und Attribute wo erlaubt sind. Sie würden zum Beispiel das Element Notenschlüssel nicht in einem Biologie-Dokument erwarten. Einige dieser Regeln können mit Hilfe eines Schemas genau festgelegt werden; dieses Schema kann eine DTD sein oder in einer Schema-Sprache wie der des W3C oder RELAX NG formuliert werden. Ein Dokument kann eine URL enthalten, die angibt, wo das Schema zu finden ist. Manche XML-Parser nehmen das zur Kenntnis und vergleichen das Dokument beim Lesen mit seinem Schema, um festzustellen, ob das Dokument den dort angegebenen Einschränkungen entspricht. Ein solcher Parser wird als validierender Parser bezeichnet. Eine Verletzung dieser Einschränkungen ist ein Gültigkeitsfehler (Validity Error), und der ganze Vorgang des Überprüfens eines Dokuments anhand einer DTD heißt Validierung. Wenn ein validierender Parser einen Gültigkeitsfehler findet, meldet er diesen an die Anwendung, in deren Auftrag er das Dokument prüft. Diese Anwendung kann dann entscheiden, ob das Parsen des Dokuments fortgesetzt werden soll. Allerdings sind Gültigkeitsfehler im Gegensatz zu Fehlern bei der Wohlgeformtheit nicht unbedingt schlimm; eine Anwendung könnte sie auch einfach ignorieren. Nicht alle Parser sind validierend. Manche überprüfen lediglich die Wohlgeformtheit.

Folgende Anwendungen könnten Daten von einem Parser entgegennehmen:

  • Ein Webbrowser wie Netscape Navigator oder Internet Explorer, der das Dokument einem Leser präsentiert.
  • Eine Textverarbeitung wie StarOffice Writer, die das XML-Dokument zum Bearbeiten lädt.
  • Eine Datenbank wie der Microsoft SQL Server, der XML-Daten in einem neuen Datensatz ablegt.
  • Ein Zeichenprogramm wie Adobe Illustrator, das die XML-Daten als Koordinaten für den Inhalt eines Bildes interpretiert.
  • Eine Tabellenkalkulation wie Gnumeric, die die XML-Daten nach Zahlen und Funktionen durchsucht, die in einer Berechnung verwendet werden.
  • Ein Finanzprogramm wie Microsoft Money, das die XML-Daten als Bankauskunft ansieht.
  • Ein Redaktionsprogramm, das aus dem XML-Dokument die Schlagzeilen für die neuesten Nachrichten extrahiert.
  • Ein Programm, das Sie selbst in Java, C, Python oder einer anderen Sprache geschrieben haben und das genau die von Ihnen vorgegebene Aufgabe erfüllt.
  • Quasi alles andere auch.

XML ist ein äußerst flexibles Format für Daten. Es wird für all das und noch viel mehr eingesetzt. Dies sind echte Beispiele. Theoretisch können alle Daten, die sich in einem Computer speichern lassen, in XML festgehalten werden. In der Praxis eignet sich XML für die Speicherung und den Austausch aller Daten, die sinnvoll als Text kodiert werden können. Es ist nur für digitalisierte Daten wie Fotos, Musik, Videos und andere sehr große Bit-Folgen ungeeignet.

   

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema XML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

  


Copyright © 2005 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XML in a Nutshell" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de