Inhalt:
XML ist eine flexible Markup-Sprache,
die es erlaubt, spezifische Datenformate für eine Vielzahl von
Anwendungen zu definieren. Die einfache Syntax und die Vielzahl an
verfügbaren Werkzeugen hat dazu geführt, dass nahezu alle
Anwendungsgebiete von Software inzwischen eine XML-Variante als
Datenaustausch- und/oder Konfigurationsformat definiert haben, und eine
große Zahl von Protokollen im Internet auf Basis einer XML-Sprache
aufbauen. Verbreitete Beispielanwendungen, Sprachen und Protokolle
sind: Web Services (SOAP/WSDL), XHTML, AJAX, ebXML, DocBook,
OpenDocument, SVG, ...
Analog zu SQL für das relationale Datenmodell haben eine Reihe
von deklarativen Verarbeitungsprachen für XML große Verbreitung
gefunden, und es gibt Datenbanksysteme und Programmierwerzeuge zur
Unterstützung der Anwendungsentwicklung. In dieser Vorlesung werden die
wichtigesten XML-Technologien vorgestellt und unter besonderer
Berücksichtigung des Datenbankkontexts diskutiert.
Als Basis werden zunächst verschiedene Standards rund um XML vorgestellt.
Wir starten mit XML inklusive namespaces.
Dann folgen das XML-Typsystem XML Schema, und die deklarativen Verarbeitungssprachen XSL, XPath und XQuery.
Ersteres dient der Beschreibung von XML Dokumenten analog zu einem
Schema für relationale Datenbanken.
XPath und XQuery sind Anfragesprachen. XPath beschränkt sich dabei
auf Pfadausdrücke, die dann elementarer Bestandteil von
XSL und XQuery sind. XQuery ist eine komplexe Anfragesprache analog zu SQL.
Mittels XSL können Transformationen von XML-Dokumenten zu anderen
XML-Dokumenten spezifiziert werden. Eine Menge solcher
Transformationen wird als Stylesheet gehandelt.
XSL kann aber auch als (nicht-deklarative) Anfragesprache verwendet werden.
Als letztes werden verschiedene API's (DOM, SAX) kennenlernen, die es
einem Programmierer erlauben mittels standardisierter Schnittstelle auf
Dokumenten zu arbeiten.