Einführung	in	XML
Felix	Sasaki
Version:	November	2016
1
Vorspann
2
Ziel	des	Seminars
• In	die	Technologie	XML	einführen
– Hintergründe
– Anwendungen
– Aspekte
– Gegenwart	und	Ausblick
• Rel...
Über	den	Dozenten
• „Senior	Researcher“	am	DFKI	(Deutsches	
Forschungszentrum	für	künstliche	Intelligenz)
• Mitarbeiter	be...
Über	Sie!
• Wer	sind	Sie?
• Was	wissen	Sie	schon	über	XML?
• Was	haben	Sie	für	Erwartungen	an	das	
Seminar?
5
Überblick
• Einführung
• XML	– Geschichte	und	Anwendungsszenarien
• Das	XML-Universum
• Anwendungen	von	XML	für	Archivare
...
XML	steht	für
• eXtensible Markup Language (erweiterbare	
Auszeichnungssprache)
• Ein	Standard	des	World	Wide Web	Consorti...
Was	haben	XML	und	Flugzeuge	
miteinander	zu	tun?
8
Flugzeuge	brauchen	gute	Anleitungen	
(Teil	1)
• Flugzeuganleitungen	sind	komplex	und	
umfangreich	(>	100.000	Seiten	Text)
...
Text	+	Auszeichnung
• Auszeichnung	hilft	Konsistenz	zu	wahren
• Beispiel:	Fest	definierte	Terme	sind	
unterstrichen
10
„De...
„Der	Treibstofftank besteht	aus	diesen	
Konstruktionselementen:	...“
Text	+	Auszeichnung
• „Unterstrichen“	ist	eine	Darste...
Flugzeuge	brauchen	gute	Anleitungen	
(Teil	2)
• Hersteller	von	technischen	Dokumentationen	
waren	eine	treibende	Kraft	bei...
LaTex - Beispiel
• Auszeichnung	von
– Metadaten	für	das	gesamte	Dokument
– Dokumentstruktur
– Inhalten
documentclass[12pt]...
Arten	von	Auszeichnungen
• Präsentationsbezogen	(„dieses	Wort	ist	im	
Fettdruck“)
• Inhaltsbezogen	(„dieses	Wort	ist	ein	
...
Vorteile	der	Trennung	von	inhalts- und	
darstellungsbezogener	Auszeichnung
• Arten	inhaltsbezogener	Auszeichnung	sind	eher...
Flugzeuge	brauchen	gute	Anleitungen	
(Teil	3)
• (Nicht	nur)	Flugzeughersteller	brauch(t)en
eine	Auszeichnungssprachen	zur	...
Vorläufer	von	XML
• GML
– Generalized Markup Language,	von	IBM	entwickelt
• SGML
– Standard	GML,	ISO	8879:1986	SGML
– Sehr...
Unser	erstes	XML-Dokument
18
<flugzeugAnleitung version="1.0">
<metaInformation>...</metaInformation>
<text>
<abschnitt>
<...
Demo	/	Übung:	XML-Dokument	im	
Browser
19
Unser	erstes	XML-Dokument
20
<flugzeugAnleitung version="1.0">
<metaInformation>...</metaInformation>
<text>
<abschnitt>
<...
Unser	erstes	XML-Dokument
21
<flugzeugAnleitung version="1.0">
<metaInformation>...</metaInformation>
<text>
<abschnitt>
<...
Unser	erstes	XML-Dokument
22
<flugzeugAnleitung version="1.0">
<metaInformation>...</metaInformation>
<text>
<abschnitt>
<...
Unser	erstes	XML-Dokument
23
<flugzeugAnleitung version="1.0">
<metaInformation>...</metaInformation>
<text>
<abschnitt>
<...
Fehler	von	„Wohlgeformtheit“	in	XML-
Dokumenten
• Beschriebene	Regeln	für	„Wohlgeformtheit“	
(den	Dokumentaufbau)	müssen	e...
Demo	/	Übung:	Fehler	im	XML-
Dokument	einbauen
25
Weitere	Infos
• Vgl.	
http://www.teialehrbuch.de/Kostenlose-Kurse/XML/7691-Der-Aufbau-eines-
XML-Dokuments.html
26
Anwendungsszenarien für	XML
• Technische	Dokumentation	(vgl.	Flugzeugbeispiel,	
Staubsaugeranleitung,	...)
• Andere	Arten	...
Dokumentorientieres versus
datenorientiertes	XML
• Zweck:	Auszeichnen	von	
Texten
• Aufbau:	meist	
Dokumentstruktur	(vgl.	...
Beispiel	für	datenorientiertes	XML
• Katalog	für	Flugzeugerstatzteile
• Wurzelelement	„Katalog“
• Für	jeden	Eintrag	ein	„e...
Warum	datenorientiertes	XML?
• Vor	XML
– Speicherung,	Verarbeitung	und	Weitergabe	
strukturierter	Daten	waren	spezifisch	f...
Was	für	wen?
• Für	Archivare	ist	datenorientieres XML	am	
relevantesten
– Beispiel:	Findbücher	sind	eher	Datensätze	als	
T...
Flugzeuge	brauchen	gute	Anleitungen	
(Teil	4	und	Schluss)
• Die	Nutzung	von	XML	als	
Datenaustauschformat	war	nicht	
„vorg...
Überblick
• Einführung
• XML	– Geschichte	und	Anwendungsszenarien
• Das	XML-Universum
• Anwendungen	von	XML	für	Archivare
...
Das	XML-Universum:	XML-
Technologien
• XML	1.0	und	XML	Namensräume
• XML	Validierung:	Schemasprachen
– XML	Schema,	RELAX	N...
Das	große	Bild:	Prototypische	Verlauf	
einer	XML-Verarbeitung
35
XML-
Dokument
Editieren	und	
validieren
Bis	der	Inhalt	st...
Was	muss	ich	können?
• Als	XML-Anwender:	oft	nichts
– Viele	XML-Formate sind	„verborgen“	(Beispiel:	
diese	Präsentation	is...
XML	1.0	und	Namensräume
• XML	1.0:	Definiert	beschriebenen	Aufbau	von	
XML-Dokumenten (Wiederholung)
37
<flugzeugAnleitung...
XML	1.0	und	Namensräume
• Namensräume:	können	dazu	dienen,	XML-Elemente und	Attribute	zu	differenzieren,	d.h.	in	„XML	
Vok...
Namensräume	– Anlass	zu	Fehlern	...
• Den	Überblick	behalten
– Wo	ist	der	Namensraum	definiert?
– Wo	gilt	welches	Präfix?
...
Beispiel	und	Demo:	Fehler	mit	
Namensräumen
40
<katalog typ="Ersatzteilliste“>	...	<name>Tragfläche	linke	Seite</name>
<sv...
Weitere	Infos
• Vgl.
http://www.teialehrbuch.de/Kostenlose-Kurse/XML/7699-
Namensraeume.html
41
Exkurs:	XML-Tools
• Kommerzielle	Editoren
– XMLSpy besonders	für	datenorientiertes	XML
– oXygen für	dokumentorientiertes	X...
XML	Validierung
• Zweck:	sicherstellen	dass	ein	Dokument	die	für	das	Vokabular	„richtigen“	
Elemente	und	Attribute	enthält...
XML	Validierung:	Methoden
• Validierung via	so	genannter	Schemasprachen
• Die	wichtigsten:
– XML	DTD,	vgl.	beispiele/katal...
Demo:	Validierung	einer	XML-Datei
• Funktioniert	nicht	in	herkömmlichen	Browsern
• Diese	prüfen	nur	die	Wohlgeformtheit	vo...
XML-Datei	mit	interner	DTD	
(entspricht	katalog.dtd)
<!DOCTYPE	katalog [
<!ELEMENT	katalog (eintrag+)>
<!ATTLIST	katalog
t...
XML-Datei	mit	interner	DTD
<!DOCTYPE	katalog [
<!ELEMENT	katalog (eintrag+)>
<!ATTLIST	katalog
typ	NMTOKEN	#REQUIRED>
<!EL...
XML-Datei	mit	interner	DTD
<!DOCTYPE	katalog [
<!ELEMENT	katalog (eintrag+)>
<!ATTLIST	katalog
typ	NMTOKEN	#REQUIRED>
<!EL...
XML-Datei	mit	interner	DTD
<!DOCTYPE	katalog [
<!ELEMENT	katalog (eintrag+)>
<!ATTLIST	katalog
typ	NMTOKEN	#REQUIRED>
<!EL...
XML-Datei	mit	interner	DTD
<!DOCTYPE	katalog [
<!ELEMENT	katalog (eintrag+)>
<!ATTLIST	katalog
typ	NMTOKEN	#REQUIRED>
<!EL...
Weitere	Infos
• Vgl.
http://www.teialehrbuch.de/Kostenlose-Kurse/XML/7730-Die-Dokumenttyp-
Definition.html
51
XML	Transformation	und	Abfrage
• XSLT:	Transformation	von	XML-Dokumenten
– Nach	HTML
– Nach	PDF
– In	andere	XML-Dokumente ...
XML	Transformation	und	Abfrage
• Grundlage	beider:	XPath
– Mittel	um	Teile	eines	XML-Dokumentes zu	
selektieren
• Alle	Dat...
Demo:	XPath
• Demo	im	EditiX Editor:
– Selektion	des	„katalog“	Elements:	/katalog
– Selektion	der	„eintrag“	Elemente:	/kat...
Transformationsbeispiel	/	Demo
• Eingabe:	katalog.xml
• Ausgabe:	katalog.html (HTML	Darstellung	des	
Katalogs)
• XSLT-Date...
Transformationsbeispiel	/	Demo
• Eingabe:	katalog.xml
• Ausgabe:	katalog-analyse.html (Analyse	und	
HTML	Darstellung	des	K...
Weitere	Infos
• Vgl.
http://www.teialehrbuch.de/Kostenlose-Kurse/XML/7785-XSLT-und-
XPath.html
57
XQuery-Abfrage	/	Demo
• Eingabe:	„nur“	XQuery-Datei	katalog-abfrage.xql
• Daten	sind	Teil	der	XQuery-Datei	(können	auch	
s...
Beispiele	für	XML-Anwendungen
59
TEI
• „Text	Encoding Initiative“
• XML-Vokabular (und	Organisation)	zur	Kodierung	
von	geisteswissenschaftlichen	Texten
– ...
Struktur	eines	TEI-Dokuments (TEI	
Version	P5)
• Wurzelelement	„TEI“
• „teiHeader“:	Metainformationen
– „fileDesc“:	Zur	TE...
Demo:	Transformation	nach	HTML
• Stylesheet:	standardisiertes	Stylesheet,	vgl.
http://www.tei-c.org/release/xml/tei/styles...
TEI	– ein	Pool	von	Modulen
• ...	für	Prosa,	Transkription,	...
• Nutzer	stellen	sich	die	notwendigen	Module		
(Schemas	+	D...
Beispielprojekte	für	TEI
• Deutsches	Textarchiv
– Vgl.	http://www.deutschestextarchiv.de/
– Deutschsprachige	Texte	ca.	165...
SVG
• Standardized Vector	Graphics
• Zweck:	Repräsentation	(interaktiver)	
Vektorgraphiken
• Anwendung:	oft	als	Bestandtei...
Demo:	SVG	in	TEI
• TEI	Dokument	mit	SVG	wird	nach	HTML	transformiert
• Stylesheet:	standardisiertes	Stylesheet,	vgl.
http:...
MathML
• Zweck:	Repräsentation	mathematischer	
Formeln	via	XML
• Anwendung:	oft	als	Bestandteil	anderer	
Technologien
– Au...
Demo:	Transformation	nach	HTML
• TEI	Dokument	mit	MathML wird	nach	HTML	transformiert
• Stylesheet:	standardisiertes	Style...
DocBook
• XML-Vokabular	für	technische	Dokumentation
• Prototypische	Lösung	für	unser	Problem	
„konsistente	Flugzeuganleit...
DocBook	Beispiel
• Hier:	wenig	Metadaten	(„info“	Element)
• Viele	aus	HTML	bekannte	Elemente
• Mehr	Strukturierung	als	in	...
Demo:	Transformation	nach	HTML
• Standardisierte	Stylesheets:	vgl.
http://norman.walsh.name/2011/08/25/docbook-xslt-2
• Au...
Überblick
• Einführung
• XML	– Geschichte	und	Anwendungsszenarien
• Das	XML-Universum
• Anwendungen	von	XML	für	Archivare
...
EAD
• „Encoded Archival Description“
• XML-basierter Standard	der	Library	of	
Congress	für	Findbücher
• Prototypischer	Auf...
Struktur	eines	EAD-Dokuments
• Wurzelelement	„ead“
• „eadheader“:	Metainformationen
– „eadid“:	Identifikator des	Findbuchs...
Inhalte	der	„archdesc“	(Ausschnitt)
• „did“:	Beschreibung	der	Kollektion	(Herkunft,	
Datum,	physikalische	Eigenschaften,	....
Demo:	Transformation	nach	HTML
• Wieder	„standardisiertes“	Stylesheet:
http://nwda-db.wsulibs.wsu.edu/xsl/project.xsl
• Ei...
Anwendung	von	EAD:	daofind
• Vgl.	http://www.bundesarchiv.de/daofind/
• Projekt	des	Bundesarchivs
• Softwarepacket
– Erste...
Nicht	für	Archivare,	aber	relevant
• MARCXML,	vgl.	
http://www.loc.gov/standards/marcxml//
• XML	Format	für	bibliographisc...
Nicht	für	Archivare,	aber	relevant
• MARCXML	vs.	MODS	vs.	Dublin	Core
– MARCXML:	MARC	Felder	1:1	vom	MARC	Format	
übernomm...
Nicht	für	Archivare,	aber	relevant
• MADS
– Metadata Authority	Description	Schema
– Definition	kontrollierter	Vokabulare	f...
Überblick
• Einführung
• XML	– Geschichte	und	Anwendungsszenarien
• Das	XML-Universum
• Anwendungen	von	XML	für	Archivare
...
Braucht	man	in	10	Jahren	noch	XML?
• XML	wird	in	verschiedensten	Bereichen	
genutzt
– Vergleiche	diese	Präsentation	für	Be...
XML	ist	„reif“
• XML-Technologien funktionieren	mehr	und	
mehr	problemlos
• Notwendigkeit	für	Wartung	/	Veränderungen	/	
v...
Beispiel	„XML	im	Verborgenen“:	XML	
in	dieser	Präsentation
• Benennen	Sie	die	Datei	xml-seminar.pptx in	
xml-seminar.zip u...
Relevanz	für	Archivare?
• Mehr	und	mehr	verbergen	von	XML-
Strukturen in	„schönen“	Benutzerinterfaces
• Details	von	XML	si...
Exkurs:	XML	im	Web
86
Der	Plan
XHTML 1.0 (2000)
XHTML 2.0
XHTML 2.0
CURIE
XFrames
HLink
XHTML+MathML+SVG Profile
XHTML Modularization 1.0 Second...
Die	Realität
XHTML 1.0 (2000)
XHTML 2.0
XHTML 2.0
CURIE
XFrames
HLink
XHTML+MathML+SVG Profile
XHTML Modularization 1.0 Se...
Hintergrund:
Das	heutige	Web
Vgl. „MAMA: What is the Web made of?“
http://dev.opera.com/articles/view/mama/
Just 4.13% of ...
Hintergrund:
Drakonische	Fehlerbehandlung in	XML
• <b>a<i>b</b>c</i> im	Browser:
90
Just 4.13% of Web’s Code is Valid
91
Nur XHTML	wäre Revolution!
HTML5 ist Evolution
Just 4.13% of Web’s Code is Valid
Che
Guevara
Charles
Darwin
92
HTML5 Design Prinzipien
http://www.w3.org/TR/html-design-
principles/
93
HTML5	Design	Principle:	„Support	
Existing	Content“
HTML5
94
HTML5	Design	Principle:	„Degrade	
gracefully“
<canvas ...>
<p>Sorry, but your browser does not
support canvas :( </p>
</ca...
HTML5	Design	Principle:
Interoperability:	u.a.	„Handle	errors“
• <b>a<i>b</b>c</i>
96
HTML5	Design	Principle:
„Dom	Consistency“
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Example doc</title>
...
HTML5	Design	Principle:
„Priority	of	Constituencies“
Nutzer
Autoren von Webseiten
(Implementierer) von Browsern
Standards-...
Hat	XML	eine	Zukunft	im	Web?
• Ja:	im	„tiefen	Web“
– Dateien	in	XML-Formaten:	EAD,	TEI,	DocBook,	...
• Ungelöstes	Problem:...
Literatur	und	Tools
• Onlinequelle:	TEIA-Lehrbuch zu	XML
– Vgl.	http://www.teialehrbuch.de/Kostenlose-Kurse/XML/
– Umfasse...
Literatur	und	Tools
• Editor	EditiX (freie	Version),
– Vgl.	http://www.free.editix.com/	
• Saxon XSLT/XQuery Prozessor
– V...
Einführung	in	XML
Felix	Sasaki
Version:	November	2016
102
Nächste SlideShare
Wird geladen in …5
×

XML Seminar

110 Aufrufe

Veröffentlicht am

Slides given for archivists in a seminar at Free University of Berlin. A general introduction to XML, in German.

Veröffentlicht in: Internet
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
110
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
0
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

XML Seminar

  1. 1. Einführung in XML Felix Sasaki Version: November 2016 1
  2. 2. Vorspann 2
  3. 3. Ziel des Seminars • In die Technologie XML einführen – Hintergründe – Anwendungen – Aspekte – Gegenwart und Ausblick • Relevanz für Archivare aufzeigen • Praxisbeispiele nachvollziehbar darstellen • „Lust auf mehr“ fördern 3
  4. 4. Über den Dozenten • „Senior Researcher“ am DFKI (Deutsches Forschungszentrum für künstliche Intelligenz) • Mitarbeiter beim W3C (World Wide Web Consortium) • Schwerpunkt: Mehrsprachigkeit und bzw. in Webtechnologien, insbesondere XML und Semantic Web 4
  5. 5. Über Sie! • Wer sind Sie? • Was wissen Sie schon über XML? • Was haben Sie für Erwartungen an das Seminar? 5
  6. 6. Überblick • Einführung • XML – Geschichte und Anwendungsszenarien • Das XML-Universum • Anwendungen von XML für Archivare • XML – Zukunft 6
  7. 7. XML steht für • eXtensible Markup Language (erweiterbare Auszeichnungssprache) • Ein Standard des World Wide Web Consortium (W3C), 1998 veröffentlicht • Was bedeutet „erweiterbare Auszeichungssprache“? 7
  8. 8. Was haben XML und Flugzeuge miteinander zu tun? 8
  9. 9. Flugzeuge brauchen gute Anleitungen (Teil 1) • Flugzeuganleitungen sind komplex und umfangreich (> 100.000 Seiten Text) • Konsistenz in Dokumentstruktur, Terminologie, Verweisen etc. ist überlebenswichtig è der Bereich „technische Dokumentation“ braucht Hilfsmittel, um diese Konsistenz sicher zu stellen 9
  10. 10. Text + Auszeichnung • Auszeichnung hilft Konsistenz zu wahren • Beispiel: Fest definierte Terme sind unterstrichen 10 „Der Treibstofftank besteht aus diesen Konstruktionselementen: ...“
  11. 11. „Der Treibstofftank besteht aus diesen Konstruktionselementen: ...“ Text + Auszeichnung • „Unterstrichen“ ist eine Darstellung für den menschlichen Leser • Die Basis ist für den Computer lesbare Auszeichnung (hier via „<term>...</term>“) 11 „Der <term>Treibstofftank</term> besteht aus diesen <term>Konstruktionselementen</term>: ...“
  12. 12. Flugzeuge brauchen gute Anleitungen (Teil 2) • Hersteller von technischen Dokumentationen waren eine treibende Kraft bei der Entwicklung von Auszeichnungssprachen • Eine weitere Auszeichnungssprache: LaTex – Auszeichnungssprache / Textsatzsystem – Hauptzweck: wissenschaftliche Publikationen 12
  13. 13. LaTex - Beispiel • Auszeichnung von – Metadaten für das gesamte Dokument – Dokumentstruktur – Inhalten documentclass[12pt]{article} title{LaTeX} begin{document} maketitle section{Introduction} This document describes the textbf{document preparation system} called LaTeX{}. ... end{document} 13
  14. 14. Arten von Auszeichnungen • Präsentationsbezogen („dieses Wort ist im Fettdruck“) • Inhaltsbezogen („dieses Wort ist ein vordefinierter Term“) • Manche Auszeichnungssprachen mischen Auszeichnung von Präsentation und Inhalt (z.B. LaTex) 14
  15. 15. Vorteile der Trennung von inhalts- und darstellungsbezogener Auszeichnung • Arten inhaltsbezogener Auszeichnung sind eher konstant als Darstellung – Darstellung eines Terms „unterstrichen“ im Web – Darstellung eines Terms „im Fettdruck“ bei gedruckter Ausgabe • Wiederverwendung von Text + Auszeichnung ist einfacher wenn diese „nur“ inhaltsbezogen ist • Single-Source-Publishing (eine Quelle, mehrere Ausgabeformate) ist leichter realisierbar 15
  16. 16. Flugzeuge brauchen gute Anleitungen (Teil 3) • (Nicht nur) Flugzeughersteller brauch(t)en eine Auszeichnungssprachen zur inhaltlichen (nicht darstellungsbezogenen) Auszeichnung • XML ist das Ergebnis entsprechender Standardisierungsbestrebungen 16
  17. 17. Vorläufer von XML • GML – Generalized Markup Language, von IBM entwickelt • SGML – Standard GML, ISO 8879:1986 SGML – Sehr komplex, nie komplett umgesetzt • XML 1.0 – Eine Teilmenge von XML (SGML minus vieler komplexer Bestandteile) • XML basierte Technologien (vgl. „Das XML- Universum) 17
  18. 18. Unser erstes XML-Dokument 18 <flugzeugAnleitung version="1.0"> <metaInformation>...</metaInformation> <text> <abschnitt> <paragraph>...</paragraph> </abschnitt> ... </text> </flugzeugAnleitung> Vgl. beispiele/flugzeuganleitung.xml
  19. 19. Demo / Übung: XML-Dokument im Browser 19
  20. 20. Unser erstes XML-Dokument 20 <flugzeugAnleitung version="1.0"> <metaInformation>...</metaInformation> <text> <abschnitt> <paragraph>...</paragraph> </abschnitt> ... </text> </flugzeugAnleitung> • Auszeichnung durch Elemente („flugzeugAnleitung“, „metaInformation“, „text“, ...) • Elemente haben Starttag (<text>) und Endtag (</text>)
  21. 21. Unser erstes XML-Dokument 21 <flugzeugAnleitung version="1.0"> <metaInformation>...</metaInformation> <text> <abschnitt> <paragraph>...</paragraph> </abschnitt> ... </text> </flugzeugAnleitung> • Dokumentstruktur: ein Baum – Ein Wurzelelement (hier „flugzeugAnleitung“) – Hierarchisch untergeordnete Elemente und Textinhalte – Nicht-hierarchische Strukturierung (z.b. „<abschnitt> <paragraph> </abschnitt> <paragraph>“) ist verboten
  22. 22. Unser erstes XML-Dokument 22 <flugzeugAnleitung version="1.0"> <metaInformation>...</metaInformation> <text> <abschnitt> <paragraph>...</paragraph> </abschnitt> ... </text> </flugzeugAnleitung> • Zusatzinformationen durch Attribute – Werden im Starttag eines Elements geschrieben – Null bis beliebig viele Attribute – Haben den Aufbau „Name – Gleichheitszeichen – Wert in Anführungszeichen“ – Ein Attributname kann am gleichen Element nur einmal vorkommen
  23. 23. Unser erstes XML-Dokument 23 <flugzeugAnleitung version="1.0"> <metaInformation>...</metaInformation> <text> <abschnitt> <paragraph>...</paragraph> </abschnitt> ... </text> </flugzeugAnleitung> • Wer entscheidet über Namen? – Man selbst: In XML kann man Namen von Elementen und Attributen selbst vergeben – Deshalb ist XML erweiterbar (eXtensible), anders als z.B. LaTex – Es gibt Möglichkeiten durch validieren die „richtigen Namen“ für eine Anwendung sicher zu stellen (dazu später mehr)
  24. 24. Fehler von „Wohlgeformtheit“ in XML- Dokumenten • Beschriebene Regeln für „Wohlgeformtheit“ (den Dokumentaufbau) müssen eingehalten werden – Dokumentaufbau: ein Wurzelelement, hierarchischer Aufbau – Spitze Klammern nicht vergessen – Anführungsstriche bei Attributen nicht vergessen – ... • Fehler werden drakonisch geahndet 24
  25. 25. Demo / Übung: Fehler im XML- Dokument einbauen 25
  26. 26. Weitere Infos • Vgl. http://www.teialehrbuch.de/Kostenlose-Kurse/XML/7691-Der-Aufbau-eines- XML-Dokuments.html 26
  27. 27. Anwendungsszenarien für XML • Technische Dokumentation (vgl. Flugzeugbeispiel, Staubsaugeranleitung, ...) • Andere Arten von Publikationen (z.B. wissenschaftlicher Bereich) / Textaufbereitung Demgegenüber • XML im Bankautomaten, an der Tankzapfsäule, für bibliographische oder andere, verschiedenste Arten von Datensätzen Was ist der Unterschied? 27
  28. 28. Dokumentorientieres versus datenorientiertes XML • Zweck: Auszeichnen von Texten • Aufbau: meist Dokumentstruktur (vgl. „Unser erstes XML- Dokument“) • Nutzung: – Wiederverwendbarkeit (z.B. für Single-Source Publishing) von Texten • Zweck: Auszeichnen von Daten • Aufbau: Eine Folge von Datensätzen: – Datensatzsammlung • Datensatz – Feld, Wert – ... • Nutzung: – XML als allgemeines Datenaustauschformat 28
  29. 29. Beispiel für datenorientiertes XML • Katalog für Flugzeugerstatzteile • Wurzelelement „Katalog“ • Für jeden Eintrag ein „eintrag“ Element • Für jedes Feld ein untergeordnetes Element (z.B. „name“) mit jeweiligem Wert 29 <katalog typ="Ersatzteilliste"> <eintrag nummer="1"> <name>Tragfläche linke Seite</name> <status>verfügbar</status> </eintrag> ... </katalog> Vgl. beispiele/katalog.xml
  30. 30. Warum datenorientiertes XML? • Vor XML – Speicherung, Verarbeitung und Weitergabe strukturierter Daten waren spezifisch für Anwendungen und Programmiersprachen • SQL-Datenbank, Java Resource Bundle, Excel-Tabellenblatt, MARC21-Bibliothekskatalog, Infodata-Thesaurus, ... • Vorteil von XML – Daten und Anwendung sind entkoppelt und leicht wieder verwendbar / neu kombinierbar • Ersatzteilkatalog zur Suche, Ersatzteilkatalog als Teil einer Dokumentation, Ersatzteilkatalog von Firma A in System der Firma B integriert, ... 30
  31. 31. Was für wen? • Für Archivare ist datenorientieres XML am relevantesten – Beispiel: Findbücher sind eher Datensätze als Textdokumente • XML-Anwendungen im Archivbereich (vgl. späterer Abschnitt) demonstrieren dies 31
  32. 32. Flugzeuge brauchen gute Anleitungen (Teil 4 und Schluss) • Die Nutzung von XML als Datenaustauschformat war nicht „vorgesehen“ • Hauptmotivation war die beschriebene dokumentorientierte Anwendung • In der Gegenwart gibt es beide Bereiche in großem Maße 32
  33. 33. Überblick • Einführung • XML – Geschichte und Anwendungsszenarien • Das XML-Universum • Anwendungen von XML für Archivare • XML – Zukunft 33
  34. 34. Das XML-Universum: XML- Technologien • XML 1.0 und XML Namensräume • XML Validierung: Schemasprachen – XML Schema, RELAX NG, Schematron, ... • XML Transformation und Abfrage – XPath, XSLT, XQuery, ... • Verschiedene XML-Anwendungen 34
  35. 35. Das große Bild: Prototypische Verlauf einer XML-Verarbeitung 35 XML- Dokument Editieren und validieren Bis der Inhalt stimmt ... Transfor- mieren Ausgabe HTML Ausgabe PDF Ausgabe XML Eventuell Weiter- verarbeitung
  36. 36. Was muss ich können? • Als XML-Anwender: oft nichts – Viele XML-Formate sind „verborgen“ (Beispiel: diese Präsentation ist ein XML-Format!) • Als XML „Autor“ – XML 1.0 und Namensräume zum Editieren von Dokumenten • Als Entwickler von XML-Anwendungen – Auch den Rest J - was genau, hängt vom Anwendungszweck ab 36
  37. 37. XML 1.0 und Namensräume • XML 1.0: Definiert beschriebenen Aufbau von XML-Dokumenten (Wiederholung) 37 <flugzeugAnleitung version="1.0"> <metaInformation>...</metaInformation> <text> <abschnitt> <paragraph>...</paragraph> </abschnitt> ... </text> </flugzeugAnleitung>
  38. 38. XML 1.0 und Namensräume • Namensräume: können dazu dienen, XML-Elemente und Attribute zu differenzieren, d.h. in „XML Vokabulare“ zu unterscheiden • Anwendung ist nicht zwingend – vgl. bisherige Beispiele • Beispiel für Kombination von XML Vokabularen in einem Dokument: Katalog enthält eine Visualisierung unter Nutzung des SVG Vokabulars, d.h. mit Elementen aus dessen Namensraum • Ein Namensraum wird durch das Attribut „xmlns“ definiert. Es ordnet das Namensraumpräfix (vom Nutzer frei wählbar) der Namensraum-URI (für das jeweilige Vokabular fest definiert) zu. 38 <katalog typ="Ersatzteilliste"> <eintrag nummer="1"> <name>Tragfläche linke Seite</name> <g:svg xmlns:g="http://www.w3.org/2000/svg">...</g:svg> <status>verfügbar</status> </eintrag> ... </katalog> Vgl. beispiele/katalog-mit-namensraeumen.xml
  39. 39. Namensräume – Anlass zu Fehlern ... • Den Überblick behalten – Wo ist der Namensraum definiert? – Wo gilt welches Präfix? – Wo gilt das Präfix nicht? 39
  40. 40. Beispiel und Demo: Fehler mit Namensräumen 40 <katalog typ="Ersatzteilliste“> ... <name>Tragfläche linke Seite</name> <svg:svg xmlns:svg="http://example.com/my-namespace">tbd</svg:svg> <status>verfügbar</status> <zweitansicht> <svg:svg>tbd</svg:svg> </zweitansicht> </eintrag> ... </katalog> Vgl. beispiele/katalog-mit-namensraeumen-fehlerhaft.xml
  41. 41. Weitere Infos • Vgl. http://www.teialehrbuch.de/Kostenlose-Kurse/XML/7699- Namensraeume.html 41
  42. 42. Exkurs: XML-Tools • Kommerzielle Editoren – XMLSpy besonders für datenorientiertes XML – oXygen für dokumentorientiertes XML • Freie Tools – EditiX erlaubt grundlegende XML Verarbeitung (validieren, transformieren) – Grundlage der folgenden Demos 42
  43. 43. XML Validierung • Zweck: sicherstellen dass ein Dokument die für das Vokabular „richtigen“ Elemente und Attribute enthält – Ein „katalog“ Element (kein „katalg“) – Mindestens ein „eintrag“ Element mit obligatorischem „nummer“ Attribut – Ein „name“ Element, gefolgt von optional einem „svg“ Element, gefolgt von einem „status“ Element, ... 43 <katalog typ="Ersatzteilliste"> <eintrag nummer="1"> <name>Tragfläche linke Seite</name> <g:svg xmlns:g="http://www.w3.org/2000/svg">...</g:svg> <status>verfügbar</status> </eintrag> ... </katalog>
  44. 44. XML Validierung: Methoden • Validierung via so genannter Schemasprachen • Die wichtigsten: – XML DTD, vgl. beispiele/katalog.dtd – XML Schema, vgl. beispiele/katalog.xsd – RELAX NG, vgl. beispiele/katalog.rng bzw. katalog.rnc – Schematron, hier ohne Beispiel • Die Unterschiede sind hier irrelevant • Devise: Keine eigenen XML-Vokabulare definieren, sondern bestehende. Dann validiert man mit dem Schema, welches zur Verfügung steht 44
  45. 45. Demo: Validierung einer XML-Datei • Funktioniert nicht in herkömmlichen Browsern • Diese prüfen nur die Wohlgeformtheit von XML-Dokumenten 45Vgl. beispiele/katalog-mit-interner-dtd.xml
  46. 46. XML-Datei mit interner DTD (entspricht katalog.dtd) <!DOCTYPE katalog [ <!ELEMENT katalog (eintrag+)> <!ATTLIST katalog typ NMTOKEN #REQUIRED> <!ELEMENT eintrag (name,status)> <!ATTLIST eintrag nummer CDATA #REQUIRED> <!ELEMENT name (#PCDATA)> <!ATTLIST name> <!ELEMENT status (#PCDATA)> <!ATTLIST status> ]> <katalog typ="Ersatzteilliste"> <eintrag nummer="1"> <name>Tragfläche linke Seite</name> <status>verfügbar</status> </eintrag> </katalog> 46
  47. 47. XML-Datei mit interner DTD <!DOCTYPE katalog [ <!ELEMENT katalog (eintrag+)> <!ATTLIST katalog typ NMTOKEN #REQUIRED> <!ELEMENT eintrag (name,status)> <!ATTLIST eintrag nummer CDATA #REQUIRED> <!ELEMENT name (#PCDATA)> <!ATTLIST name> <!ELEMENT status (#PCDATA)> <!ATTLIST status> ]> <katalog typ="Ersatzteilliste"> <eintrag nummer="1"> <name>Tragfläche linke Seite</name> <status>verfügbar</status> </eintrag> </katalog> 47 XML-Dokument (bekannt)
  48. 48. XML-Datei mit interner DTD <!DOCTYPE katalog [ <!ELEMENT katalog (eintrag+)> <!ATTLIST katalog typ NMTOKEN #REQUIRED> <!ELEMENT eintrag (name,status)> <!ATTLIST eintrag nummer CDATA #REQUIRED> <!ELEMENT name (#PCDATA)> <!ATTLIST name> <!ELEMENT status (#PCDATA)> <!ATTLIST status> ]> <katalog typ="Ersatzteilliste"> <eintrag nummer="1"> <name>Tragfläche linke Seite</name> <status>verfügbar</status> </eintrag> </katalog> 48 Einbettung der DTD mit Festlegung des Wurzelelements
  49. 49. XML-Datei mit interner DTD <!DOCTYPE katalog [ <!ELEMENT katalog (eintrag+)> <!ATTLIST katalog typ NMTOKEN #REQUIRED> <!ELEMENT eintrag (name,status)> <!ATTLIST eintrag nummer CDATA #REQUIRED> <!ELEMENT name (#PCDATA)> <!ATTLIST name> <!ELEMENT status (#PCDATA)> <!ATTLIST status> ]> <katalog typ="Ersatzteilliste"> <eintrag nummer="1"> <name>Tragfläche linke Seite</name> <status>verfügbar</status> </eintrag> </katalog> 49 Elementdeklaration (exemplarisch) Bedeutet: „Element ‚katalog‘ besteht aus mindestens einem ‚eintrag‘ Element“
  50. 50. XML-Datei mit interner DTD <!DOCTYPE katalog [ <!ELEMENT katalog (eintrag+)> <!ATTLIST katalog typ NMTOKEN #REQUIRED> <!ELEMENT eintrag (name,status)> <!ATTLIST eintrag nummer CDATA #REQUIRED> <!ELEMENT name (#PCDATA)> <!ATTLIST name> <!ELEMENT status (#PCDATA)> <!ATTLIST status> ]> <katalog typ="Ersatzteilliste"> <eintrag nummer="1"> <name>Tragfläche linke Seite</name> <status>verfügbar</status> </eintrag> </katalog> 50 Attributdeklaration(exe mplarisch) Bedeutet: „Element ‚katalog‘ hat obligatorisches Attribut ‚typ‘; Attributwert darf nur bestimmte Zeichen enthalten (z.B. keine Leerzeichen)“
  51. 51. Weitere Infos • Vgl. http://www.teialehrbuch.de/Kostenlose-Kurse/XML/7730-Die-Dokumenttyp- Definition.html 51
  52. 52. XML Transformation und Abfrage • XSLT: Transformation von XML-Dokumenten – Nach HTML – Nach PDF – In andere XML-Dokumente (z.B. um verschieden strukturierte Daten zusammen zu führen) – ... • XQuery – Abfragesprache für XML – Vergleichbar zu SQL für relationale Datenbanken 52
  53. 53. XML Transformation und Abfrage • Grundlage beider: XPath – Mittel um Teile eines XML-Dokumentes zu selektieren • Alle Datensätze • Elemente im ersten Datensatz • Datensätze vom Typ „Turbine“ • ... – ... zur weiteren Verarbeitung (Transformation, Abfrage) 53
  54. 54. Demo: XPath • Demo im EditiX Editor: – Selektion des „katalog“ Elements: /katalog – Selektion der „eintrag“ Elemente: /katalog/eintrag – Selektion der „eintrag“ Elemente mit dem Status „verfügbar“: katalog/eintrag[status='verfügbar'] Typische XPath-Ausdrücke: Vgl. http://www.w3.org/TR/xpath/#path-abbrev 54Vgl. beispiele/katalog.xml
  55. 55. Transformationsbeispiel / Demo • Eingabe: katalog.xml • Ausgabe: katalog.html (HTML Darstellung des Katalogs) • XSLT-Datei: katalog-nach-html-1.xsl • Vorgehen: – Saxon Prozessor saxon9he.jar in Verzeichnis „beispiele“ kopieren – Eingabeaufforderung öffnen – Eingabe (in einer Zeile, dann RETURN): java -cp saxon9he.jar net.sf.saxon.Transform katalog.xml Katalog- nach-html-1.xsl > katalog.html 55Vgl. beispiele/katalog-nach-html-1.xsl
  56. 56. Transformationsbeispiel / Demo • Eingabe: katalog.xml • Ausgabe: katalog-analyse.html (Analyse und HTML Darstellung des Katalogs) • XSLT-Datei: katalog-nach-html-2.xsl • Eingabe (in einer Zeile, dann RETURN): java -cp saxon9he.jar net.sf.saxon.Transform katalog.xml Katalog-nach-html-2.xsl > katalog-analyse.html 56Vgl. beispiele/katalog-nach-html-2.xsl
  57. 57. Weitere Infos • Vgl. http://www.teialehrbuch.de/Kostenlose-Kurse/XML/7785-XSLT-und- XPath.html 57
  58. 58. XQuery-Abfrage / Demo • Eingabe: „nur“ XQuery-Datei katalog-abfrage.xql • Daten sind Teil der XQuery-Datei (können auch separat stehen) • Ausgabe: katalog-abfrage-ergebnis.txt • Vorgehen – Saxon Prozessor saxon9he.jar in Verzeichnis „beispiele“ kopieren – Eingabeaufforderung öffnen – Eingabe (in einer Zeile, dann RETURN): java -cp net.sf.saxon.Query katalog-abfrage.xql > katalog- abfrage-ergebnis.txt 58Vgl. beispiele/katalog-abfrage.xql
  59. 59. Beispiele für XML-Anwendungen 59
  60. 60. TEI • „Text Encoding Initiative“ • XML-Vokabular (und Organisation) zur Kodierung von geisteswissenschaftlichen Texten – Prosa – Drama – Transkription gesprochener Sprache – ... – digitalisierte Texte • Häufige Anwendung in digitalen Archiven 60
  61. 61. Struktur eines TEI-Dokuments (TEI Version P5) • Wurzelelement „TEI“ • „teiHeader“: Metainformationen – „fileDesc“: Zur TEI-Datei selbst – „encodingDesc“: Verhältnis zur Quelle (z.B. der Digitalisierung) – „profileDesc“: nicht-bibliographische Aspekte (Sprache(n), beteiligte Personen, ...) – „revisionDesc“: Revision • „text“: eigentlicher Inhalt 61Vgl. beispiele/tei-beispiel.xml
  62. 62. Demo: Transformation nach HTML • Stylesheet: standardisiertes Stylesheet, vgl. http://www.tei-c.org/release/xml/tei/stylesheet/xhtml2/tei.xsl • Eingabe: tei-beispiel.xml • Ausgabe: tei-beispiel.html • Eingabe (in einer Zeile, dann RETURN): java -cp saxon9he.jar net.sf.saxon.Transform tei-beispiel.xml http://www.tei-c.org/release/xml/tei/stylesheet/xhtml2/tei.xsl > tei-beispiel.html 62
  63. 63. TEI – ein Pool von Modulen • ... für Prosa, Transkription, ... • Nutzer stellen sich die notwendigen Module (Schemas + Dokumentation) selbst zusammen • Vgl. http://www.tei-c.org/Roma/ 63
  64. 64. Beispielprojekte für TEI • Deutsches Textarchiv – Vgl. http://www.deutschestextarchiv.de/ – Deutschsprachige Texte ca. 1650 – 1900 – Hauptsächlich Nutzung durch Linguisten • CESG – Vgl. http://www.cesg.unifr.ch/de/beschreibung.htm – Erschließung frühneuzeitlicher Handschriften mit TEI 64
  65. 65. SVG • Standardized Vector Graphics • Zweck: Repräsentation (interaktiver) Vektorgraphiken • Anwendung: oft als Bestandteil anderer Technologien – Beispiel: Anwendung in TEI 65
  66. 66. Demo: SVG in TEI • TEI Dokument mit SVG wird nach HTML transformiert • Stylesheet: standardisiertes Stylesheet, vgl. http://www.tei-c.org/release/xml/tei/stylesheet/xhtml2/tei.xsl • Eingabe: tei-plus-svg.xml • Ausgabe: tei-plus-svg.html Eingabe (in einer Zeile, dann RETURN): java -cp saxon9he.jar net.sf.saxon.Transform tei-plus-svg.xml http://www.tei-c.org/release/xml/tei/stylesheet/xhtml2/tei.xsl > tei-plus-svg.html • Darstellung einer Transformation in manchen Browsern möglich 66Vgl. beispiele/tei-plus-svg.xml
  67. 67. MathML • Zweck: Repräsentation mathematischer Formeln via XML • Anwendung: oft als Bestandteil anderer Technologien – Auch hier: Anwendung in TEI 67
  68. 68. Demo: Transformation nach HTML • TEI Dokument mit MathML wird nach HTML transformiert • Stylesheet: standardisiertes Stylesheet, vgl. http://www.tei-c.org/release/xml/tei/stylesheet/xhtml2/tei.xsl • Eingabe: tei-plus-mathml.xml • Ausgabe: tei-plus-mathml.html Eingabe (in einer Zeile, dann RETURN): java -cp saxon9he.jar net.sf.saxon.Transform tei-plus-mathml.xml http://www.tei-c.org/release/xml/tei/stylesheet/xhtml2/tei.xsl > tei- plus-mathml.html • Darstellung einer Transformation in manchen Browsern möglich 68Vgl. beispiele/tei-plus-mathml.xml
  69. 69. DocBook • XML-Vokabular für technische Dokumentation • Prototypische Lösung für unser Problem „konsistente Flugzeuganleitungen“ • Ein weiteres Vokabular: DITA (hier nicht behandelt) • Die Qual der Wahl: welches von beiden verwenden? – Keine einfache Antwort – Abhängig von Rahmenbedingungen wie Projektzusammenhang, verfügbare Tools, eigene Kenntnisse, ... 69
  70. 70. DocBook Beispiel • Hier: wenig Metadaten („info“ Element) • Viele aus HTML bekannte Elemente • Mehr Strukturierung als in HTML möglich bzw. erforderlich 70Vgl. beispiele/docbook-beispiel.xml
  71. 71. Demo: Transformation nach HTML • Standardisierte Stylesheets: vgl. http://norman.walsh.name/2011/08/25/docbook-xslt-2 • Auch Teil der Kursunterlagen • Eingabe: docbook-beispiel.xml • Ausgabe: docbook-beispiel.html Eingabe (in einer Zeile, dann RETURN): java -cp saxon9he.jar net.sf.saxon.Transform docbook-beispiel.xml docbook-xslt2-2.0.0/xslt/base/html/docbook.xsl > docbook- beispiel.html • XSLT-Datei: docbook-xslt2-2.0.0/xslt/base/html/docbook.xsl 71
  72. 72. Überblick • Einführung • XML – Geschichte und Anwendungsszenarien • Das XML-Universum • Anwendungen von XML für Archivare • XML – Zukunft 72
  73. 73. EAD • „Encoded Archival Description“ • XML-basierter Standard der Library of Congress für Findbücher • Prototypischer Aufbau vgl. ead.xml 73
  74. 74. Struktur eines EAD-Dokuments • Wurzelelement „ead“ • „eadheader“: Metainformationen – „eadid“: Identifikator des Findbuchs – „filedesc“: Zur EAD-Datei selbst – „profiledesc“: zum Findbuch (Erstellungsdatum, Sprache, ...) – „revisiondesc“: Revision • „archdesc“: Beschreibung 74Vgl. beispiele/ead.xml
  75. 75. Inhalte der „archdesc“ (Ausschnitt) • „did“: Beschreibung der Kollektion (Herkunft, Datum, physikalische Eigenschaften, ...) • „phystech“: physikalischer Zustand • „arrangement“: Anordnung der Materialien • „prefercite“: Bevorzugte Art des Zitierens • „custodhist“: Kette der Besitzerschaft / Provenanz • „appraisal“: Archivischer Wert 75
  76. 76. Demo: Transformation nach HTML • Wieder „standardisiertes“ Stylesheet: http://nwda-db.wsulibs.wsu.edu/xsl/project.xsl • Eingabe: ead.xml • Ausgabe: ead.html Eingabe (in einer Zeile, dann RETURN): java -cp saxon9he.jar net.sf.saxon.Transform ead.xml http://nwda-db.wsulibs.wsu.edu/xsl/project.xsl > ead.html Achtung: Ausgabe ist projektspezifisch 76
  77. 77. Anwendung von EAD: daofind • Vgl. http://www.bundesarchiv.de/daofind/ • Projekt des Bundesarchivs • Softwarepacket – Erstellung von Online-Findbüchern – Nutzung weiterer Standards (METS, EAC) 77
  78. 78. Nicht für Archivare, aber relevant • MARCXML, vgl. http://www.loc.gov/standards/marcxml// • XML Format für bibliographische Datensätze – sandburg.mrc (Original MARC Record) – sandburg.xml (MARCXML Version) – sandburg.html (HTML Version) – sandburgmods.xml (MODS Version) – sandburgdc.xml (Dublin Core Version) 78Vgl. beispiele/marcxml/
  79. 79. Nicht für Archivare, aber relevant • MARCXML vs. MODS vs. Dublin Core – MARCXML: MARC Felder 1:1 vom MARC Format übernommen – MODS (Metadata Object Description Schema): XML Elemente haben explizite, detaillierte Semantic; gut lesbar für den Fachmann – Dublin Core: XML Elemente haben sehr allgemeine Semantik; gut lesbar für jedermann (aber nicht detailliert) 79Vgl. beispiele/marcxml/
  80. 80. Nicht für Archivare, aber relevant • MADS – Metadata Authority Description Schema – Definition kontrollierter Vokabulare für Personen, Institutionen, Publikationstitel, ... – Ebenfalls als XML Vokabular vorhanden – Weiterentwicklung zu RDF als „Linked Data“ Vokabular – nicht Thema in diesem Seminar J 80Vgl. beispiele/mads/
  81. 81. Überblick • Einführung • XML – Geschichte und Anwendungsszenarien • Das XML-Universum • Anwendungen von XML für Archivare • XML – Zukunft 81
  82. 82. Braucht man in 10 Jahren noch XML? • XML wird in verschiedensten Bereichen genutzt – Vergleiche diese Präsentation für Beispiele • Es wird aus der Infrastruktur zur Repräsentation und Verarbeitung strukturierter Informationen nicht so schnell verschwinden 82
  83. 83. XML ist „reif“ • XML-Technologien funktionieren mehr und mehr problemlos • Notwendigkeit für Wartung / Veränderungen / völlig neue Systeme sinkt • Notwendigkeit XML im Detail zu lernen sinkt • XML wird allgegenwärtig ... und geht ins Verborgene – Vergleich: Wer kennt TCP/IP? 83
  84. 84. Beispiel „XML im Verborgenen“: XML in dieser Präsentation • Benennen Sie die Datei xml-seminar.pptx in xml-seminar.zip um • Entpacken Sie die Datei • Der Inhalt: hauptsächlich eine Reihe von XML- Dateien! 84
  85. 85. Relevanz für Archivare? • Mehr und mehr verbergen von XML- Strukturen in „schönen“ Benutzerinterfaces • Details von XML sind für wenige Experten wichtig 85
  86. 86. Exkurs: XML im Web 86
  87. 87. Der Plan XHTML 1.0 (2000) XHTML 2.0 XHTML 2.0 CURIE XFrames HLink XHTML+MathML+SVG Profile XHTML Modularization 1.0 Second Edition XML im Browser HTML 4.01 (1999) 87
  88. 88. Die Realität XHTML 1.0 (2000) XHTML 2.0 XHTML 2.0 CURIE XFrames HLink XHTML+MathML+SVG Profile XHTML Modularization 1.0 Second Edition HTML5 HTML 4.01 (1999) Warum gestoppt? 88
  89. 89. Hintergrund: Das heutige Web Vgl. „MAMA: What is the Web made of?“ http://dev.opera.com/articles/view/mama/ Just 4.13% of Web’s Code is Valid 89
  90. 90. Hintergrund: Drakonische Fehlerbehandlung in XML • <b>a<i>b</b>c</i> im Browser: 90
  91. 91. Just 4.13% of Web’s Code is Valid 91
  92. 92. Nur XHTML wäre Revolution! HTML5 ist Evolution Just 4.13% of Web’s Code is Valid Che Guevara Charles Darwin 92
  93. 93. HTML5 Design Prinzipien http://www.w3.org/TR/html-design- principles/ 93
  94. 94. HTML5 Design Principle: „Support Existing Content“ HTML5 94
  95. 95. HTML5 Design Principle: „Degrade gracefully“ <canvas ...> <p>Sorry, but your browser does not support canvas :( </p> </canvas> 95
  96. 96. HTML5 Design Principle: Interoperability: u.a. „Handle errors“ • <b>a<i>b</b>c</i> 96
  97. 97. HTML5 Design Principle: „Dom Consistency“ <!doctype html> <html> <head> <meta charset="UTF-8"> <title>Example doc</title> </head> <body> <p>Example paragraph</p> </body> </html> <?xml version="1.0"encoding="UTF-8"?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Example document</title> </head> <body> <p>Example paragraph</p> </body> </html> Verschiedene Serialisierungen Ein „Document Object Model“ 97
  98. 98. HTML5 Design Principle: „Priority of Constituencies“ Nutzer Autoren von Webseiten (Implementierer) von Browsern Standards-Entwickler „Theoretische Puristen“ Priorität Grund für „Willful violations“ anderer Technologien vgl. http://blog.whatwg.org/response-to-notes-on-html-5 98
  99. 99. Hat XML eine Zukunft im Web? • Ja: im „tiefen Web“ – Dateien in XML-Formaten: EAD, TEI, DocBook, ... • Ungelöstes Problem: wie kommt der Informationsgehalt dieser Dokumente an der „Weboberfläche“ an? 99
  100. 100. Literatur und Tools • Onlinequelle: TEIA-Lehrbuch zu XML – Vgl. http://www.teialehrbuch.de/Kostenlose-Kurse/XML/ – Umfassende Einführung • XML in der Praxis – Vgl. http://www.linkwerk.com/pub/xmlidp/2000/ – Übersicht zu den wichtigsten Themen • Editor oXygen – Vgl. http://www.oxygenxml.com/ – Enthält TEI, EAD etc. schon vorkonfiguriert 100
  101. 101. Literatur und Tools • Editor EditiX (freie Version), – Vgl. http://www.free.editix.com/ • Saxon XSLT/XQuery Prozessor – Vgl. http://saxon.sourceforge.net/ 101
  102. 102. Einführung in XML Felix Sasaki Version: November 2016 102

×