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.
Link zur hiesigen Seite als QR-Code
Kontaktformular:
Schreiben Sie mir und wir bauen gemeinsam Ihre neue Web-Datenbank!
Mit dem Klick auf den Button stimmen Sie zu, daß Cookies in Ihrem Browser gespeichert werden. Informationen zu den gespeicherten Cookies finden Sie unter Datenschutz#Cookies.Bei Fragen zur Technik wenden Sie sich bitte an Server-Daten - Web-Datenbank-Lösungen