XML und XSLT - AG Digital Humanities

Werbung
<XML und XSLT –
Eine Einführung/>
Katharina Hemmeter, Claus Ludewig
01.06.2015
SQ: Digitale Dokumente
Gliederung
• XML:
• Problemstellung
• Theorie
• Beispiel
• XSLT:
• Problemstellung
• Theorie
• Beispiel
• Quellenverzeichnis
2
Problemstellung
Eingeschränktheit
• Grammatik
• Primär für Webseiten
Kein
Datenaustausch
• Andere Datenformate
• Datenbank
Unsauberkeit
• Fehlende Trennung von Form und Inhalt
• Auf Ebene des Quellcodes
3
Gliederung
• XML:
• Problemstellung
• Theorie
• Beispiel
• XSLT:
• Problemstellung
• Theorie
• Beispiel
• Quellenverzeichnis
4
XML – extensible markup language
1989
1994
1998
SGML – Standard Generalized Markup Language
• Einsatz als Datenspeicherformat
• Eine Untersprache von SGML: HTML
5
XML – extensible markup language
1989
1994
1998
W3C – World Wide Web Consortium
• Für Weiterentwicklung von HTML zuständig
• Entwickeln mit Softwarekonzernen gemeinsam
XML
6
XML – extensible markup language
1989
1994
1998
XML – extensible markup language
• Version 1.0 wird im Februar veröffentlicht
• Aktuell: 5. Edition von XML erhältlich
7
XML – extensible markup language
Metasprache
Erweiterbar
Trennung von Inhalt und Form
Selbstbeschreibend
Datenaustausch
8
HTML vs. XML
Anwendungssprache
HTML
- Formatierung
- Hierarchie
Metasprache
- Eigene Grammatik
XML
- Anpassbarkeit
9
XML-Familie
TEI
XSL-FO
DocBook
XHTML
• Textkodierung und Austauschformat
• Formatierung
• Ausgabeformat
• HTML-Ausgabe einer XML-Datei
SVG
• Erstellung von Grafiken
GML
• Geographische Daten
10
Aufbau einer Instanz – Prolog
<?xml version="1.0" encoding="UTF-8"
standalone="no"?>
<?xml-stylesheet href="beispiel.css" type="text/css"?>
<!DOCTYPE bildersammlung SYSTEM "bild01.dtd">
11
Aufbau einer Instanz
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
• XML Version
• Zeichencodierung
• Standalone: yes/no
12
Aufbau einer Instanz
<?xml-stylesheet href="beispiel.css" type="text/css"?>
• Stylesheet
• Link
• Typ
13
Aufbau einer Instanz
<!DOCTYPE bildersammlung SYSTEM "bild01.dtd">
• Root-Element
• Schlüsselwort
• URL der DTD
14
Aufbau einer Instanz – Regeln
•
•
•
•
Start mit Buchstaben oder Unterstrich
Kein Start mit Zahlen
Keine Leerzeichen, Doppelpunkte oder Umlaute
Groß- und Kleinschreibung muss beachtet werden, da
XML case-sensitive ist
• Es können einem Element mehrere Attribute zugewiesen
werden
15
Aufbau einer Instanz – Regelanwendung
Wohlgeformtheit
• Tags
• Case-sensitive
• Zeichencodierung
Validität
• Hierarchie
• Grammatik
wohlgeformte
und valide XMLDatei
Prüfung mittels Parser:
www.xmlvalidation.com
16
Namensräume
Human
• Body –
physischer
Körper
Web
• Body –
Textkörper
<body> Hiermit ist der Textkörper
gemeint.</body>
Problem: Semantische Doppeldeutigkeit
17
Namensräume
Kontext HUMAN:
<body>
<height>182 cm</height>
<weight>85 kg</weight>
</body>
<man:body>
<man:height>182 cm</man:height>
<man:weight>85 kg</man:weight>
Kontext WEB:
<body> Das ist meine
Webseite </body>
<web:body>Das ist meine
Webseite.</web:body>
</man:body>
18
Entities
Ersetzung von Zeichen
&llt;
<
&
&
>
"
'
Verweis auf Unicode-Zeichen
<test> (x&llt; y) & & (y &illt; z)
</test>
>
“
`
19
Definitionssprachen
•
•
•
•
DTD
XML- Schema
RELAX NG
Schematron
Häufigste Sprachen
Dienen auch zur Validierung
20
DTD – document type definition
datei
eintrag
autor
date
eintrag
content
geparste
Zeichen
21
DTD vs. XML-Schema
Validierungssprache
DTD
- Uneindeutige
Verknüpfung von
Metainformation und
Information
Validierungssprache
- Exakte Verknüpfung
von Metainformation
und Information
XMLSchema
22
XML-Schema – Typen
• Festlegung der
Dokumentenstruktur
Datentyp
• Festlegung des
Inhalts von
Attributen /
Elementen
• Wertebereich
Dokumententyp
23
XML-Schema – Beispiel
<xs:schema xmlns:xs=http://www.w3.org/2001/XMLSchema>
<xs:element name="nachname" type="xs:string"/>
<xs:element name="gebdatum" type="xs:date"/>
<xs:element name="alter" type="xs:integer"/>
• Root-Element
• Attribut
• Datentyp
24
25
Wohlgeformtheit?
<TITEL>Max und Moritz</titel>
<p>Mancher gibt sich viele Müh’
Mit dem lieben <b>Federvieh<b/>;
Einesteils der Eier wegen,
Welche diese Vögel legen,
<IMG Src=vogel.jpg>
26
Wohlgeformtheit
<buch>
<titel>Max und Moritz</titel>
<p>Mancher gibt sich viele Mueh&apos
Mit dem lieben <b>Federvieh</b>;
Einesteils der Eier wegen,
Welche diese Voegel legen,</p>
<img src=”vogel.jpg”>
</buch>
27
Gliederung
• XML:
• Problemstellung
• Theorie
• Beispiel
• XSLT:
• Problemstellung
• Theorie
• Beispiel
• Quellenverzeichnis
28
Beispiel – ONIX
29
Beispiel – E-Book
30
Gliederung
• XML:
• Problemstellung
• Theorie
• Beispiel
• XSLT:
• Problemstellung
• Theorie
• Beispiel
• Quellenverzeichnis
31
Problemstellung
Eingeschränktheit
Flexibilität
Unsauberkeit
• Lineare Formatierung
• Primär für Webseiten
• Verschiedene Ausgabeformate
• Single source – mulitple media
• Fehlende Trennung von Form und Inhalt
• Auf Ebene des Quellcodes
32
CSS vs. XSLT
CSS
Hohe Flexibilität
Eingeschränkte
Einsatzmöglichkeiten
XSLT
33
Gliederung
• XML:
• Problemstellung
• Theorie
• Beispiel
• XSLT:
• Problemstellung
• Theorie
• Beispiel
• Quellenverzeichnis
34
XSL – Extensible Stylesheet Language
XSLT
Transformationssprache
XSL-FO
Formatierungssprache
Xpath
Navigationssprache
35
XSLT
• XSLT kennt unterschiedliche Zielformate, die sich wie
folgt festlegen lassen:
<xsl:output method=‘format‘/>
• Für format können folgende Werte festgesetzt
werden:
•
•
•
•
text
html
xml
xhtml
36
XSLT – text
<xsl:output method="text" />
Text
Dokument
37
XSLT – html
<xsl:output method="html"/>
HTML
Dokument
38
XSLT – xhtml
<xsl:output method="xhtml"/>
Xhtml
Dokument
39
XSLT – xml
<xsl:output method="xml"/>
XML
Dokument
40
41
XPath
• Um XML-Transformationen zu implementieren, ist es
nötig, diese adressieren zu können
• Dies erfolgt über den separaten Sprachstandard XPath
• Er erlaubt es Knotenmengen aus XML-Dokumenten zu
bilden
• Verwendung: Datenbanken
• Wie SQL ist Xpath eine Abfragesprache, die es
ermöglicht durch logische Ausdrücke Ergenismengen
von Objekten zu bilden
42
XSLT – Aufbau eines XSLT-Skripts
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/buchbestand">
<xsl:value-of select="buch[2]/@titel"/>
</xsl:template>
</xsl:stylesheet>
43
XSL-FO
Grafiken
XMLDokument
XSLStylesheet
XSLTProzessor
XSL-FO
XSLFormatter
PDFGenerator
PDF
SVGGenerator
SVG
44
XSL-FO
45
JPG vs. SVG
JPG
Einbettung
Schlechte Skalierbarkeit
Wiederverwendbarkeit
Gute Skalierbarkeit
SVG
46
SVG – Aufbau einer Instanz
<?xml version="1.0" encoding="utf-8"?>
<svg
<rect x="100" y="100" width="200" height="200" fill =“white”/>
<polygon points="100 100, 150 100, 150 250, 250 250, 250 100,
300 100, 300 300, 100 300"
fill="none" stroke="red" stroke-width="3">
</svg>
47
SVG – Aufbau einer Instanz
<rect x="100" y="100" width="200" height="200" fill =“white”/>
• Form
• Position
• Breite und Höhe in
Pixel
• Farbe
48
SVG – Aufbau einer Instanz
49
SVG – Aufbau einer Instanz
<polygon points="100 100, 150 100, 150 250, 250 250, 250 100,
300 100, 300 300, 100 300"
fill="none" stroke="red" stroke-width="3">
• Beliebige Form mit
Koordinaten
• Rahmenfarbe
• Rahmenbreite
50
SVG – Aufbau einer Instanz
51
SVG – Wiederverwendung
<defs>
Formen
definieren
rec
<use>
polygon
52
53
Gliederung
• XML:
• Problemstellung
• Theorie
• Beispiel
• XSLT:
• Problemstellung
• Theorie
• Beispiel
• Quellenverzeichnis
54
Beispiel XPath
55
Beispiel XPath
56
Quellenverzeichnis
• Internet:
http://www.dosco.de/ueber_xml.html .
http://www.knv.de/uploads/tx_flexslider/298_Wanne
n.jpg .
http://www.knv.de/fileadmin/user_upload/Lieferante
n/Onix_Musterdatei_kommentiert__3_.pdf .
http://media.engadget.com/img/products/490/ai41/ai
41.jpg .
57
Quellenverzeichnis
• Internet:
http://www.oxygenxml.com/download_oxygenxml_ed
itor.html .
http://ruthe.de/cartoon/2635/datum/asc/ .
http://www.w3.org/standards/xml/ .
58
Quellenverzeichnis
• Literatur:
HAUSER, TOBIAS: XML Standards. Entwickler-press. 2010.
HOFFMANN-WALLBECK, THOMAS et al. : Standards in der
Medienproduktion. Springer Vieweg. 2013.
KURZ, SABINE: Digital Humanities. Springer Vieweg.
2015.
SKULSCHUSS, MARCO: XML Schema. Cormelio-Medien.
2011.
WANG, VICTOR: E-Books mit ePub. Mitp. 2011.
59
Herunterladen