Einführung und Überblick
|
This work is licensed under a Creative
Commons
Attribution-NonCommercial-ShareAlike 2.5
License.
|
Abstract
Die
Extensible Markup Language (XML)
wurde im Jahr 1998 durch das World Wide Web Consortium (W3C)
als Standard verabschiedet. Sie wurde vor dem Hintergrund
der Expansion der Internetnutzung in Richtung
applikationsspezifischer Formate erdacht. HTML als die
"Sprache des Web" war rein zum web-basierten Publizieren von
(Text-)Dokumenten erdacht. Mit XML hingegen eröffnete sich
zum ersten Mal die Möglichkeit, Daten im Web maschinenlesbar
und flexibel auszutauschen. Das
Semantic Web
versucht seit nunmehr einigen Jahren, mit XML-Mitteln
semantische Information darzustellen und nutzbar zu machen.
Mittlerweile hat sich die XML als weltweit akzeptiertes
Austauschformat für maschinenlesbare und strukturierte Daten
etabliert.
Über mich
-
Wissenschaftliche Mitarbeiterin der
DaimlerChrysler Forschung
(2004-2006)
-
Forschung auf diversen Gebieten der XML,
u.a. Mitarbeit in der W3C-Arbeitsgruppe zur
Web Service Description Language
-
Beraterin bei der
Altran Group
(2006-?)
-
für die Altran tätig im Forschungs- und
Innovationszentrum der BMW AG
- Veröffentlichungen
Über Sie

© S. Hofschlaeger /
PIXELIO
Über diesen Kurs
-
Web page:
http://www.barbara-zengler.de/vorlesung/
- Vorlesungszeiten:
-
Vorlesung: Montags 08:00 - 09:30. Raum I 102
-
Praktikum: Montags 09:50 - 11:20. Raum M2.03
(Betreuung durch Herrn Prof. Klever)
-
Prüfung erfolgt durch Studienarbeit im Rahmen
des Praktikums (gemeinsam mit i3.NETZ)
- Ablauf des Praktikums:
-
1. Teil: Übungsaufgaben (1.10.-12.1.2008)
-
2. Teil: Anfertigen der Studienarbeit (ab
1.12.2008)
-
Ausgabe der Studienarbeiten am 1. Dezember 2008.
Das Praktikum ist erfolgreich zu absolvieren.
Vorlesungstermine
-
Vorlesungstermine im WS 2008/09 (15
Veranstaltungen).
| Termin |
Inhalt |
Praktikum |
| 06. Oktober 2008 |
Einführungsveranstaltung |
Achtung: An diesem Tag kein Praktikum!
|
| 13. Oktober 2008 |
XML-Dokumente / Wohlgeformtheit |
Praktikumsaufgaben zum Vorlesungs-Thema
|
| 20. Oktober 2008 |
Namensräume |
Praktikumsaufgaben zum Vorlesungs-Thema
|
| 27. Oktober 2008 |
DTD / XML Schema |
Praktikumsaufgaben zum Vorlesungs-Thema
|
| 03. November 2008 |
XML Schema |
Praktikumsaufgaben zum Vorlesungs-Thema
|
| 10. November 2008 |
SAX |
Praktikumsaufgaben zum Vorlesungs-Thema
|
| 17. November 2008 |
DOM |
Praktikumsaufgaben zum Vorlesungs-Thema
|
| 24. November 2008 |
DOM |
Praktikumsaufgaben zum Vorlesungs-Thema
|
| 01. Dezember 2008 |
DOM, Ausgabe der Seminararbeiten |
Praktikumsaufgaben zum Vorlesungs-Thema
|
| 08. Dezember 2008 |
XPath |
Praktikumsaufgaben zum Vorlesungs-Thema
|
| 15. Dezember 2008 |
RDF und RSS |
Praktikumsaufgaben zum Vorlesungs-Thema
|
| 22. Dezember 2008 |
XSLT |
Praktikumsaufgaben zum Vorlesungs-Thema
|
| 12. Januar 2009 |
XFORMS |
Kleinere Praktikumsaufgabe +
Fragestellungen zur Studienarbeit
|
| 19. Januar 2009 |
JAXB |
Fragestellungen zur Studienarbeit |
| 26. Januar 2009 |
SVG und SMIL |
Fragestellungen zur Studienarbeit |
Ablauf des Praktikums und der Studienarbeiten
- Ablauf
-
Praktikum: Durchführung kleinerer
Übungsaufgaben bis zum 12.1.2009
-
Am 1.12. erfolgt die Ausgabe der gemeinsamen
Studienarbeiten XML (i3.DATA) und
Datenkommunikation (i3.NETZ).
-
Ausarbeitung dieser Studienarbeiten bis zum
Ende des Semesters. Abgabe bei Herrn Klever,
Datum wird noch bekanntgegeben.
-
Benotet wird der XML-Anteil Ihrer
Studienarbeiten sowie die erfolgreiche
Durchführung der Praktikumsübungen.
- Ziel
-
Eigenständiges Erarbeiten eines neuen
Themenkomplexes
- Eigenständiges Lösen von Problemen
-
Erste Erfahrungen in der
"Netz-Programmierung" sammeln
Über dieses Skript
-
Dieses Skript wurde aus einer XML-Datei
generiert, unter Zuhilfenahme des Tools
XSLidy
von
Erik Wilde
.
-
Es besteht aus einer Reihe von
Slidy
Präsentationen, die alle aus einer Quelle
erzeugt werden.
-
Auf der Seite
toc.html
sehen Sie eine knappe Inhaltsübersicht der
Webseite zu diesem Kurs
.
-
Ein Tastendruck auf
a
zeigt Ihnen alle Seiten des Skripts. Diese
können Sie dann ausdrucken.
-
Es gibt keine PDF-Version dieses Skripts.
- Als Quellen für dieses Skript dienten
Nützliches
- Werkzeuge
-
XML Editoren, z.B.
-
XSLT Prozessor, z.B.
Saxon
-
XQuery Prozessor, z.B.
Saxon
Was sagt die Presse? - frühe Definitionsversuche
-
XML schickt sich an in die Fußstapfen von
HTML zu treten
(Aus: c't 10/2000, p. 200)
-
Das Datenformat [XML] erleichtert den
Informationsaustausch zwischen vernetzten
Computern
(Aus: DER SPIEGEL, 2000-06-19)
-
Alle Dokumente sind gleich
(Aus: SZ, 1999-02-16)
-
Ein digitales Esperanto für das Internet
(Aus: Die Welt, 2000-10-07)
-
Sortieren statt Stottern -
Programmiersprache HTML stößt an ihre
Grenzen, XML ist kommender Code im Netz
(Aus: SZ, 2000-01-11)
-
Sinnliche Suchmaschine [...] existierende
Systeme wie [...] XML
(Aus: DER SPIEGEL, 2000-06-07)
-
Streit um Programmiersprache XML
(Aus: F.A.Z., 2001-07-26)
-
Netzwerktechnik versagt oft bei Angriffen
via XML
(Aus: Computerzeitung, 2002-08-26)
Vorlesungsstruktur (1/3)
- 1. Von Dokumenten und Daten
- Einführung
-
XML-Dokumente / Wohlgeformtheit
(Strukturelle Grundkonzepte auf Basis des
XML Information Set
)
- XML Namensräume
- Grammatik eines XML Dokuments
- Dokument-Typ-Definitionen (DTD)
- XML Schemasprachen
Vorlesungsstruktur (2/3)
-
2. Anwendungen der XML im praktischen Einsatz /
Programmierung
- Die Simple API for XML (SAX)
- Das Document Object Model (DOM)
Vorlesungsstruktur (3/3)
-
3. XML-Standards und weiterführende Anwendungen
- Die Lokatorsprache XPath
-
Der erste Schritt zum Semantic Web: Das
Resource Description Framework (RDF) und
Really Simple Syndication (RSS)
-
Transformation von XML-Dokumenten: XSL
Transformation
- Formulare für das Web: XForms
-
Nahtlose Integration von XML und Hochsprache
- Java Architecture for XML Binding (JAXB)
- Multimedia im Web: SVG und SMIL
Kleine Geschichte der XML
Es haben im Grunde zwei Entwicklungen zur Entstehung
der XML geführt. Zum einen stellt sie eine
Weiterentwicklung generischer Auszeichnungssprachen
wie der SGML dar, zum anderen hatte die Entwicklung
des World Wide Web starken Einfluß auf ihre
Entstehung.
Aber gehen wir das ganze chronologisch an...
Auszeichnungssprachen

Was sind Auszeichnungssprachen?
Auszeichnungssprachen beschreiben Information näher,
d.h. sie sagen etwas über den Charakter der
Information aus. Es handelt sich also um Information
über Information, sog.
Metainformation
.
-
Informationen über den Inhalt, die nicht
Bestandteil des Dokumentinhalts sind. Sie sind
für den Leser unsichtbar.
Beispiele: Korrekturfahnen bei Schulaufsätzen,
Buchdruck (Hinweise zu Fettdruck, etc.)
Hypertext

Erste Ideen zum Konzept Hypertext gab es bereits um
das Jahr 1950.
-
Vannevar Bush beschreibt in seinem Artikel
As We May Think
aus dem Jahr 1945 ein für die damalige Zeit
futuristisches System
Memex
. Motivation für Bush ist die Frage, wie die
Unmenge des über Jahrtausende gesammelten
Wissens leichter zugänglich gemacht werden kann.
Sein fiktives System Memex basiert auf Mikrofilm
und erlaubt es dem Benutzer, beliebige Medien
wie Bücher, Zeitschriften, handschriftliche
Notizen, Fotografien, etc. zu archivieren, zu
annotieren sowie sich anhand selbst definierter
Pfade durch die gespeicherte Information zu
bewegen.
Hypertext
Bush's Lösung des Problems "schneller Zugang zu
gesuchter Information":
-
Verwendung von mechanisierten assoziativen
Verweisen (sogenannten
trails
) statt herkömmlicher Indizierung (alphabetisch
oder numerisch).
-
Die Verwendung von Verweisen lehnt sich an das
menschliche Denken an (Gehirn arbeitet mit
Assoziationen).
-
Verweise in Lexika sind ein erster Ansatz, haben
aber Unzulänglichkeiten (Verlassen des
Informationspfads für neue Suche, fehlende
Mechanisierung, starke Beschränkung verwendeter
Quellen).
Hypertext

1960 gründet
Ted Nelson
das
XANADU Projekt
und prägt den Begriff des
Hypertext
.
-
Nicht sequentielles Schreiben ("non-sequential
writing")
-
Stets gültige Verweise zwischen verschiedenen
Dokumenten
-
Koexistenz "paralleler" Dokumente (z.B.
verschiedene Versionen eines Dokuments,
Übersetzungen)
- Direkter Dokumentvergleich am Bildschirm
- Annotation des Textes
-
Einbindung von Teilen anderer Dokumente, "Pay
Per View"-Gedanke
-
Xanadu wurde seither aufgrund seiner Konplexität
und seines Universalanspruchs jedoch nie
vollständig implementiert
Hypertext (Zusammenfassung)
-
Hauptideen:
-
Nichtlineares Schreiben und
Durcharbeiten von Texten
-
Trennung von Inhalt und Präsentation

- Begriffe:
-
Verweis (Link):Eine Verbindung von einer
Ressource zu einer anderen.
- Anker: Die beiden Enden eines Links.
- Knoten: Eine Informationseinheit.
-
Netz: Eine Menge von Knoten, die mit Hilfe
von Verweisen miteinander verknüpft sind.
Beginnende technische Unterstützung
In den 60er Jahren begann die technische
Unterstützung der Hypertext-Idee mit dem Aufkommen
der ersten Rechenanlagen.
Die damals gewohnten, grafischen Symbole zur
Textauszeichnung waren auf den Rechenanlagen nicht
verfügbar, man mußte sich nach einer Alternative
umsehen. Die Lösung waren beschreibende textuelle
Pendants wie etwa
Überschrift
.
Wichtiges Konzept:
-
semantische Beschreibung des Inhalts statt
Formatierungsangaben!
-
Auszeichnung unabhängig von der (späteren)
Formatierung des Textes
Von GML zu HTML
-
1969: Goldfarb, Mosher und Loire entwickeln bei
IBM die
Generalized Markup Language (GML)
.
-
Weiterentwicklung zur
Standard GML (SGML)
:
-
erste sogenannte
Metasprache
, d.h. die SGML erlaubt die Definition
von anderen Sprachen
Meta-
drückt in Bildungen mit Substantiven
aus, dass sich etw. auf einer
höheren Stufe, Ebene befindet,
darüber geordnet ist oder hinter
etw. steht: Metamarketing, -theorie.
© Duden - Deutsches
Universalwörterbuch 2001
- kein festes, definiertes Vokabular
-
stattdessen zahlreiche Konstrukte zur
Definition von Grammatiken
-
Standardisierung der SGML durch die ISO
-
Begriffsklärung "Einsatz der SGML"
-
bedeutet eigentlich, daß mit Hilfe der
SGML eine auf SGML basierende Sprache
entwickelt wird, d.h. die Grammatik für
diese erstallt wird
-
im Volksmund jedoch synonym mit dem
Einsatz einer auf SGML basierenden
Sprache, einer sogenannten
Anwendung der SGML
, gebraucht.
Von GML zu HTML

-
Beginnend Mitte der 80er Jahre:
Tim Berners-Lee
entwickelt am schweizer Kernforschungszentrum
CERN
eine vereinfachte Sprache zur Auszeichnung von
Dokumenten, die
Hypertext Markup Language (HTML)
(basierend auf SGML). Motivation: vereinfachter
rechnergestützter Austausch von Dokumenten.
-
Er berücksichtigt hierbei die Konzepte des
Hypertext.
-
Entwicklung des Konzeptes
Uniform Resource Locator (URL)
als eindeutiger Identifikator (eindeutige
Adresse) für beliebige Inhalte.
-
Damit einher ging die Entwicklung des
Hypertext Transfer Protocol (HTTP)
.
-
Berners-Lee schlägt im Jahre 1989 mit
Information Management: A Proposal
dem CERN Management ein auf SGML basierendes
Hypertextsystem zum Austausch von Dokumenten
vor.
-
Im Jahre 1990 schrieb Berners-Lee den ersten
Web-Server und Web-Client, den WorldWideWeb
Browser (später umbenannt in Nexus).
Weiterentwicklung der HTML - Browser War
-
In den folgenden Jahren wurde das Web immer
stärker für den kommerziellen Gebrauch
erschlossen.
-
Es entstehen unterschiedliche Erweiterungen der
HTML, initiiert durch die beiden großen
Browser-Hersteller
Microsoft
und
Netscape
.Angetrieben von der Motivation, den eigenen
Browser zu stärken (
Browser War
), entstanden durch diese stark proprietären
Erweiterungen inkompatible HTML-Abwandlungen.
Weiterentwicklung der HTML - semantische
Sprachanteile
Zunehmend wurden in die HTML immer mehr semantisch
auszeichnende Elemente aufgenommen.
-
Zunächst wurde der Inhalt eines Dokuments rein
darstellungsorientiert ausgezeichnet:
-
b
für Fettdruck
-
u
für Unterstreichung
-
i
für kursive Schrift
-
Später begann man, die Bedeutung (semantik) des
Dokumentinhalts auszuzeichnen:
-
strong
für stark hervorgehobenen, betonten Text
-
acronym
zur Auszeichnung von Abkürzungen
-
address
für Adressen
Weiterentwicklung der HTML - Problem Semantik
Die Einführung semantischer Elemente in die HTML
barg verschiedene Problematiken.
-
Präsentationsorientierte Auszeichnung stellt
Benutzer der Sprache irgendwann zufrieden.
-
Semantische Auszeichnung ist nie ausreichend!
-
Gefahr, daß die Menge der Elemente ins
unendliche wächst.
-
Schwierigkeit der Definition, Abstimmung und
Verabschiedung der Bedeutung der einzelnen
Elemente.
Semantik in der HTML war zum Scheitern verurteilt.
SGML für das Web
Das 1994 gegründete World Wide Web Consortium, das
seitdem für die Weiterentwicklung und
Standardisierung der HTML verantwortlich zeichnet,
suchte nach einer besseren Lösung zur semantischen
Auszeichnung von Dokumentinhalten.
-
Rückgriff auf SGML als die Wurzel der HTML (wir
erinnern uns: HTML ist eine Anwendung der SGML)
-
Eine Untermenge der SGML wurde als
eXtensible Markup Language (XML) 1.0
als Vorschlag (Recommendation) vom W3C
verabschiedet.
-
Jedes XML-Dokument ist ein gültiges
SGML-Dokument.
Die Entwicklungsziele für XML
-
Einfache Nutzung im Internet (im Gegensatz zur
SGML als offline Dokumentationsformat)
-
Unterstützung eines breiten Anwendungsspektrums
(mehr als nur technische Dokumentation, wofür
die SGML hauptsächlich genutzt wurde)
-
Kompatibilität zur SGML (XML als echte
Untermenge von SGML kann durch SGML Tools
verarbeitet werden)
-
Einfache Applikationsentwicklung (Untermenge XML
erlaubt einfachere Entwicklung von
verarbeitenden Applikationen)
-
Minimierung optionaler Sprachmerkmale
(Komplexitätsreduktion führt zu einfacherer
Benutzbarkeit und einfachere
Applikationsentwicklung)
- Lesbarkeit (für Mensch und Maschine)
-
Kompakte Spezifikation (600 Seiten SGML
Spezifikation gegeüner 30 Seiten
XML-Spezifikation)
-
Formaler und präziser Sprachentwurf
(XML-Sprachentwurf sollte leicht, schnell und
eindeutig in Werkzeuge implementierbar sein und
damit von Anwendern schnell akzeptiert werden.)
-
Leichte Dokumenterstellung (ohne spezielle
Werkzeuge möglich)
-
Nicht notwendigerweise knappes Markup
(Auszeichnung in Textnotation im Fokus,
Binärrepräsentation jedoch möglich.)
XML in 10 Punkten
Das W3C hat eine plakative Kurzcharakterisierung
XML in 10 Punkten
veröffentlicht, die als Abschluß unserer Einführung
dienen soll.
-
XML steht für strukturierte Daten:
XML ist ein Satz an Regeln für die Erstellung
von Textformaten zur Strukturierung von Daten.
XMl ist datenorientiert, nicht
präsentationsorientiert. XML ist keine
Programmiersprache und man kann es auch als
Nicht-Programmierer anwenden und lernen. XML ist
erweiterbar und plattformunabhängig.
-
XML sieht ein wenig wie HTML aus:
Aufgrund der Verwandtschaft zur SGML ähneln sich
die beiden Sprachen syntaktisch. Wie HTML
verwendet XML Tags (durch
<
und
>
geklammerte Wörter). In der HTML sind jedoch die
Bedeutung der Tags und Attribute festgelegt, in
der XML werden diese nur zur Abgrenzung der
Daten verwendet. Die Interpretation obliegt
allein der verarbeitenden Anwendung.
-
XML ist Text, aber nicht zum Lesen:
Primärer Zweck des Einsatzes der XML ist der
Datenaustausch zwischen Maschinen. Menschen
können die XML sicherlich lesen, sollten dies
aber eigentlich nicht tun (nur im "Notfall" oder
wenn sie die XML lernen ;-) )
-
XML ist vom Design her ausführlich:
Gemeint ist, daß XML ein verboses
(=geschwätziges) Format ist. Das W3C
argumentiert, daß heute Speicherplatz günstig
ist wie noch nie und Komprimierungsverfahren
gang und gäbe sind. Dennoch sind XML-Dateien
aufgrund ihrer Textbasiertheit immer größer als
entsprechende Binärformate, dies kann man nicht
abstreiten. Die Verwendung von XML birgt jedoch
so viele Vorteile, daß dieser Nachteil mehr als
ausgeglichen wird.
-
XML ist eine Familie von Techniken:
Hinter XML steht ein wachsender Satz an Modulen,
die wichtige Aufgaben erledigen. In ihrer
Gesamtheit sind sie sehr mächtig. Dazu gehören
bspw.
XLink
für Hyperlinks in XML-Dokumenten, das
XPointer
Framework für den Zugriff auf Teile eines
XML-Dokuments, die
Extensible Stylesheet Language (XSL)
, bestehend aus
XSL Transformations (XSLT)
, einer Sprache zur Transformation von
XML-Dokumenten, und einem XML-Vokabular zur
Spezifizierung von Formatierungsangaben
(Stylesheets) sowie
XML Schema, Teil 1
und
Teil 2
zur genauen Definition der Daten in einem
eigenen XML-basierten Format.
-
XML ist neu, aber nicht so neu:
XML erhebt nicht den Anspruch, vollkommen neu zu
sein. Vielmehr werden bekannte und erprobte
Konzepte aus der Informatik wiederverwendet und
in einem neuen Verwendungskontext
weiterentwickelt.
-
XML überführt HTML in XHTML:
XHTML hat gleich viele Elemente wie HTML, die
Syntax ist aber ein wenig unterschiedlich, damit
sie mit den XML-Regeln konform ist. XML löst die
Abhängigkeit der HTML von der SGML auf, HTML
wird auf der Basis von XML neu formuliert.
-
XML ist modular:
XML erlaubt die Wiederverwendung von Formaten
(Kombination und Weiterbenutzung) für die
Definition eines neuen Formats. Sprachen aus der
XML-Familie können in freier Auswahl zur Lösung
von Problemen verwendet werden.
-
XML ist die Basis für RDF und das Semantic Web:
Das
Resource Description Framework (RDF)
ist eine XML-basierte Sprache, um beliebige
Quellen mit beschreibenden Daten anzureichern.
Das Semantic Web nutzt diese Beschreibungen, um
den sichtbaren Teil des Web mit einem Netz von
Sinnzusammenhängen zu erweitern. Für
Vereinbarungen über diese Sinnzusammenhänge (die
Computer benötigen) werden überdies formale
Beschreibungen, sogenannte
Ontologien
benötigt.
-
XML ist lizenzfrei, plattformunabhängig und gut
unterstützt:
Zunächst ist XML eine kostenfrei zugängliche
Spezifikation, die ohne Lizenzgebühren in
eigenen Projekten und kommerziellen Produkten
verwendet werden kann. Die Standardisierung in
einem herstellerunabhängigen Gremium ist ein
Versuch sicherzustellen, daß die Unabhängigkeit
von einer bestimmten Plattform gewahrt werden
kann. Zudem gibt es mittlerweile eine beinahe
unüberschaubar große Menge an XML-Tools für die
unterschiedlichsten Einsatzzwecke.