Zusammenfassung
Lernen Sie die Vor- und Nachteile sowie einige Einsatzmöglichkeiten von XML kennen.
Techniken
XML, XSL, HTML
Voraussetzungen
Access 2002 und höher
Beispieldateien
Tom Jordan, Düsseldorf
Das Thema XML ist mittlerweile in aller Munde. Ohne dieses Standardformat für die Beschreibung von Daten ist der Austausch zwischen diversen Systemen kaum noch denkbar. Auch Microsoft schließt sich an und hat XML inzwischen in fast allen seiner Produkte in irgendeiner Form implementiert. In diesem ersten Beitrag einer dreiteiligen Serie wollen wir Ihnen die Welt von XML kurz vorstellen und Ihnen damit die ersten Praxisschritte ermöglichen.
Kurz gesagt ist XML (Extensible Markup Language) eine Sprache, die Aufbau und Struktur von Daten beschreibt. Auf ähnliche Weise wie HTML eine Webseite, die der Internet Explorer einlesen und darstellen kann, beschreibt XML einen Satz von Daten in einem so genannten XML-Dokument. Da das XML-Dokument auch textbasiert ist, kann es von diversen Systemen, egal auf welchem Betriebssystem oder welcher Plattform, aber auch von Menschen eingelesen und interpretiert werden.
Noch genauer gesagt ist XML eine Metasprache, die eingesetzt wird, um eine so genannte Markup-Sprache für Daten zu definieren. XML gliedert sich in die Familie der Markup-Sprachen ein und wird darin direkt von SGML abgeleitet.
XML ist auch nur Markup
Ob für XML oder HTML (in beiden Fällen steht das “M” ja für Markup), hinter diesem Begriff verbirgt sich die Verwendung von Vermerken, mit denen das Dokument zwecks Verarbeitung kodiert wird. Diese Vermerke fungieren als Anweisungen für ein Leseprogramm beziehungsweise einen Menschen dazu, wie die Daten zu interpretieren sind. Das typische XML-Dokument besteht also sowohl aus den grundlegenden Daten als auch aus dem Markup, der den Aufbau der Daten beschreibt. Ohne Markup hätten die Daten keine Struktur und wären wohl ziemlich wertlos. Schauen Sie sich dieses XML-Beispieldokument einmal an:
<Filiale> <Kunden> <Kunde KD-NR="459"> <Nachname>Jordan</Nachname> <Vorname>Tom</Vorname> <Bestellungen> <Bestellung Bestell-NR="854"> <Datum>07.12.2005</Datum> </Bestellung> </Bestellungen> </Kunde> </Kunden> </Filiale>
Zu dem Markup dieses Dokuments gehören hauptsächlich die zwischen Klammern stehenden Datenvermerke (die Tags).
Beispielsweise bedeutet der Tag <Kunde> für den Leser, dass es sich um Kundendaten handelt, inklusive Nachnamen, Vornamen und Bestellungen des Kunden.
Diese Information, die man mit Access normalerweise in Tabellen und Feldern abspeichern würde, wird in unserem XML-Dokument als Unterelemente unter <Kunde> abgelegt. Diese hierarchische Struktur der Daten erhöht ebenfalls die Lesbarkeit des Dokuments.
Well-Formed ist die Hauptsache
Damit das Dokument mit einem gültigen Format versehen ist und einem Leseprogramm keine Probleme bereiten kann, wird jeder Tag durch den entsprechenden End-Tag, zum Beispiel </Kunde>, abgeschlossen.
Ein Dokument wird erst dann für “well-formed” (gut formatiert) befunden, wenn sämtliche Elemente zwischen Start- und End-Tags eingeschlossen sind. Nur Dokumente, die auf diese Weise korrekt formatiert sind, können erst einmal von einem XML-Parser (einem Leseprogramm) interpretiert werden.
Neben Unterelementen kann jedes Element innerhalb eines Dokuments auch XML-Attribute enthalten, zum Beispiel die Kundennummer KD-NR, die das Kundenelement eindeutig identifiziert.
Beim ersten Blick auf das Beispieldokument kann man also sehen, dass es sich hier um eine Filiale mit dem Kunden “Tom Jordan” und eine seiner Bestellungen handelt. Bei einer flachen Textdatei ohne Struktur wäre eine solche Schnellanalyse der Daten mit bloßem Auge nicht möglich.
Verarbeitung von XML
Da XML ein universelles Textformat zugrunde liegt, kann es von diversen Systemen zu verschiedenen Zwecken gelesen werden. Das Markup (Tags, Elemente, Unterelemente, Attribute und so weiter) eines XML-Dokuments ist eher beschreibender Natur.
Es vermittelt nur die allgemeine Struktur und Definition der Daten. Im Gegensatz dazu verwendet beispielsweise HTML ein prozedurales Markup, da der Internet-Browser sinnvollerweise nur das gesamte Dokument interpretieren und darstellen soll.
Bei XML muss ein Leseprogramm nicht unbedingt das gesamte Dokument einlesen und jedes Element verarbeiten. Stattdessen kann es anhand der Strukturinformation nur auf die Datenbereiche zugreifen, die für die Aufgabe notwendig sind.
Alle gängigen XML-Parser erlauben diesen schnellen Zugriff auf beliebige Elemente sowie das Durchlaufen aller so genannten Knoten, die bestimmte Kriterien erfüllen.
Beim vorherigen Beispieldokument könnte sich ein Parser nur auf die Kundendaten konzentrieren und ganz auf die Bestellungen verzichten.
Darüber hinaus könnten sogar die Bestelldaten aus dem Dokument herausgenommen und an ein anderes System zur Verarbeitung geschickt werden.
In einem weiteren Beitrag zum Thema XML mit Access werden Sie erfahren, wie Sie gezielt auf XML-Knoten zugreifen können.
Ebenso werden Sie den XML-Parser von Microsoft, den Sie auch in Ihren Access-Datenbanken einsetzen können, in einem späteren Beitrag aus diesem Heft kennen lernen.
Wie im vorherigen Abschnitt erläutert, hat XML viele Vorteile gegenüber einem flachen Textformat beziehungsweise einem Binärformat:
XML bringt allerdings auch Nachteile mit sich, unter anderem bei der potenziellen Datenmenge.
Da die gleichen Tags, zum Beispiel <Kunde>, im selben Dokument immer wieder vorkommen, kann das typische XML-Dokument ziemlich in die Länge gehen und dadurch für längere übertragungszeiten sorgen.
Aber auch hier gibt es ein Gegenmittel, nämlich dass XML sich sehr gut komprimieren lässt.
Gerade wegen der Wiederholung eines Tags wie <Kunde> kann man bei XML sehr hohe Komprimierungsraten erreichen.
Bei langen Dokumenten empfiehlt es sich also, diese vor einer übertragung ans Zielsystem zu komprimieren.
BizTalk, eine Anwender-Gemeinde von Standards wie XML, wurde von Microsoft gegründet und wird von diversen Konzernen wie SAP und Boeing unterstützt. Das Ziel der BizTalk-Gemeinde ist die schnelle Einführung von XML zur Integration von diversen Anwendungen im Bereich e-Commerce.
Verschiedene Komponenten tauschen Daten mithilfe von XML-Nachrichten (kurze XML-Dokumente, wie im vorherigen Abschnitt beschrieben) aus und werden somit zu einer neuen gemeinsamen BizTalk-Lösung.
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
den kompletten Artikel im PDF-Format mit Beispieldatenbank
diesen und alle anderen Artikel mit dem Jahresabo