XML - Grundlagen, Prinzipien und Anwendungen

Studiengang des D-ITET (Fach-Nummer 35-588)

Veranstaltung im Sommersemester 2003

Dozent: Erik Wilde
Assistenten : Jan Gerke und David Hausheer

Vorlesung: Dienstag 14.00-16.00, HG E5
Übung: Dienstag 16.00-18.00, ETZ D96



Die seit Anfang 1998 standardisierte Extensible Markup Language (XML) ist fraglos die grösste Umwälzung des World Wide Web (WWW) seit dessen Einführung 1989/90. XML bietet Anwendern die Möglichkeit, anwendungsabhängig Datenstrukturen zu definieren und auszutauschen. Dazu verwendet XML das Konzept der selbstbeschreibenden Dokumente, die alle Informationen enthalten, die notwendig sind, um sie in ihrem Anwendungsumfeld zu bearbeiten. Obwohl als Standard für den Dokumentenaustausch gedacht, wird XML heute vorwiegend ganz allgemein als Methode zur Strukturierung von Daten eingesetzt. In dieser Vorlesung sollen nicht nur die technischen Grundlagen für den Umgang mit XML gelehrt werden, sondern auch die Prinzipien, um richtig mit XML umzugehen.

1. Inhalt und Ziel

XML ist eine der wichtigsten Entwicklungen der letzten Jahre, was den Bereich der Datenmodelle angeht. Das Datenmodell von XML ist relativ simpel (Bäume mit ein wenig zusätzlicher Struktur), aber der Umgang mit XML ist durch die Vielzahl der möglichen Abbildungen strukturierter Daten auf XML nicht immer ganz einfach. Das Ziel dieser Veranstaltung ist es, alle momentan wichtigen Entwicklungen und insbesondere ihre Zusammenhänge darzustellen. Nach dem Besuch dieser Veranstaltung sollten die grundlegenden Prinzipien von XML bekannt sein und der richtige Einsatz der verschiedenen Werkzeuge, mit denen man mit XML umgehen kann.

Besonderer Wert wird in der Veranstaltung auf die Tatsache gelegt, XML nicht nur als Syntax zu sehen, sondern auch das Datenmodell dahinter und den angemessenen Umgang damit. Aus diesem Grunde wird einigen grundlegenden Themen (wie XML Infoset und XPath) relativ viel Raum gegeben, weil sich diese Standards auf der abstrakten Ebene (also dem des Datenmodells) mit XML befassen. Wichtiger als die Kenntnis der XML-Syntax ist die Kenntnis des XML-Datenmodells, und diese zu vermitteln ist eines der Hauptanliegen der Vorlesung.

Als Hauptziel soll die Veranstaltung nicht nur das Handwerkszeug für einen sinnvollen und effizienten Umgang mit XML vermitteln, sondern auch dazu anregen, XML und XSLT als Tools zu sehen, die gar nicht weit von den etablierten Tools einer Unix-Umgebung entfernt sind (wie grep/awk/sed/perl). Der Umgang mit diesen Tools kann daher nicht nur interessant und effizient sein, sondern er wird bald auch zu den Grundfertigkeiten gehören, die man im Umgang mit Daten und Software beherrschen sollte.

2. Voraussetzungen

Voraussetzung für den Besuch dieser Veranstaltung ist der Umgang mit Markup-Sprachen, HTML im Minimum, und XML im Idealfall. Der Aufbau und die Funktionsweise einer Markup-Sprache sollten bekannt sein, d.h. HTML sollte nicht nur mittels irgendwelcher Tools (wie HTML-Editoren) erzeugt worden sein, sondern direkt. Abgesehen von diesen Vorraussetzungen kann die Veranstaltung von allen besucht werden, die Interesse an Datenmodellierung und Datenstrukturen haben.

3. Aufbau

Einerseits wird die Vorlesung in konventioneller Form geführt, in dem Sinne dass für die gesamte Dauer des Semesters Vorlesungen gegeben werden, in denen verschiedene Aspekte von XML-Technologien besprochen werden.

Auf der praktischen Seite gibt es wöchentliche Übungen, die die jeweils besprochenen grundlegenden XML-Technologien zum Inhalt haben. Die Übungen sind als fortlaufende Arbeiten konzipiert, so dass jeweils die Lösung der vorangegangenen Aufgabe die Grundlage für die kommende Übung darstellt. Musterlösungen werden bereitgestellt und können verwendet werden, falls die eigene Lösung keinen geeigneten Ausgangspunkt für die kommende Aufgabe darstellt.

4. Zeitplan

In der folgenden Tabelle ist der zeitliche Ablauf der Veranstaltung dargestellt. Die Vorlesungsunterlagen werden jeweils rechtzeitig vor den entsprechenden Terminen als PDF-Files zur Verfügung gestellt.

Datum Thema Unterlagen Übung
Semesterbeginn SS 2003 ETH Zürich (31.3.2003)
1.4.2003 keine Vorlesung und keine Übung
8.4.2003 Organisatorisches, Überblick & Einführung: Vorstellung der Themen und Aufbau der Vorlesung und Übungen, Herkunft von XML 01-intro.pdf Übung 1: Erstellen eines einfachen XML-Dokuments
15.4.2003 XML Grundlagen (XML Dokumente und DTDs): XML Syntax, DTDs als Schemasprache, Modellierungsrichtlinien für XML 02-basics.pdf und xml-quickref.pdf Übung 2: Erweiterung des XML-Dokuments und Erstellen einer DTD
22.4.2003 XML Datenmodelle: XML als Baum, verschiedene Datenmodelle (XML Infoset, DOM, XPath 1.0/2.0), XML Namespaces 03-model.pdf und dom-tutorial.pdf Übung 3: Erweiterung von XML um XML Namespaces
29.4.2003 XML Path Language (XPath): Selektion von XML-Teilen, XPath Achsen, XPath Funktionen, XPath Ausdrücke 04-xpath.pdf und xpath-chapter.pdf Übung 4: Selektion von Informationen und Generierung von Statistiken mittels XPath
6.5.2003 XML Schema: Nachteile der DTDs, XML Schema als DTD Nachfolger, Simple und Complex Types, Type Derivation, XML Schema als Modellierungssprache 05-schema.pdf und Schema Bible Übung 5: Erstellen eines XML Schema für das XML Dokument
13.5.2003 XSL Transformations (XSLT): Darstellung von XML, Style Sheets (CSS/XSL), XSLT als Programmiersprache, Ein-/Ausgabe, Schleifen, Fallunterscheidungen, Templates, Funktionale Programmierung, XSLT Keys, Ausblick auf XPath/XSLT 2.0 06-xslt1.pdf und XSLT Bible Übung 6: Abbildung von XML nach HTML
20.5.2003 07-xslt2.pdf und XSL-FO Reference Übung 7: Abbildung von XML nach XSL-FO
27.5.2003 XML Schemasprachen: Nachteile von XML Schema, Alternative Schemasprachen (RELAX NG, Schematron), Kombination verschiedener Schemasprachen, Validierung als modulare Aufgabe 08-schemas.pdf Übung 8: Erstellen eines Schematron Schema für das XML Dokument
3.6.2003 Cocoon: XML-basiertes Publishing-Frameworks, Pipelines in Cocoon, Cocoon Sitemap 09-cocoon.pdf und cocoon-architecture.pdf Übung 9: Aufsetzen und Inbetriebnahme eines einfachen Cocoon-basierten Servers
10.6.2003 XML Pipelines: XML Verarbeitung als Kombination einfacher Verarbeitungsschritte, Transformationspipelines, Validierungspipelines 10-pipelines.pdf Übung 10: Integration verschiedener Pipelines in den Cocoon-basierten Server
17.6.2003 Web Services: XML als Presentation Layer, Hierarchie der Web Service Protokolle (SOAP/WSDL/UDDI), Definition eines Web Service 11-webservices.pdf Übung 11: Zugriff auf einen Web Service mittels SOAP
24.6.2003 XML Datenbanken: XML und relationales Modell im Vergleich, XDBMS vs. RDBMS, Abfragesprachen für XDBMS, Speicherung von XML 12-xdbms.pdf Übung 12: Abbilden eines ER-Modells auf XML Schemas
1.7.2003 Abschluss und Ausblick 13-end.pdf keine Übung
Semesterende SS 2003 ETH Zürich (4.7.2003)

5. Testate und Prüfungen

Testate. werden erteilt, wenn mindestens 9 der 12 Übungen erfolgreich bearbeitet wurden. Erfolgreiche Bearbeitung wird von den Assistenten der Vorlesung kontrolliert und testiert. Für Ausfälle wegen WK rechnen wir 1 Übung für jede über eine Woche hinausgehende Woche WK an (d.h., die erste Woche zählt nicht). Die aktuelle Liste der erfolgreich bearbeiteten und kontrollierten Übungen findet ihr hier.

Prüfungen sind mündlich und dauern 30min.

6. Diplomarbeiten

Im Bereich XML Technologien stehen diverse Themen für Diplomarbeiten zur Auswahl. Die folgende Liste ist lediglich eine kleine Auswahl an möglichen Themen, weitere Themen können vorgeschlagen oder in Absprache mit dem Dozenten vereinbart werden.


please send comments to xml-vl@dret.net
last modification on Tuesday, 23-Mar-2004 02:19:17 EST
valid CSS!valid XHTML 1.0!