Diplomarbeit von Bernd Lindner - Inhaltsverzeichnis

Vergleichende Untersuchungen zur XML-Repräsentation von Verkehrstelematik-Daten in Client-Server-Anwendungen und deren multimedialer Aufbereitung

zurück zur Hauptseite


Kapitel 1 - Einleitung und Übersicht

  • 1.1 Motivation
  • 1.2 Zielsetzung und Konzept
  • 1.3 Kapitelübersicht
  • Kapitel 2 - Die Grundlagen von XML

  • 2.1 XML als Metasprache
  • 2.1.1 Trennung von Struktur, Format und Inhalt
  • 2.1.2 Zwei Sichtweisen auf die Dokument-Struktur
  • 2.2 Die XML-Syntax und der Aufbau eines XML-Dokuments
  • 2.2.1 Grundgerüst eines XML-Dokuments
  • 2.2.2 Die Bestandteile einer Document Type Definition
  • 2.2.2.1 Element-Definition
  • 2.2.2.2 Attribut-Definition
  • 2.2.2.3 Entity-Definition
  • 2.3 Konformität
  • 2.4 Ergänzende Standards
  • 2.4.1 Namespaces
  • 2.4.2 XPath
  • 2.4.3 XLink
  • 2.4.3.1 Simple Links
  • 2.4.3.2 Extended Links
  • 2.4.4 XPointer
  • Kapitel 3 - Stylesheets und Transformation

  • 3.1 Trennung von Transformation und Formatierung
  • 3.2 Einsatzgebiet: "Multichannel Publishing"
  • 3.3 Die Funktionsweise von XSLT
  • 3.3.1 Output-Methoden
  • 3.4 Einige grundlegende Direktiven
  • 3.4.1 Templates
  • 3.4.2 Ausgabe des Knoten-Inhalts
  • 3.4.3 Weitere Möglichkeiten
  • 3.5 Präsentation: die visuelle Aufbereitung
  • 3.5.1 Zielplattform: WWW-Browser
  • 3.5.2 Zielplattform: mobile Endgeräte
  • 3.5.2.1 Besonderheiten
  • 3.5.2.2 Exkurs: WML-Basiskonstrukte
  • 3.5.2.3 Transformation nach WML
  • 3.6 Die Darstellung von XLinks und XPointern
  • 3.7 Interaktionselemente und Skriptsprachen
  • Kapitel 4 - Die Verarbeitung von XML-Daten im Schichtenmodell

  • 4.1 Das Template-Paradigma
  • 4.1.1 Server Side Includes
  • 4.1.2 Active Server Pages und Java Server Pages
  • 4.1.3 Common Gateway Interface und Java Servlets
  • 4.1.4 CGI und Servlets mit XML
  • 4.2 Die Architektur des Schichtenmodells
  • 4.2.1 Serverseitige Verarbeitung
  • 4.2.2 Die Aufgaben bei der Verarbeitung
  • 4.2.3 Organisation in Schichten
  • 4.3 Die Wahl eines Verarbeitungs- und Objektmodells
  • 4.3.1 Sequentielle Verarbeitung vs. Objektmodell
  • 4.3.2 Maßgefertigtes Objektmodell vs. Document Object Model
  • 4.3.3 Das Document Object Model
  • 4.3.3.1 Definition der Schnittstellen
  • 4.3.3.2 "Everything is a Node"
  • 4.3.3.3 Ausblick: DOM Level 2
  • 4.4 Eingabeschicht
  • 4.4.1 Zugriff auf Dateien
  • 4.4.1.1 Validierende und nicht-validierende Parser
  • 4.4.1.2 SAX-Parser und DOM-Parser
  • 4.4.1.2.1 Event-basierte SAX-Parser
  • 4.4.1.2.2 Vom SAX-Parser zum DOM-Parser
  • 4.4.1.2.3 Entscheidung für einen Parser
  • 4.4.2 Zugriff auf Datenbanken
  • 4.4.2.1 Daten oder Dokumente?
  • 4.4.2.2 Die Granularität von Informationen
  • 4.4.2.2.1 Granulärität auf Dokument-Ebene
  • 4.4.2.2.2 Granulärität auf Knoten-Ebene
  • 4.4.2.3 Die Einbeziehung von relationalen Datenbanken
  • 4.4.2.3.1 Unterschiede der Datenmodelle
  • 4.4.2.4 Eingliederung in das Schichtenmodell
  • 4.5 Modifikationsschicht
  • 4.5.1 Operationen auf dem Document Object Model
  • 4.5.2 Parametrisierung von Stylesheets
  • 4.5.3 Umsetzung als Methoden auf dem DOM
  • 4.5.3.1 Möglichkeiten unabhängig von einer DOM-Implementierung
  • 4.5.3.2 Möglichkeiten in Abhängigkeit einer DOM-Implementierung
  • 4.6 Transformationsschicht
  • 4.6.1 Der XSLT-Prozessor
  • 4.6.2 Einsatz eines XSLT-Prozessors
  • 4.6.2.1 Übergabe des Dokuments als DOM
  • 4.6.2.2 Übergabe des Stylesheets als Datei oder DOM
  • 4.6.2.3 Ausgabe des Ergebnisses
  • 4.7 Ausgabeschicht
  • 4.7.1 Übertragungs-Protokolle
  • 4.7.1.1 Die HTTP-Architektur
  • 4.7.1.2 Die WAP-Architektur
  • 4.7.2 Anwendung in einem Servlet
  • 4.7.2.1 Transiente Datenhaltung
  • 4.8 Kombinationsmöglichkeiten
  • Kapitel 5 - Implementierung als Toolkit

  • 5.1 Bestandteile des Toolkits
  • 5.2 Einsatz des Toolkits
  • 5.3 Graphische Benutzeroberfläche als Demonstrator
  • 5.4 Die Implementierung im Detail
  • 5.4.1 Die Klasse "Toolkit"
  • 5.4.1.1 Die Methoden von Toolkit
  • 5.4.2 Die Klasse "ExtendedDocument"
  • 5.4.2.1 Die Methoden von ExtendedDocument
  • 5.4.3 Das Interface DomParserWrapper und dessen Implementierungsklassen
  • 5.4.4 Das Interface XslProcessorWrapper und dessen Implementierungsklassen
  • 5.5 Abschließende Bemerkung
  • Kapitel 6 - Untersuchung des Laufzeitverhaltens

  • 6.1 Zielsetzung der Tests
  • 6.2 Testdaten
  • 6.3 Testumgebung
  • 6.3.1 Rechner-Konfiguration
  • 6.3.2 Profiler-Konfiguration und Durchführung der Tests
  • 6.3.3 Beeinflussung durch äußere Faktoren
  • 6.3.4 Getestete Software-Versionen
  • 6.4 Ergebnisse der Tests und gewonnene Erkenntnisse
  • 6.4.1 Parsen (Eingabeschicht)
  • 6.4.1.1 Zeit zum Parsen in Abhängigkeit der Dateigröße
  • 6.4.1.2 Zeit zum Parsen in Abhängigkeit der Schachtelungstiefe
  • 6.4.1.3 Speicherverbrauch einer DOM-Implementierung in Abhängigkeit der Dateigröße
  • 6.4.1.4 Speicherverbrauch einer DOM-Implementierung in Abhängigkeit der Schachtelungstiefe
  • 6.4.2 Traversieren (Modifikationsschicht)
  • 6.4.2.1 Zeit zum Traversieren einer DOM-Instanz in Abhängigkeit der Dateigröße
  • 6.4.2.2 Zeit zum Traversieren einer DOM-Instanz in Abhängigkeit der Schachtelungstiefe
  • 6.4.2.3 Speicherverbrauch einer DOM-Instanz nach der Traversierung in Abhängigkeit der Dateigröße
  • 6.4.2.4 Speicherverbrauch einer DOM-Instanz nach der Traversierung in Abhängigkeit der Schachtelungstiefe
  • 6.4.3 Transformieren (Transformationsschicht)
  • 6.4.3.1 Zeit zur Transformation in Abhängigkeit der Dateigröße
  • 6.4.3.2 Zeit zur Transformation in Abhängigkeit der Schachtelungstiefe
  • 6.4.3.3 Speicherverbrauch bei der Transformation in Abhängigkeit der Dateigröße
  • 6.4.3.4 Speicherverbrauch bei der Transformation in Abhängigkeit der Schachtelungstiefe
  • 6.5 Abschließende Einschätzung
  • Kapitel 7 - Ausblick

  • 7.1 Resümee
  • 7.2 Science Fiction
  • 7.2.1 Aktuelle W3C-Aktivitäten
  • 7.3 Probleme
  • 7.4 Fazit
  • Anhang A - Exkurs: Die Abbildung von XML auf relationale Strukturen

  • A.1 Die Schlüsselfrage
  • A.2 Die Abbildung von Elementen
  • A.2.1 Die Abbildung von Elementen mit Element-Inhalt (Knoten)
  • A.2.2 Die Abbildung von Elementen mit Text-Inhalt (Endknoten)
  • A.2.3 Leere Elemente
  • A.2.4 Elemente mit gemischtem Inhalt
  • A.2.5 Die Behandlung von Rekursionen
  • A.3 Die Abbildung von Attributen
  • A.4 Verbleibende Probleme
  • Anhang B - Beispiel-Dokumente für Kapitel "Stylesheets und Transformation"

  • B.1 DTD für Verkehrsmeldungen
  • B.2 XML-Dokument mit Verkehrsmeldungen
  • B.3 XSLT-Stylesheet für HTML
  • B.4 XSLT-Stylesheet für WML
  • Anhang C - Quell-Codes der Implementierung

  • C.1 Klasse Toolkit
  • C.2 Klasse ExtendedDocument
  • C.3 Interface DomParserWrapper
  • C.4 Interface XslProcessorWrapper
  • C.5 Paket ParserWrappers
  • C.6 Paket XslProcessorWrappers
  • Anhang D - Test-Programme und Tabellen für Kapitel "Untersuchung des Laufzeitverhaltens"

  • D.1 DTD für Testdaten
  • D.2 Perl-Skript Testdaten-Generator
  • D.3 Java-Code für Parser-Tests
  • D.4 Java-Code für Traversierungs-Tests
  • D.5 Java-Code für Transformations-Tests
  • D.6 Tabellen mit den exakten Meßwerten
  • Anhang E - Glossar

    Anhang F - Abkürzungen

    Anhang G - Literatur

    Anhang H - Zeitungsartikel über VMZ

    zurück zur Hauptseite