Was ist XML?

XML (Extensible Markup Language), ist eine Dateiformat zur Speicherung hierarchisch strukturierter Daten in Form von Textdateien und dient als Austauschformat zwischen verschiedenen Programmen.

 

 Definition

Zitat aus: http://de.wikipedia.org/wiki/Extensible_Markup_Language

 

Die vom World Wide Web Consortium (W3C) herausgegebene XML-Spezifikation definiert eine Metasprache, auf deren Basis durch strukturelle und inhaltliche Einschränkungen anwendungsspezifische Sprachen definiert werden. Diese Einschränkungen werden durch ' Schemasprachen wie DTD oder XML-Schema ausgedrückt. Beispiele für XML-Sprachen sind: RSS, MathML, GraphML, XHTML, Scalable Vector Graphics, aber auch XML-Schema. XML ist eine vereinfachte Teilmenge von SGML. 

 

Namen der Strukturelemente

Die Namen der Strukturelemente (XML-Elemente) für eine XML-Anwendung lassen sich frei wählen. Ein XML-Element kann ganz unterschiedliche Daten enthalten und beschreiben: meistens Text, aber auch Grafiken oder abstraktes Wissen. Ein Grundgedanke hinter XML ist es, Daten und ihre Repräsentation zu trennen, um Daten beispielsweise einmal als Tabelle und einmal als Grafik auszugeben, aber für beide Arten der Auswertung die gleiche Datenbasis im XML-Format zu nutzen.

 

 

Fachbegriffe

Wohlgeformtheit

Ein XML-Dokument ist wohlgeformt, wenn es sämtliche Regeln für XML einhält. Beispielhaft seien hier folgende genannt:

Das Dokument besitzt genau ein Wurzelelement.

Alle Tags mit Inhalt besitzen ein Beginn- und ein End-Tag. Tags ohne Inhalt können auch mit /> abschließen.

Die Beginn- und End-Tags sind korrekt verschachtelt.

Ein Element darf nicht mehrere Attribute mit dem gleichen Namen besitzen.

 

Gültigkeit

Soll XML für den Datenaustausch verwendet werden, ist es von Vorteil, wenn das Format mittels einer Grammatik (z. B. einer Dokumenttypdefinition (DTD) oder eines XML-Schemas) definiert ist. Der Standard definiert ein XML-Dokument als gültig, wenn es wohlgeformt ist, den Verweis auf eine Grammatik enthält und das durch die Grammatik beschriebene Format einhält.

 

Parser

Programme oder Programmteile, die XML-Daten auslesen, interpretieren und ggf. auf Gültigkeit prüfen, nennt man XML-Parser. Prüft der Parser die Gültigkeit, so ist er ein validierender Parser.

 

Aufbau eines XML-Dokuments

 

Beispiel einer XML-Datei

 

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

 

<enzyklopädie>

 

<titel>Wikipedia Städteverzeichnis</titel>

 

<eintrag>

 

<stichwort>Genf</stichwort>

 

<eintragstext>Genf ist der Sitz von …</eintragstext>

 

</eintrag>

 

<eintrag>

 

<stichwort>Köln</stichwort>

 

<eintragstext>Köln ist eine Stadt, die …</eintragstext>

 

</eintrag>

 

</enzyklopädie>

 

XML-Dokumente besitzen einen physischen und einen logischen Aufbau.

 

Der physische Aufbau eines XML-Dokumentes besteht aus

 

Entitäten. Die erste Entität ist die Hauptdatei des XML-Dokuments. Weitere mögliche Entitäten sind über

Entitätenreferenzen (&name; für das Dokument bzw. %name; für die Dokumenttypdefinition) eingebundene Zeichenketten, eventuell auch ganze Dateien, sowie

Referenzen auf Zeichenentitäten zur Einbindung einzelner Zeichen, die über ihre Nummer referenziert wurden (&#Dezimalzahl;, oder &#xHexadezimalzahl;).

Eine XML-Deklaration wird optional verwendet, um XML-Version, Zeichenkodierung und Verarbeitbarkeit ohne Dokumenttypdefinition zu spezifizieren.

Eine Dokumenttypdefinition wird optional verwendet, um Entitäten sowie den erlaubten logischen Aufbau zu spezifizieren.

Der logische Aufbau eines XML-Dokumentes ist eine Baumstruktur und damit hierarchisch strukturiert. Als Baumknoten gibt es:

 

Elemente, deren physische Auszeichnung mittels

einem passenden Paar aus Start-Tag (<Tag-Name>) und End-Tag (</Tag-Name>) oder

einem Empty-Element-Tag (<Tag-Name />) erfolgen kann,

Attribute als bei einem Start-Tag oder Empty-Element-Tag geschriebene Schlüsselwort-Werte-Paare (Attribut-Name="Attribut-Wert") für Zusatz-Informationen über Elemente (eine Art Meta-Information),

Verarbeitungsanweisungen (<?Ziel-Name Parameter ?>, engl. Processing Instruction)

Kommentare (<!-- Kommentar-Text -->)

Text, welcher als normaler Text oder in Form eines CDATA-Abschnittes (<![CDATA[ beliebiger Text]]>) auftreten kann.

Ein XML-Dokument muss genau ein Element auf der obersten Ebene enthalten. Unterhalb von diesem Dokumentelement können weitere Elemente verschachtelt werden.

 

Zur Spezifikation des logischen Aufbaus werden die Dokumenttypdefinitionen durch das umfangreichere XML-Schema abgelöst, welches keine Möglichkeit zur Definition von Entitäten, jedoch einen adäquaten Ersatz für Entitäten besitzt. Verarbeitungsanweisungen werden in der Praxis meist eingesetzt, um in XML-Dokumenten Verarbeitungsanweisungen in anderen Sprachen einzubauen. Ein Beispiel dafür ist PHP, dessen Verarbeitungsanweisungen in XML-Dokumenten mit einer PHP-Verarbeitungsanweisung, z. B. <?php echo'Hello, World'; ?> eingebaut werden können.

 

Einige Web-Browser können XML-Dokumente mit Hilfe eines eingebauten XML-Parsers direkt darstellen. Dies geschieht z. B. in Verbindung mit einem Stylesheet. Diese Transformation kann die Daten in ein komplett anderes Format umwandeln, das Zielformat muss nicht einmal XML sein.

 

 

 Begriffe

Zitate aus de.wikipaedia.org sind grün!

DOM http://de.wikipedia.org/wiki/Xml

Ein DOM-API repräsentiert ein XML-Dokument als Baumstruktur und gewährt wahlfreien Zugriff auf die einzelnen Bestandteile der Baumstruktur. DOM erlaubt außer dem Lesen von XML-Dokumenten auch die Manipulation der Baumstruktur und das Zurückschreiben der Baumstruktur in ein XML-Dokument.

RSS http://de.wikipedia.org/wiki/RSS

Abkürzung für Really Simple Syndication, zu deutsch etwa „wirklich einfache Verbreitung“) ist ein elektronisches Nachrichtenformat, das dem Nutzer ermöglicht, die Inhalte einer Webseite – oder Teile davon – als sogenannte RSS-Feeds zu abonnieren oder in andere Webseiten zu integrieren.

SAX http://de.wikipedia.org/wiki/Xml

Ein SAX-API repräsentiert ein XML-Dokument als sequentiellen Datenstrom und ruft für im Standard definierte Ereignisse vorgegebene Rückruffunktionen (callback function) auf. Eine Anwendung, die SAX nutzt, kann eigene Unterprogramme als Rückruffunktionen registrieren und auf diese Weise die XML-Daten auswerten.

XSD http://de.wikipedia.org/wiki/Xml

XML-Schema (bzw. XSD = XML-Schema-Definition) ist die moderne Möglichkeit, die Struktur von XML-Dokumenten zu beschreiben. XML-Schema bietet auch die Möglichkeit, den Inhalt von Elementen und Attributen zu beschränken, z. B. auf Zahlen, Datumsangaben oder Texte, z. B. mittels regulärer Ausdrücke. Ein Schema ist selbst ein XML-Dokument, welches erlaubt, komplexere (auch inhaltliche) Zusammenhänge zu beschreiben, als dies mit einer formalen DTD möglich ist.

XPath http://www.w3schools.com/xpath/default.asp

Um Informationen in XML-Dokumenten zu finden, wird die Sprache XPath benutzt. Mit ihr können Elemente und deren Attribute durchsucht weden.

XPath ist Teil des XSLT-Standards.

XSLT http://www.w3schools.com/xsl/

http://de.wikipedia.org/wiki/XSL_Transformation

XSL=EXtensible Stylesheet Language

CSS auf XML-Basis.

Mit der Sprache XSLT können XSL-Dokumente verändert werden.