Intention - Einführung in XML und mehr

Diese Seite soll eine Einführung in die Sprache extensible Markup Language (XML) geben und die vielseitigen Einsatzmöglichkeiten kennen zu lernen.

Neben der Sprache XML kommt bei der Weiterverarbeitung von XML-Daten häufig die extensible Stylesheet Language (XSL) zum Einsatz, mit der die XML-Daten transformiert werden können (inklusive der Erweiterung XSLT - XSL Transformations). Das Ergebnis dieser Transformation kann ebenfalls wieder eine XML-Datei sein, aber es sind auch viele andere Ergebnis-Formate möglich, wie z.B. HTML, CSV oder PDF.

Entstehung von XML

Ursprünglich wurde XML entwickelt, um eine Trennung von Daten und Formatierung einzuführen, die in HTML nicht vorhanden ist.

Bei den so genannten Auszeichnungs(Markup)-Sprachen bezeichnet Markup, dass die Daten mit Elementen ausgezeichnet werden, die eine Beschreibung der enthaltenen Daten angeben sollen. Bei HTML dienen diese Auszeichnungen nur der Formatierung. 

Bei XML werden zunächst die Dateninhalte mit den XML-Elementen beschrieben. Zur Darstellung können nun mit CSS (Cascading Style Sheets) oder XSL (später dazu mehr) diese Beschreibungen in Layoutanweisungen z.B. in HTML gewandelt werden. 

Für Leser, die HTML nicht so sehr kennen, hier ein kleines Beispiel. Wie bereits erwähnt, dienen HTML-Elemente der Formatierung des Textes, wie z.B. zur Auszeichnung von Überschriften:

<h1>Eine große Überschrift</h1>

In diesem Beispiel wird in Browsern das H1-Element interpretiert und der Text "Eine große Überschrift" groß dargestellt. Mit CSS können auch HTML-Elemente neu definiert werden und das Layout für alle H1-Elemente geändert werden.

In XML könnte das Beispiel so aussehen:

<ueberschrift>Eine Überschrift</ueberschrift> 

Nun kann mit XSL dieses Element passend formatiert werden, aber es könnten auch alle in einem Dokument vorkommenden  <ueberschriften>-Elemente zu einem Inhaltsverzeichnis gesammelt werden.

An diesem Beispiel sieht man gut den Unterschied zwischen XML und HTML. XML muss keine Informationen über die Formatierung enthalten, da diese anhand der Beschreibung der Daten durch selbst definierte XML-Elemente getrennt umgesetzt werden kann. Dies ist auch sehr interessant, falls die Daten in verschiedenen Formaten ausgegeben werden sollen. Eine Ausgabe in HTML und LaTeX wäre problemlos vorstellbar.

Neben XML und HTML ist auch SGML zu erwähnen. HTML und XML sind Teilmengen der Standard Generalized Markup Language (SGML), diese ist aber für Anwendungen im Internetbereich zu umfangreich. 

Anwendungen von XML

Als XML entwickelt worden ist, war dieser große Erfolg nicht absehbar. Wie oben erwähnt, wurde XML zur Verarbeitung von Textinhalten im Internet entwickelt. Inzwischen findet sich XML allerdings in nahezu allen Bereichen der Informatik wieder.

Eine sehr beliebte Verwendung von XML ist die Definition eigener Sprachen zur Datenspeicherung und zum Austausch zwischen Anwendungen. Hier ist inzwischen eine große Ansammlung von Sprachen entstanden, wie zum Beispiel PNML (Petri Net Markup Language) zur Beschreibung von Petri Netzen. Ein Vorteil zu anderen Speicherarten ist die gute Lesbarkeit dieser Daten, die leicht innerhalb der XML-Datei bearbeitet werden können.

Tools zur Bearbeitung von XML-Daten

Zur Bearbeitung von XML-Dateien steht eine Vielzahl von Editoren zur Verfügung. Folgende, spezielle Editoren können kostenlos eingesetzt werden:

Windows

Microsoft XML Notepad 2007

Linux

XML Copy Editor

 

Anmerkung:

 Ich kam durch ein Praktikum zu dem Thema XML, es ging dabei um die Möglichkeiten XML für die Ausgabe auf verschiedene Medien einzusetzen. Auch nach dem Praktikum habe ich mich noch weiter mit XML beschäftigt und kam dann auf die Idee diese Seite zu schreiben. Seit dieser Zeit haben sich besonders die Anwendungen stark verändert und XML hat seinen Siegeszug in praktisch allen Bereichen angetreten. Falls mir jemand noch Tipps und Erfahrungen mitteilen kann, würde ich mich sehr freuen. Ich bin über Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! zu erreichen.