Daten- und Metadatenstandards Wintersemester 2011 / 2012 10. Januar 2012 – Wiederholung
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Seminarverlauf
Vorlesungsbeginn: 10.10.2011 | Vorlesungsende: 03.02.2012 Ferien-/Feiertage: 01.11.2011 (Allerheiligen) 23.12.2011 - 06.01.2012 (Weihnachtsferien)
Seminartermine: 18. Oktober ◦ ◦
Organisatorisches Daten, Information, Metadaten – was ist das?
25. Oktober: XML 01. November: fällt aus 08. November: XML II 15. November: XML + Schema (DTD, XML Schema, RelaxNG) 22. November: DTD 29. November: XML + CSS 06. Dezember: XPath und XSLT 13. Dezember: XPath und XSLT II: Von XHTML nach X / TEI 20. Dezember: fällt aus 10. Januar: Wiederholung / Klausurvorbereitung 17. Januar / 24. Januar: Dublin Core, Semantic Web, MAB, METS/MODS 31. Januar: Klausur Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
I. Grundbegriffe
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Wissenspyramide
Quelle: http://www.wzl.rwth-aachen.de/de/ebecb2e7d199a686c125736f00454c10/11_v_deu.pdf Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Arbeitsdefinitionen
Daten (Plural: Daten, Singular: Datum): digitale Repräsentation von Information. Konkret: eine Folge digitaler Zeichen: 1001 0010 1010 0110
Information: Datum bzw. sind Daten mit inhaltlicher Bedeutung. Semantisierte Daten
Beispiele: „Der QR-Code repräsentiert die Aussage “ „Die Binärfolge 1001 0010 1010 0110 bedeutet “. Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Repräsentation Information Repräsentation Abstraktion Daten
Zwei Prozesse: Repräsentation und Abstraktion: Repräsentation: Die Bedeutung, d.h. der Informationsgehalt von Daten ergibt sich erst aus der Kenntnis der benutzten Repräsentation. Repräsentation: äußere Form der Darstellung (von Information) Abstraktion: Prozess der Interpretation von Daten Informationsgewinnung Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Information / Daten: Aphex Twin
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Metadaten /-informationen Informationen (bzw. Daten), die andere Informationen (bzw. Daten) beschreiben.
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
II. Text / XML Wohlgeformtheit und Gültigkeit
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Text?
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
XML & Co.
Grundidee (wichtig!): Strikte Trennung von ◦ Inhalt (XML) ◦ Struktur (DTD / Schema) ◦ Darstellung (CSS / XSLT)
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
XML: Aufbau Jan Wieners Kursteilnehmerinnen und –teilnehmer „Daten- und Metadatenstandards“ Wintersemester 2011/12 Hallo!
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
XML: Visualisierung Jan Wieners Kursteilnehmerinnen und – teilnehmer „Daten- und Metadatenstandards“ Wintersemester 2011/12 Hallo!
nachrichtensammlung
nachricht
sender
empfaenger
inhalt
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
XML: Anforderungen Wohlgeformtheit
XML-Dokumente müssen wohlgeformt (well-formed) sein, d.h. sie müssen den Regeln der XML-Syntax genügen (Auszug aus den Syntax-Regeln): ◦ Jedes XML-Dokument verfügt über EIN Wurzelelement. ◦ Jedes Element muss ein Start- und ein Endtag besitzen ◦ Elemente dürfen geschachtelt sein, dürfen sich aber nicht überlappen („Zwiebelschema“ beachten!). ◦ Ein Element darf nicht zwei Attribute mit dem gleichen Namen besitzen. ◦ Groß- und Kleinschreibung beachten! ◦ […] Ein XML-Dokument ist „wohlgeformt“ („well formed“), wenn es die Regeln von XML einhält. Ein wohlgeformtes Dokument kann geparsed, (z.B. mit XPath) navigiert und mit anderen XML-Standards verarbeitet werden
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Wohlgeformt vs. gültig Gültigkeit Ein XML-Dokument ist „gültig“ („valid“), wenn es den Regeln eines Schemas entspricht. Strukturen und Inhalte eines gültigen XMLDokuments können leichter kontrolliert, konsistent gehalten und verarbeitet werden. Ein Schema beschreibt ein Modell explizit.
Strukturdefinition per Schemata / Gültigkeit von XML-Dokumenten ◦ DTD ◦ XML Schema ◦ RELAX NG ◦ Schematron
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Dokumenttypdefinitionen (DTD) Elemente bzw. Tags definieren
Einzelnes Element:
Verschachtelung von Elementen repräsentieren:
Bitte beachten / merken: + (Pluszeichen): Das Tag muss mindestens einmal vorkommen, darf aber auch öfter im XML-Dokument angegeben werden. ? (Fragezeichen): Das Element darf einmal vorkommen, muss jedoch nicht im XML-Dokument angegeben sein. * (Sternchen): Das Tag darf mehrmals im XML-Dokument vorkommen, darf jedoch fehlen. #PCDATA (PCDATA = "Parseable Character Data"): Beliebige Daten / Zeichen als Inhalt des XML-Elementes Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Dokumenttypdefinitionen (DTD) Attribute definieren
Beachten / Merken: #REQUIRED Jedes Element mit dem Namen „tagname“ muss das Attribut „attributname“ enthalten. #IMPLIED Das Attribut kann angegeben werden, muss jedoch nicht angegeben werden.
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Übung I
Schreiben Sie ein XML-Dokument (ohne XML-Deklaration und DOCTYPE-Angabe) für die im Folgenden wiedergegebene Dokumenttypdefinition (DTD): Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Übung II
Schreiben Sie eine Dokumenttypdefinition für das im Folgenden angegebene XML-Markup: 2009 Herta Müller(* 1953) Deutschland die mittels Verdichtung der Poesie und Sachlichkeit der Prosa Landschaften der Heimatlosigkeit zeichnet 2010 Mario Vargas Llosa(* 1936) Peru Peru / Spanien Spanien für seine Kartographie der Machtstrukturen und scharfkantigen Bilder individuellen Widerstands, des Aufruhrs und der Niederlage Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
…und die Klausur?
Wie verhalten sich die Konzepte „Daten“ und „Information“ zueinander? Was sind Metadaten? Wozu werden Metadaten benötigt? Worin besteht das Problem, das mit Hilfe von Metadaten gelöst werden soll? Was bezeichnet die „Wohlgeformtheit“, was die „Gültigkeit“ von XML-Dokumenten? Welche Anforderungen werden an ein wohlgeformtes XMLDokument gestellt? Was verbirgt sich hinter der Abkürzung „DTD“? Was beschreibt eine DTD / welchen Sinn haben Schemata? Grob: Von XML nach DTD Grob: Von DTD nach XML […] Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
III. XSLT
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
XSLT: Intro
XSL Transformation (XSLT) Programmiersprache zur Umwandlung von XML-Dokumenten: ◦ XML XHTML-Website, XML, SVG, etc.
Verwendet die Abfragesprache Xpath, um Teile eines XML-Dokumentes zu adressieren
Schablonenkonzept (Templates): ◦ Eine Transformation besteht aus einer Reihe von einzelnen Transformationsregeln, die als „Templates“ („Schablonen“) bezeichnet werden. ◦ Ein Template besitzt ein auf XPath basierendes Muster, das beschreibt, für welche Knoten es gilt, und einen Inhalt, der bestimmt, wie das Template seinen Teil des Zielbaums erzeugt.
Vgl. Handout! Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
XSLT und die Praxis: CD-Katalog
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
XSLT und XPath: Praxis II Variablen cdkatalog-foreach.xslt CD-Kollektion Meine CD-Kollektion Titel ( Tags) in XML-Datenbasis: […] Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
XSLT und XPath: Praxis III for-each cdkatalog-foreach.xslt […] CD Titel:
Künstler:
Label:
Jahr:
Bildurl:
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
IV. XSLT und Xpath: Achsen & Co.
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
XPath
XPath arbeitet mit dem vom Prozessor verarbeiteten (geparsten) XML-Dokument Ein Beispiel: Murakami Haruki Hard-boiled Wonderland Roman Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
XPath 1 2 3 Murakami 4 Haruki 5 Hard-boiled Wonderland 6 Roman
1
6
5
2
3
4
Zahlenwerte 1 bis 6 geben die Reihenfolge an, in der ein XMLProzessor die Knoten ablaufen wird. Dokumentreihenfolge („Document Ordner“) / Tiefensuche Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
XPath Begrifflichkeiten XPath Wurzelknoten (Root Node) Wurzel des XML-Dokuments Elementknoten Attributknoten Kommentarknoten Namensraumknoten Processing-Instruction-Knoten Textknoten
1
6
5
2
3
4
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Exkurs: Bäume
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Bäume
Baum: Begrifflichkeiten Wurzel Kante
Innerer Knoten / Kindknoten
Blatt
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Bäume
„Höhe“ des Baumes:
Niveau 0
Niveau 1
Niveau 2
Baumhöhe = 3 Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Traversierung
Traversieren Jeden Knoten des Baumes besuchen Reihenfolge, in der die Knoten besucht werden: ◦ ◦ ◦ ◦
Preorder, auch: „Hauptreihenfolge“ / Tiefensuche Inorder, auch: „symmetrische Reihenfolge“ Postorder, auch: „Nebenreihenfolge“ Levelorder, auch: „Breitensuche“
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Preorder Traversierung
Rekursive Regel: ◦ besuche die Wurzel ◦ Besuche den linken Unterbaum ◦ Besuche den rechten Unterbaum WLR
Quelle: http://de.wikipedia.org/w/index.php?title=Datei:Depth-First-Search.gif&filetimestamp=20090326120256 (MRE) Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Preorder Traversierung – Schritt 0 P M
S
A
L
E
A
R
T
E
E Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Preorder Traversierung – Schritt 1 P M
S
A
L
E
A
R
T
Ausgabe: P
E
E Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Preorder Traversierung – Schritt 2 P M
S
A
L
E
A
R
T
Ausgabe: P M
E
E Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Preorder Traversierung – Schritt 3 P M
S
A
L
E
A
R
T
Ausgabe: P M S
E
E Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Preorder Traversierung – Schritt 4 P M
S
A
L
E
A
R
T
Ausgabe: P M S A
E
E Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Preorder Traversierung – Schritt 5 P M
S
A
L
E
A
R
T
Ausgabe: P M S A A
E
E Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Preorder Traversierung – Schritt 6 P M
S
A
L
E
A
R
T
Ausgabe: P M S A A L
E
E Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Preorder Traversierung – Schritt 7 P M
S
A
L
E
A
R
T
Ausgabe: P M S A A L E
E
E Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Preorder Traversierung – Schritt 8 P M
S
A
L
E
A
R
T
Ausgabe: P M S A A L E R
E
E Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Preorder Traversierung – Schritt 9 P M
S
A
L
E
A
R
T
Ausgabe: P M S A A L E R T
E
E Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Preorder Traversierung – Schritt 10 P M
S
A
L
E
A
R
T
Ausgabe: P M S A A L E R T E
E
E Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Preorder Traversierung – Schritt 11 P M
S
A
L
E
A
R
T
Ausgabe: P M S A A L E R T E E
E
E Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Zurück zu XPath: Navigation im Baum
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
XPath: Navigation Knotenbeziehungen Achsen: Elternknoten (parent) – Jedes Element verfügt über einen Elternknoten. Ausnahme: ??? Vorfahre (ancestor) – Elternknoten von Knoten Beispiel: Der Knoten „2“ ist Vorfahre des Knotens „3“. Kind (child) – Untergeordnete Knoten Beispiel: „3“ ist Kindknoten von „2“. Geschwister (siblings): Knoten mit gleichen Elternknoten sind Geschwisterknoten. Beispiel: Der Knoten „3“ ist Geschwisterknoten des Knotens „4“.
1
6
5
2
3
4
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
XPath: Navigation Holt den Inhalt des Elementes bzw. Knotens „vorname“ aus dem Baum 1 2 3 Murakami 4 Haruki 5 Hard-boiled Wonderland 6 Roman
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Achsen
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
XPath: Achsen
Über die Achsen wird festgelegt, in welche Richtung im Knotenbaum navigiert wird: ◦ „Navigiere vom Wurzelement „buecher“ zum Kindelement „autor“ und gebe mir den Inhalt des Kindelementes „name“ aus:
◦ Ich befinde mich im Element „name“. Gehe von hier aus zurück zum Geschwisterknoten „vorname“ und gebe mir den Inhalt aus:
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
XPath: Achsen
„Irgendwo im Baum befindet sich das Element „Gattung“. Suche das Element und gebe mir den Inhalt aus“:
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
XPath: Achsen II (ausführliche Schreibweise)
Durch den Ausdruck werden alle Kindknoten (Achse „child“) ermittelt, die das Elternelement „vorname“ besitzen.
Soll der Elternknoten von „vorname“ ermittelt werden, würde die „parent“-Achse verwendet werden:
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
XPath: Achsen
Verfügbare Achsen: ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦
child (Kind) parent (Elternknoten ../) descendant (Nachkommen) ancestor (Vorfahre) following (Nachfolgende Knoten) preceding-sibling (Vorherige Geschwisterknoten) following-sibling (Nachfolgende Geschwisterknoten) self (aktueller Knoten .) descendant-or-self (Nachkomme oder aktueller Knoten) ancestor-or-self (Vorfahre oder aktueller Knoten)
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Adressierung von Knoten
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Adressierung
Um auf die Knoten eines XML-Dokumentes zugreifen zu können, müssen sie adressiert werden. In XPath wird hierzu – vom aktuellen Knoten ausgehend – ein Pfad definiert.
Unterscheidung ausführliche vs. verkürzte Achsenbezeichnung: ◦ ausführlich: /child::autor/child::buch/attribute::titel ◦ verkürzt: /autor/buch/@titel
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
Pfadangaben
Absolute vs. relative Pfade: ◦ Bei relativen Pfaden wird von dem Knoten ausgegangen, an dem sich der Interpreter befindet. ../../vorname ◦ Bei absoluten Pfadangaben wird der Pfad vollständig bzw. absolut angegeben /buch/autor/vorname
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
…und die Klausur
Was verbirgt sich hinter der Abkürzung „XSLT“? ◦ Was ist XSLT? ◦ Wozu dient XSLT?
In welchem Verhältnis stehen XSLT und XPath zueinander? Wozu dient XPath? Wozu wird die Angabe verwendet - was geschieht hier? Nennen und beschreiben Sie zwei XPath-Achsen.
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
…und die Klausur II
Gegeben sei die folgende XML-Datei: Murakami Haruki Hard-boiled Wonderland Roman
Was liefern die folgenden XPath-Ausdrücke zurück / Was selektieren die folgenden XPath-Ausdrücke?
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA
/
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners, MA