Einstieg in XML - Grundlagen, Praxis, Referenz

Einstieg in XML - Grundlagen, Praxis, Referenz

 

 

 

von: Helmut Vonhoegen

Rheinwerk Computing, 2015

ISBN: 9783836238007

Sprache: Deutsch

615 Seiten, Download: 17581 KB

 
Format:  EPUB, auch als Online-Lesen

geeignet für: geeignet für alle DRM-fähigen eReader geeignet für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Apple iPod touch, iPhone und Android Smartphones Online-Lesen
Typ: A (einfacher Zugriff)

 

eBook anfordern

Mehr zum Inhalt

Einstieg in XML - Grundlagen, Praxis, Referenz



1Einführung


Vor Babel: »Alle Welt hatte nur eine Sprache und dieselben Laute.« (Genesis 11,1)

Damit Sie gleich wissen, wovon in diesem Buch die Rede ist, spielen wir zunächst ein kleines Beispiel durch. Die Daten einiger Buchprojekte werden in einer Liste zusammengestellt, um sie auf einer Seite im Web zu veröffentlichen.[ 1 ]

1.1Kleines Einstiegsprojekt zum Kennenlernen


Der übliche Weg zu einer solchen Liste wäre vielleicht eine Datentabelle, die in einer Datenbankanwendung oder einem Kalkulationsprogramm realisiert wird. Sie würden sich einige Gedanken darüber machen, welche Feldnamen in der Kopfzeile dieser Tabelle auftauchen müssten, und später die einzelnen Datensätze unter dieser Kopfzeile eintragen.

1.1.1Ein erstes XML-Dokument


Um das Problem mit den Mitteln von XML anzugehen, ist ein XML-Dokument erforderlich. Eine erste Lösung könnte in einer einfachen Variante so aussehen:

<?xml version="1.0" encoding="UTF-8"?>
<buchprojekte>
<projekt name="Samsung Galaxy Tab">
<teilnehmer>
<autor>Helmut Vonhoegen</autor>
</teilnehmer>
<verlagsbereich>Vierfarben</verlagsbereich>
</projekt>
<projekt name="Einstieg in XML">
<teilnehmer>
<autor>Helmut Vonhoegen</autor>
</teilnehmer>
<verlagsbereich>Rheinwerk Programmierung</verlagsbereich>
</projekt>
</buchprojekte>

Listing 1.1projektdaten.xml

Es wird sofort sichtbar, was bei XML-Dokumenten anders ist: Während Sie bei jedem Tabellenfeld nur über die Feldbezeichnung in der Kopfzeile erfahren, welche Information in dem einzelnen Feld enthalten ist, bringt in dem XML-Dokument jede Informationseinheit das Etikett mit der Beschreibung der Information gleich mit.

1.1.2Standardausgabe im Webbrowser


Wenn Sie einen aktuellen Webbrowser verwenden, bei dem ein spezieller Prozessor, ein Parser für XML-Dokumente, integriert ist, lassen sich die XML-Daten darin ansehen. Gut geeignet dafür sind beispielsweise Firefox oder der Internet Explorer. Letzterer gibt das kleine XML-Dokument, das direkt vom lokalen Laufwerk geöffnet werden kann, wie in Abbildung 1.1, aus.

Abbildung 1.1Wiedergabe einer XML-Datei im Internet Explorer

Der Internet Explorer verwendet zur Darstellung der Daten ein eingebautes Stylesheet. Die Darstellung entspricht ziemlich genau dem Quelltext, bis auf die vom Browser gewählte Hervorhebung der darin enthaltenen Textdaten und der teilweise vorgesetzten Minuszeichen.

Diese Minuszeichen sind Gliederungssymbole, mit deren Hilfe Sie Gruppen von Daten aus- oder einblenden können. Abbildung 1.2 zeigt zum Beispiel nur noch die Projektnamen.

Abbildung 1.2Reduzierte Wiedergabe derselben XML-Datei

Das erste auffällige Merkmal an einem XML-Dokument ist, dass zu jeder einzelnen Information, die darin enthalten ist, an Ort und Stelle immer auch eine Benennung dieser Information beigefügt ist. Wenn XML als Datenformat gesehen wird, handelt es sich also um ein selbstbeschreibendes Format.

1.1.3Wohlgeformtheit ist ein Muss


Aktuelle Webbrowser reagieren ziemlich streng, wenn auch nur eine dieser Beschreibungen in den spitzen Klammern, die Tags genannt werden, vergessen wird oder sich ein Schreibfehler darin einschleicht.

Abbildung 1.3Reaktion des Chrome-Browsers auf das fehlerhafte End-Tag zu <teilnehmer>

In diesem Fall erkennt der im Browser integrierte XML-Parser, dass das XML-Dokument einen Formfehler hat – also nicht »wohlgeformt« ist, wie es im XML-Jargon heißt –, und bricht die Verarbeitung mit einer entsprechenden Fehlermeldung ab. Während der Webbrowser bei einer HTML-Seite allerlei Ungenauigkeiten durchgehen lässt und die Seite trotzdem anzeigt, herrscht also bei XML ein strenges Regime, in der guten Absicht, Webanwendungen wenigstens in der Zukunft in einen solideren Zustand zu befördern.

1.1.4Gültige Dokumente per DTD oder Schema


Die bloße formale Prüfung auf Wohlgeformtheit kann noch durch eine Prüfung auf Gültigkeit ergänzt werden. Dabei geht es um die Frage, ob das Dokument auch alle geforderten Informationen enthält, und zwar in der richtigen Reihenfolge. Ein Projekt in unserem Beispiel kann zwar mehr als einen Autor haben, aber kein Projekt kommt ohne Autor aus. Um die Elemente und Attribute und ihre Reihenfolge für ein Dokument genau festzulegen, kann dem XML-Dokument ein entsprechendes Datenmodell zugeordnet werden, an dem seine Gültigkeit dann zu messen ist.

Mit dem Werkzeug, das wir im Verlauf dieses Buchs noch häufiger verwenden werden – XMLSpy von Altova –, können Sie ein solches Datenmodell auch nachträglich aus einem schon vorliegenden XML-Dokument erzeugen. Dabei gibt es hauptsächlich zwei Möglichkeiten: Sie können eine DTD – eine Dokumenttyp-Definition – oder ein XML-Schema erzeugen. Die Rolle dieser beiden Datenmodelle wird ausführlich in Kapitel 3, »Dokumenttypen und Validierung«, behandelt. Eine DTD für unser Beispiel wird in Abbildung 1.4 dargestellt.

Abbildung 1.4Eine DTD für die Projektdaten

Das gleiche Datenmodell in Form eines XML-Schemas zeigt Abbildung 1.5.

XMLSpy gibt dieses Datenmodell grafisch in einer entsprechenden Baumstruktur aus (siehe Abbildung 1.6). Der Modelldesigner kann sein Modell auch gleich in dieser grafischen Form entwerfen. Das erleichtert es, den Überblick über die Hierarchie der Informationseinheiten zu behalten, die er konstruiert.

Abbildung 1.5Das XML-Schema, das der DTD entspricht

Abbildung 1.6Das XML-Schema als Diagramm in XMLSpy

Die Gültigkeit eines Dokuments kann in XMLSpy immer sofort geprüft werden, weil ein validierender Parser integriert ist. Webbrowser ignorieren dagegen normalerweise die Frage der Gültigkeit, zeigen also auch ungültige Dokumente so lange an, wie sie wohlgeformt sind.

1.1.5Formatierte Datenausgabe


Die Ausgabe von XML-Daten im Webbrowser in der oben abgebildeten Form ist natürlich nur ein Provisorium. Der wesentliche Unterschied zwischen einer XML- und einer HTML-Datei ist, dass das XML-Dokument eine reine Datensammlung ist, die zunächst noch keinerlei Hinweis darauf enthält, wie die Daten etwa in einem Browser zu präsentieren sind. Die oben abgebildete Darstellung kommt auch in dieser Form nur dadurch zustande, dass der Internet Explorer ein paar minimale Formatierungen vorgibt, etwa um die Tag-Namen farbig hervorzuheben. Andere Browser verhalten sich hier anders. Google Chrome zum Beispiel verwendet statt der Plus- oder Minus-Zeichen kleine Dreiecke, Safari zeigt nur die nackten Textdaten an.

Um die Daten in einer brauchbaren Form auszugeben, kann dem XML-Dokument ein Stylesheet beigegeben werden, entweder in Form von einfachen CSS-Stylesheets, wie sie auch für die Formatierung von HTML-Seiten verwendet werden, oder mit Stylesheets, die in der XML-Sprache XSLT oder XSL geschrieben sind.

Ein solches XSLT-Stylesheet könnte in diesem Fall beispielsweise so aussehen:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/ Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/">
<html>
<head>
...

Kategorien

Service

Info/Kontakt

  Info
Hier gelangen Sie wieder zum Online-Auftritt Ihrer Bibliothek