Hier die lange angekündigte kurze Einführung in XML.
Wie immer dient dieses Tutorial als kurze, thematische Einführung, wer auf eine Spezialisierung in diesem Fachbereich Wert legt, dem sei ein ausführliches Studium dritter Quellen dringend ans Herz gelegt
In Anlehnung an dieses Turtorial werden noch zwei Tutorials zu DTD und zu XSLT folgen; mit DTD überprüfen wir den Inhalt unserer XML Dokumente, mit XSLT können wir zB. XHTML aus unseren XML Dokumenten generieren.
Wofür steht XML:
XML steht für Extensible Markup Language
Was ist XML:
XML ist eine, wie der Name schon andeutet, erweiterbare, standartisierte und textbasierte Möglichkeit, Daten zu strukturieren. Erweiterbar, da die zu verwendenden Tags nicht von vornherein festgelegt sind standartisiert, da vom World Wide Web Consortium entwickelte Syntax und Formatfestlegung Textbasiert, da XML Dokumente einfache Textdokumente sind, die von Hand editiert werden können.
Entstehung:
XML ist, wie HTML auch aus SGML (ISO 8879) entstanden und bildet eine minimalistische Untermenge von SGML und wurde vom World Wide Web Consortium entwickelt (http://www.w3.org/XML/).
Beispiel:
Wir wollen nun einmal am praktischen Beispiel feststellen, wie Daten mittels XML strukturiert werden können. Gegeben sei der Fall wir wollten eine Liste der Angestellten von .. hmm .. photozauber.de erstellen. Der Code dafür könnte wie folgend aussehen:
Damit hätten wir mal provisorisch das photozauber Team mit Name und Fachgebiet in einer XML Datei dargestellt; falsch eingeordnete Fachgebiete oder vergessene Mitarbeiter seien mir bitte herzlichst zu verzeihen.
Die Komponenten einer XML Datei:
Zunächst gibt es die Elemente oder auch einfach Tags, viele dürfte der Begriff aus dem Thema HTML bekannt sein. Ein Tag ist ein bezeichnender Name der von dem "<" und dem ">" zeichen eingeschlossen ist. IN XML benötigt jeder geöffnete Tag ein dazugehöriges geschlossenes Tag; zu erkennen an dem Slash vor dem Namen. Wenn wir in unser Beispiel oben schauen erkennen wir beispielshalber das öffnende Tag
Dann gibt es noch Attribute. Diese stehen innerhalb des startenden Tags und werden in der Form name="wert" eingefügt. Als Beispiel geben wir einmal in unsere XML Datei noch die Festnetz- und Handynummer ("fiktiv natürlich") von gdav an; die Zeile würde dann so aussehen:
Es gibt noch eine Besonderheit bei den Elementen, die leere Elemente betrifft: In diesem Fall darf man auf das schließende Tag verzichten, muß allerdings einen Slash ans Ende des Starttags setzen.
Beispiel:
<meintag />
Der Aufbau einer XML Datei:
Wir sehen zunächst am Dateianfang die Zeile
Diese Zeile ist wichtig und ohne sie läuft für uns erst einmal garnichts, wie wir klugerweise richtig vermuten enthält diese Zeile wichtige Informationen zur xml version und zur Kodierung. Die folgende Zeile
Man merke sich: Jedes XML braucht einen root Knoten, nicht mehr und auch auch nicht weniger; es bedeutet lediglich dass es nur einen Einstiegspunkt zum Parsen der Daten gibt, in unserem Fall lautet dieser Punkt angestelltenliste. Es folgt eine Liste von mitarbeitern mit den Elementen name und fachgebiet (und im Fall von gdav, auch
noch telefon).
Wohlgeformtes XML
Diese nicht von mir erfundene, vielleicht nicht 100% glückliche Übersetzung für das englische well-formed bezeichnet den Idealzustand einer XML Datei. Dieser ist erreicht, diverse folgende Kriterien zutreffen (auch nachzulesen auf der W3C Seite unter http://www.w3.org/TR/REC-xml/#sec-well-formed); die wichtigsten seien hier kurz erwähnt:
- Das Dokument enthält ein oder mehrere Elemente
- Es gibt ein sogenanntes Root Element, in dem die anderen Elemente enthalten sind
- Jedes geöffnete Tag besitzt auch ein geschlossenes Tag oder wird mit "/>" beendet
- Die Tags sind korrekt verschachtelts
- Die XML Datei beginnt mit einer XML Deklaration (zB. "
" )
Dazu gibt es noch weitere Richtlinien betreffend den verwendeten Zeichensatz und andere Besonderheiten wie zB. Kommentare und CDATA Sektionen (letzteres wird uU. einmal in einem Folgetutorial behandelt werden.
Kommentare
Kommentare in XML werden ähnlich wie in HTML wie folgt gesetzt:
Vorteile von XML:
kostenlos
erweiterbar
textbasiert
trennung von inhalt und design in kombination mit xslt
erleichtertes konvertieren in andere formate
Nachteile:
langsames parsen
neuer lernaufwand
Quellen:
Enstehung von XML:
htw-saarland
www-lehre
Einführendes zu XML:
internet-kompetenz.ch
Übersicht:
net-graphics
Informationen zu DTD:
w3schools.com
Speicherung von XML in RDBMS:
XML-Tutorial
Informationen zu XHTML:
Jendryschik.de
Saxon XSLT Prozessor:
Photozauber.de
Allgemeines:
World Wide Web Konsortium
Lust, selbst einen Artikel zu schreiben?
Das Photozauber Team dankt für jede Unterstützung Eurerseits.
