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.
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.
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.
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.
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) |
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.
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.
diff
Kommando ist eine nützliche Hilfe, um Text-Dateien auf Änderungen zu untersuchen. In dieser Arbeit soll untersucht werden, inwieweit diese Idee auf XML Dokumente übertragbar ist (Änderungen in XML Dokumenten sind ein komplexeres Thema, das erst einmal theoretisch untersucht werden müsste).please send comments to xml-vl@dret.net last modification on Tuesday, 23-Mar-2004 08:19:17 CET |
![]() ![]() |