Einführung
Zu XML gehört eine Vielzahl an unterschiedlichen Sprachen. Dabei wird in der Regel von der XML-Familie gesprochen. Zur XML-Familie gehören neben der Grundsprache XML selbst, auch Bestandteile der Sprache XML (z. B. DTD), sowie Sprachen, die auf der Grundsprache XML aufbauen (z. B. XSLT).
Dieses Thema teilt sich in mehrere Kapitel auf, in welchen Sprachen der XML-Familie sowie die Grundsprache XML behandelt werden. Auf dieser Seite wollen wir Ihnen jedoch schon mal einen groben Überblick über die XML-Familie geben.
Die Spezifikation der Grundsprache XML sowie der meisten XML basierenden Sprachen wurden vom W3C (World Wide Web Consortium) veröffentlicht. Die erste Version von XML erschien 1998. XML wurde von der Sprache SGML erweitert. Deshalb haben XML und SGML sehr viele Gemeinsamkeiten, weshalb bei HTML oft von einer XML basierenden Sprache gesprochen wird. Dies trifft jedoch nur auf XHTML zu. Alle anderen HTML-Versionen basieren auf SGML.
Grundsprache
Bei der „Grundsprache“ XML (eXtensible Markup Language, zu Deutsch erweiterbare Auszeichnungssprache) handelt es sich um eine Auszeichnungssprache, die es ermöglichen soll, Daten strukturieren zu können und diese in einer Textdatei so zu speichern, dass diese sowohl von Menschen als auch von Maschinen leicht gelesen werden kann.
Die Verwendung von XML nimmt stark zu und findet vor allem in Netzwerken (inkl. dem Internet) statt. Dabei wird XML zum Übermitteln von Daten zwischen Computersystemen (Endgeräten und Servern) verwendet. Auf Grund des einfachen Aufbaus sowie der Plattform- und Implementationsunabhängigkeit ist auch die Integrierung von XML-Verarbeitungen in eigene Anwendungen ziemlich einfach möglich. Dies liegt daran, dass XML-Dokumente mittels diverser Programmiersprachen wie z. B. JavaScript und PHP verarbeitet werden können.
Adressierung
Immer wieder wird es nötig sein, innerhalb eines XML-Dokuments zu navigieren und bestimmte Knoten zu adressieren. Für diesen Zweck kommt die Abfragesprache XPath zum Einsatz. XPath kann dabei sowohl in Sprachen wie z. B. JavaScript bei der Verarbeitung eines XML-Dokuments verwendet werden, aber auch in XSL-Sprachen (XSLT und XSL-FO), welche zur Transformation von XML-Dokumenten verwendet werden.
Transformation
Ein Teil der XML-Familie sind Transformationssprachen, welche zur Definierung von Designs und Layouts verwendet werden. Diese Sprachen lassen sich in die Gruppe XSL (eXtensible Stylesheet Language, zu Deutsch erweiterbare Stylesheet-Sprache) einordnen.
Zur Gruppe XSL gehören 3 Sprachen: XSLT, XSL-FO und XPath. Mittels XSLT (XSL Transformation) können XML-Dokumente in andere Dokumente transformiert werden. In der Regel wird XSLT dazu eingesetzt, HTML-Seiten zu generieren. XSL-FO (XSL Formatting Objects) ist eine Sprache, die einem XML-Dokument Stilregeln zuweist (so wie CSS einer HTML-Seite Stilregeln zuweist). Durch ein Formatierungsprogramm (den sogenannten FO-Prozessor) kann dann aus einer XML- und einer XSL-FO-Datei eine andere Datei (oftmals eine PDF-Datei) generiert werden.
Definition
Prinzipiell gibt es für die Namen von Elementen, Attributen und Attributwerten sowie für den Aufbau des Dokumentenbaums in XML-Dokumenten keine Einschränkungen, d. h. die Namen können beliebig gewählt und die Elemente beliebig geschachtelt werden. Um dies zu ändern bzw. um Regeln und Definitionen (auch als Grammatik bezeichnet) für das XML-Dokument aufzustellen, gibt es 2 Sprachen: DTD (Document Type Definition, zu Deutsch Dokumenttypdefinition) und XSD (XML Schema Definition, zu Deutsch XML Schema).
Weitere Sprachen
Neben den bisher genannten Sprachen der XML-Familie gibt es natürlich noch viele mehr. Die wohl bekannteste auf XML basierende Sprache ist XHTML. Weitere Sprachen sind z. B. SVG, GPX, MusicXML, RSS, Atom und XAML. Zu den Sprachen RSS und SVG bieten wir hier ebenfalls Tutorials an.