XML - Grundlagen, Prinzipien und Anwendungen

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

Veranstaltung im Sommersemester 2002

Dozent: Erik Wilde
Assistenten : Jan Gerke und David Hausheer

Vorlesung: Dienstag 13.00-15.00, HG D16.2
Übung: Dienstag 15.00-17.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.

Insbesondere sollte nach dem Besuch der Veranstaltung das Wissen darum vorhanden sein, wie man mit XML modelliert und wie nicht, so dass z.B. die folgenden XML-Fragmente sicher niemals in Betracht gezogen werden für eine XML-Anwendung:

<link>homepage="http://dret.net/netdret"</link>
<name vorname1="Erik" vorname2="Thomas" nachname="Wilde"/>
<datum><jahr>2002</jahr><monat>Mai</monat><tag>12</tag></datum>

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 in der ersten Hälfte des Semesters wöchentliche Übungen, die die jeweils besprochenen grundlegenden XML-Technologien zum Inhalt haben. In der zweiten Hälfte des Semesters wird es dann jedoch einen Termin geben, an dem grössere Projekte vergeben werden, die in den dann verbleibenden sechs Wochen bearbeitet werden. Diese Projekte haben einen engen Bezug zu aktuellen Problemen und Fragestellungen von XML-Technologien und ermöglichen den Teilnehmern, sich intensiver mit einem Thema zu beschäftigen. Alle Projekte sind im Bereich XML/XSLT angesiedelt, und es besteht die Möglichkeit, nach Absprache mit dem Dozenten eigene Projekte zu definieren und durchzuführen. Die Betreuung während der Projektdurchführung findet im gewohnten wöchentlichen Rhythmus oder zusätzlich nach Absprache statt.

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 (PDF Handouts)
PowerPoint Zusatzmaterial
Semesterbeginn SS 2002 ETH Zürich (2.4.2002)
2.4.2002 keine Vorlesung und keine Übung
9.4.2002 Organisatorisches, Überblick und Einführung: Inhalt und Ziel der Vorlesung, Ablauf der Vorlesung und der Übungen/Projekte, welche Technologien werden uns in der Vorlesung beschäftigen, welche Projekte werden wir bearbeiten, Herkunft und Motivation von XML, wofür sollte XML ursprünglich benutzt werden, wofür wird XML benutzt, XML und Datenbanken, XML und verwandte Standards intro.pdf (17 Seiten)
16.4.2002 XML Grundlagen (Syntax und DTDs): grundlegender Aufbau eines XML-Dokuments, Elemente/Attribute und ihre Verwendung, Entities und ihre Verwendung, DTDs als Schema-Sprache für XML, Techniken zum sinnvollen Strukturieren von DTDs, XML Parser als Kern jeglicher XML-Software, well-formed und valid XML basics.pdf (17 Seiten) XMLquickref.pdf (2 Seiten)
23.4.2002 XML Datenmodell: prinzipielle Trennung von XML Dokumenten als Syntax und den darin enthaltenen Daten als abstrakte Datenstruktur, XML Information Set (XML Infoset) als grundlegendes Datenmodell dieser Datenstruktur, Document Object Model (DOM) als API zum XML Infoset, XML Namespaces, XML Base, XML Inclusions (XInclude) model.pdf (20 Seiten) dom.pdf (31 Seiten)
30.4.2002 XML Path Language (XPath): XPath als Selektionsmechnismus für das XML Infoset, XPath als Grundlage für weitere Standards, XPath Konzepte (Expressions, Location Paths, Functions, Node Tests, Predicates), XPath als ein Teil einer Query-Sprache für XML, Anwendungen von XPath (XPointer, XSLT, XQuery, XML Schema) xpath.pdf (18 Seiten) xpath2.pdf (30 Seiten)
7.5.2002 keine Vorlesung und keine Übung
14.5.2002 XSL Transformations (XSLT) I: XML und Style Sheets, Cascading Style Sheets und ihre Einschränkungen, Grundlegender Ansatz von XSL (Trennung in XSLT und XSL-FO), Idee der Transformation von XML, mögliche Ein- und Ausgaben von XSLT Programmen, Ausführung von XSLT Programmen, XPath-Erweiterungen von XSLT, XSLT und funktionale Programmierung, grundlegende Struktur eines XSLT Programms (Templates) xslt1.pdf (22 Seiten) xslt-bible (HTML Dokument)

XSLT Referenz (PDF, 33 Seiten)
21.5.2002 XSL Transformations (XSLT) II: XSLT Sprachkonstrukte für Fortgeschrittene, Modularisierung von XSLT Programmen, Zusammenführen mehrerer XML-Dokumente in einem Style Sheet, Zugriff auf XML IDs und Verwendung von Keys, Weiterentwicklung von XSLT (XSLT 1.1 und 2.0) xslt2.pdf (15 Seiten)
28.5.2002 Project Launch: Vorstellung und Verteilung der Projekte für den Rest des Semesters, Auswahl aus der Liste der Projektbeschreibungen
4.6.2002 XML Schema I: Nachteile von DTDs, Anforderungen an eine bessere Schema-Sprache, Grundaufbau eines XML Schema, Elementare Datentypen, Type Facets, Ableitung eigener Typen, Komplexe Datentypen (enthalten Elemente und/oder Attribute), valid und schema-valid XML schema1.pdf (19 Seiten) schema-bible (HTML Dokument)
11.6.2002 XML Schema II: Typ-Ableitung für Simple und Complex Types, Strukturierte XML Schemas, Modellierung mit XML Schema, Transitionsstrategien von DTDs auf XML Schema, Software-Unterstützung für XML Schema schema2.pdf (21 Seiten)
18.6.2002 XML Protocol: XML als "Presentation Layer" des Internet, Vergleich mit dem OSI Modell und ASN.1, Verwendung von XML auf unterschiedlichen Stufen der Protokollhierarchie, W3C's XML Protocol Activity, Simple Object Access Protocol (SOAP), Web Services Definition Language (WSDL), XML-RPC, anwendungsspezifische XML-basierte Protokolle protocol.pdf (16 Seiten)
25.6.2002 XML und Hypermedia: XML als Dokumentenformat auf dem Web, wie macht man Links in XML, Extensible Linking Language (XLink), Unterschiede des XLink-Modells zu HTML, Extensible Pointer Language (XPointer), Linkdatenbanken als Sammlung externer Links, Zugriff auf Linkdatenbanken xlink.pdf (18 Seiten)
2.7.2002 Ausblick auf kommende XML-Technologien: Bericht von der WWW2002 (7.-11.5.2002), Ausblicke auf neue Versionen der wichtigsten Standards (XPath 2.0, XSLT 2.0), Entwicklung von XML selber, XML Query (XQuery) als momentan wichtigste XML-"Grossbaustelle" end.pdf (7 Seiten)
Semesterende SS 2002 ETH Zürich (5.7.2002)

5. Links zu weiteren Seiten

Auf den folgenden Seiten finden sich weitere Informationen zu dieser Lehrveranstaltung:

6. Verwandte Veranstaltungen

Das Thema XML ist mittlerweile von so wichtiger Bedeutung, dass es in verschiedensten Veranstaltungen behandelt wird. Im Speziellen sind die folgenden Veranstaltungen (ebenfalls im Sommersmester 2002 angeboten) zu erwähnen, bei denen XML als ein wichtiger Bestandteil der Thematik auftaucht:

Diese Liste an Veranstaltungen ist natürlich nicht vollständig, wer noch andere Veranstaltungen kennt, die in diese Liste gehören, der melde sich bitte bei mir. Diese Liste erfüllt einzig den Zweck, über alternative Lehrangebote zu informieren und jeden nach seinen Interessen die am besten passende Lehrveranstaltung auswählen zu lassen.


please send comments to xml-vl@dret.net
last modification on Wednesday, 15-Mar-2006 11:34:22 EST
valid CSS!valid XHTML 1.0!