Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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

134 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
  • Als Erste(r) kommentieren

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

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

×