Sql-und-Xml - Home

Xml lernen

Grundlegende Begriffe und Konzepte von Xml - die Kombination von Daten und ihrer Beschreibung

  • Ein Xml-Dokument kann in verschiedenen Zuständen existieren - als physikalische Datei auf der Festplatte, als ein Bereich im Arbeitsspeicher oder als Kombination verschiedener Dateien, die auf unterschiedlichen Servern liegen. Unterschieden wird zwischen der logischen und der physikalischen Form eines Xml-Dokuments.
  • Die logische Struktur eines Xml-Dokuments bezieht sich auf die Unterscheidung zwischen Inhalt und Metadaten, welche diesen Inhalt beschreiben. Inhalt umfaßt in der Regel Text, also Zeichendaten. Metadaten werden durch Elemente beschrieben, die von den beiden Sonderzeichen < und > begrenzt werden. Für jede Anwendung ist entscheidend, daß ein Xml-Dokument seine eigene Meta-Beschreibung, seine Selbstbeschreibung vollständig enthält. Nur das, was als Meta-Information ausgezeichnet wurde, ist Meta-Information. Insbesondere sind die Metainformationen vorhanden ohne Bezug auf ein Ausgabegerät, ein parsendes Programm oder eine notwendige Betriebssystem-Plattform. Es genügt, daß ein Xml-Dokument existiert - dann beinhaltet es seine vollständige Selbstbeschreibung.
  • Auf den ersten Blick mag dies zu hochredundanten Strukturen führen, da Dokumentbeschreibungen pro Dokument vorliegen müssen. Tatsächlich jedoch kann ein solches logisches Xml-Dokument aus physikalisch verschiedenen Teilen, den Entities, zusammengesetzt werden, die natürlich zum Zeitpunkt der Verarbeitung vollständig erreichbar sein müssen. Insbesondere lassen sich die Meta-Beschreibungen, die Beschreibung der zulässigen Elemente und Attribute, auslagern und per http-Protokoll einbinden. Damit verschwindet das Problem, daß die Metadaten eines Textes, seine logische Gliederung, in binärer Codierung, den speziellen Formatdefinitionen der Software-Entwickler abgelegt worden sind, so daß nur das analysierende Programm, die Textverarbeitung oder die Datenbank-Software, weiß, was diese kryptischen Zeichen bedeuten. Das Programm ist an das Betriebssystem gebunden, das Betriebssystem unterstützt nur eine gewisse Hardware - dieses Problem der Archivierung elektronischer Texte verschwindet, wenn die Daten mit ihrer Beschreibung als Selbstbeschreibung zusammengehören.
  • Damit kann man sich ein Xml-Dokument vorstellen als einen Datenstrom, der von einer Instanz, einer Anwendung eingelesen, geparst und weiterverarbeitet wird. Einige der grundlegenden Konzepte lassen sich bereits von dieser Sichtweise her verständlich machen.
    • Der Datenstrom hat einen Beginn und ein Ende -> jedes Xml-Dokument muß ein eindeutiges Wurzel- oder Root-Element enthalten, welches den gesamten Inhalt umschließt. Das bloße Ende des Datenstroms genügt nicht als Kriterium, da - etwa bei Netzwerkzugriffen - ein Verbindungsabbruch denkbar ist.
    • Metainformationen beginnen mit <. Da es verschiedene Metainformationen gibt, folgt ein selbstgewählter Bezeichner, ein Name, gefolgt von >. Der zu dieser Metainformation gehörende Inhalt wird durch denselben Namen eingeschlossen. Zusätzlich muß der Endcharakter sichtbar werden ⇒ Content liegt im Inhalt von Elementen, ein Element besteht aus Start- und Endtag, beide unterscheiden sich nur durch den dem Namen vorgestellten Slash (/).
    • Da dem verarbeitenden Programm die frei wählbaren Namen in voraus nicht bekannt sind, müssen die Namen rasch identifizierbar sein. Deshalb Beachtung von Gross/Kleinschreibung im Gegensatz zu Html, um das Verarbeitungstempo zu erhöhen und um Unicode-Zeichen für Elementnamen zuzulassen. Sämtliche Metainformationen, also die gesamte Selbstbeschreibung des Dokuments, können in derselben Sprache, derselben Kultur formuliert werden wie der Inhalt und sind, da für die Elementnamen alltagssprachliche Begriffe verwendet werden können, auch für Nicht-Programmierer verständlich.
  • Die physikalische Struktur eines Xml-Dokumentes bezieht sich darauf, daß ein logisches Xml-Dokument in verschiedene physikalische Abschnitte, Entities zerfallen kann, die in verschiedenen Dateien auf verschiedenen Servern liegen können. Das einlesende Gerät beginnt mit seiner Verarbeitung und kann auf einen URI, einen Uniform Ressource Identifier stoßen, der auf Bruchstücke auf anderen Servern verweist. Nun müssen diese geladen und ebenfalls verarbeitet werden, sie können weitere Verweise enthalten. Erst wenn jeder Verweis erfolgreich aufgelöst und selbst erfolgreich verarbeitet wurde, ist das Parsen des Xml-Dokuments abgeschlossen.
  • Erfüllt eine Datei, ein Datenstrom, ein Speicherblock diese Bedingungen, so sind die minimalen Xml-Prinzipien erfüllt. Man spricht von wohlgeformten Xml-Dokumenten. Ist mindestens eines dieser Kriterien wohlgeformter Xml-Dokumente nicht erfüllt, so darf die Analyse nicht fortgesetzt werden, da bsp. nicht mehr bekannt sein kann, was Content und was Metainformation ist ⇒ jedes analysierende Programm muß mit einem fatalen Fehler die Verarbeitung beenden. Ein Programm, welches diese Regeln wohlgeformter Xml-Dokumente prüft und bei Mißachtung dieses Regelwerkes abbricht, ist ein Xml-Parser, der Xml-Dokumente auf Wohlgeformtheit überprüft, darauf ob es sich um ein well-formed document handelt. Alles, das in diesem Sinne nicht wohlgeformt ist, ist kein Xml-Dokument.
  • Für die Weiterverarbeitung kann es wünschenswert sein, Elementnamen, Attribute und erlaubte Schachtelungen zwingend vorzuschreiben, so daß die Verarbeitung auch dann abgebrochen wird, falls eine der zusätzlich geforderten Bedingungen nicht erfüllt ist. Hierfür wird dem Xml-Dokument eine document type definition (dtd) zugeordnet, in der jedes Element mit seiner Attribut-Liste festgelegt wird. Erfüllt das Xml-Dokument diese zusätzlichen Bedingungen, so spricht man von einem validen Xml-Dokument. Ein Parser, der das Xml-Dokument zusätzlich gegen eine DTD auf Validität prüft, wird validierender Parser genannt.

© 2003-2017 Jürgen Auer, Berlin.