XML steht für "Extensible Markup Language" und ist eine Auszeichnungssprache, die zur Definition benutzerdefinierter "Tags" ähnlich wie HTML-Tags verwendet werden kann. Sie ist eine Untermenge einer anderen Auszeichnungssprache, der Standardized General Markup Language (SGML), die im Allgemeinen als zu komplex für eine weit verbreitete Verwendung angesehen wird.
Eines der Hauptziele von XML ist es, den Dokumentinhalt von seiner Formatierung zu trennen. HTML kombiniert Inhalt und Formatierung, was zu Dokumenten führt, die als Datenquellen für Softwareanwendungen nur schwer zu verwenden sind.
XML-Dokumente sind im Gegensatz zu Datenbanken und vielen Dateiformaten von Menschen lesbar. Dies macht XML zu einem sehr portablen Datenformat.
XML-Dokumente können von Programmiersprachen wie Java und C++, für die XML-Parser geschrieben wurden, problemlos verarbeitet werden. IBM, Sun, Microsoft und andere haben XML-Parser, die derzeit frei verfügbar sind.
Die Tags, die in einem bestimmten XML-Dokument erlaubt sind, und ihre Verschachtelungsbeziehungen können durch die Document Type Definition (DTD) eingeschränkt werden. Viele Branchen sind dabei, Standard-DTDs zu definieren, die den Datenaustausch zwischen verwandten Anwendungen vereinfachen werden.
XML-Dokumente können beispielsweise in Web-Browsern angezeigt werden.
Wenn ein Browser XML unterstützt, können XML-Dokumente angezeigt werden, indem auf ihre URLs verwiesen wird, wie dies auch bei HTML-Dokumenten der Fall ist.
Bei Browsern, die XML nicht unterstützen, kann ein XML-Dokument auf dem Webserver in HTML übersetzt werden. Hierfür können Java-Servlets verwendet werden.
Auf XML-Dokumente können Style Sheets angewendet werden, um sie für die Ausgabe zu formatieren.
Es gibt zwei beliebte Arten von Style Sheets:
Cascading Style Sheets (CSS) können verwendet werden, um sowohl HTML- als auch XML-Dokumente zu formatieren.
Extensible Style Language (XSL) kann nur bei XML-Dokumenten verwendet werden. CSS ist viel einfacher als XSL, weist aber viele seiner Funktionen nicht auf. CSS sucht einfach nach bestimmten XML-Tags und formatiert deren Inhalt unter Verwendung eines bestimmten Satzes von HTML-Tags.
XSL besteht aus zwei Teilen: Formatierung und Transformation.
Die Formatierungsfunktionen von XSL sind die gleichen wie die von CSS. Die Transformationsfunktion ermöglicht das Filtern und Neuordnen von Dokumentinhalt durch einen eigenen Mechanismus zur Musteranpassung und eine eigene Skriptsprache.
Es gibt zwei gängige APIs, die von Software-Anwendungen zur Verarbeitung von Daten in einem XML-Dokument verwendet werden können: Einfache API für XML (SAX) und Document Object Model (DOM).
SAX ist eine ereignisgesteuerte API. Beim Parsen eines XML-Dokuments sendet sie "Ereignisse" an Anwendungen, die die Arten von Tags (oder Elementen) angeben, auf die sie gestoßen ist. Anwendungen werden geschrieben, um als Reaktion auf diese Ereignisse bestimmte Aktionen durchzuführen.
DOM ist eine datengesteuerte API. Beim Parsen eines XML-Dokuments baut sie eine Baumdatenstruktur auf, die den Dokumentinhalt beschreibt. Diese Baumstruktur kann dann mehrfach durchlaufen werden, um Daten zu extrahieren.
Dem Baum können neue Elemente hinzugefügt werden. Vorhandene Elemente können entfernt werden. Der resultierende Baum kann ausgegeben werden, um ein brandneues XML-Dokument zu erstellen. XML-Dokumente können mit DOM sogar von Grund auf neu erstellt werden.
Einfaches Beispiel für ein XML-Dokumente:
<?xml version="1.0"?> <seite> <quelle> <adresse>https://www.win-tools.de</adresse> <titel>Alles rund um Windows</titel> <online_seit>2012-01-01</online_seit> <beschreibung>Alles rund um Windows, etc...</beschreibung> </quelle> </seite>
Stand: 23.11.2020