25
IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

Embed Size (px)

Citation preview

Page 1: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

IT-Zertifikat der Phil.Fak

Kurs 4: Daten- und Metadatenstandards

Patrick Sahle WS 08/09

Page 2: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

Einführung: Begriffe

• Daten, Information, Wissen, Weisheit• Datenformate? Datentypen? Datenmodelle? Datenstandards? • Warum sind Datenstandards wichtig?• Metadaten? Metadatenformate? Metadatenstandards?• Warum sind Metadatenstandards wichtig?• Metadatenformate: eine Liste• Data formats are everywhere! XML is everywhere!• Daten Formate Standards Meta Meta

• XML, TEI

Page 3: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

Wofür braucht man das alles? Projektelandschaft

• CEEC• ZVDD• OPAL• Stadtbuchinventar• dMGH• Robert Graves• TextGrid• Werke Friedrichs• Der junge Goethe• Europeana

• World Digital Library• Telota-Pom

• Corpus Vitrearum Medii Aevi• Corpus Medicorum Graecorum• Antique Works

• Kalliope• Sammlung Ponickau• Foto Marburg• BAM-Portal• Bundesarchiv• Aphrodisias

Page 4: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

XML-Einstieg

• Oxygen läuft?• XML-Tutorials

• http://www.w3schools.com/xml/default.asp • http://www.uzi-web.de/xml/xml_toc.htm • http://www.jeckle.de/vorlesung/xml/script.html • http://heindl.de/xml/index.html • http://www-i3.informatik.rwth-aachen.de/teaching/02/proseminar/prosem-xml.pdf

Page 5: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

XML ist wie HTML nur anders

… Themen …

• Auszeichnungssprache?• Geschichte und Kontext• Relevanz und Verbreitung• Warum sollte man XML benutzen?• Elementare Regeln• "Wohlgeformtheit" und "Gültigkeit"• Erste Übungen• XML als Datenmodell?• Datenzentriertes und Dokumentorientiertes XML

Page 6: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

XML

• … als Auszeichnungssprache

• "Textauszeichnung"?• wp: Schriftauszeichnung, Auszeichnungssprache

• Textauszeichnung als Anmerkung zum Text• Textauszeichnung als Übersetzung von Typographie in Struktur / Information• Textauszeichnung als Informationsmodellierung

Page 7: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

XML

• Geschichte und Kontext• GML 1968• SGML 1986 (ISO-Standard)• XML 1998 (W3C-Standard)• XML ist eine vereinfachte Fassung von SGML• XML ist eine "Metasprache"

• XML hat selbst kein Vokabular• XML liefert nur einen allgemeinen Rahmen (einen Satz Regeln)• auf der Basis von XML werden Auszeichnungssprachen definiert

• xHTML ist eine Anwendung von XML• Die TEI-Guidelines sind eine Anwendung von XML• Beliebige lokale / eigene Vokabularien / Modelle können eine

Anwendung von XML sein: Definiere deine eigenen Tags!

Page 8: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

XML

• Relevanz und Verbreitung• XML is everywhere• Vielzahl von XML-basierten Sprachen und Anwendungen

• Web (xhtml)• Software (word, oo)• Dateaustausch

• XML kann verschiedene Funktionen erfüllen• Datenmodellierung, Datenbeschreibung• Export/Import• Kommunikation• Programmiersprachen; Grafikformate• Ontologien

• Konkret: word-doc, websites, rss, mail, eLearning, Bücher, Überweisung, Bahn-Ticket,

Page 9: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

XML

• Warum sollte man XML benutzen?• XML ist ein allgemeiner, offener Standard des W3C seit 1998• XML ist unabhängig von Plattformen (Betriebssystemen) oder Programmen• XML ist einfach• XML ist „plain text“ (Zukunftssicherheit)• XML ist flexibel• XML ist dokumentennah• XML beschreibt abstrakte Datenstrukturen• XML ist mächtig (XML tut nichts, XML beschreibt Daten, mit XML kann man viel tun)• XML umfasst eine ganze Familie von begleitenden Standards• XML wird von einer breiten Softwarepalette unterstützt• XML ist ein weit verbreiteter Standard für die Beschreibung und den Austausch von Daten. XML ist die Grundlage vieler Anwendungsstandards („XML is everywhere“)• XML ist in zunehmendem Maße die Grundlage von Online-Ressourcen

Page 10: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

XML Handout

• Elementare Regeln

1. XML besteht aus Textdaten und "Tags". Tags sind durch spitze Klammern gekennzeichnet. Es gibt öffnende und schließende Tags. Diese bilden mit dem umschlossenen Text ein "Element". Es gibt auch leere Elemente.<tag>Text</tag> <leeresElement/>

2. Elemente können Attribute haben, die Paare aus Attributname und Attributwert sindAttributnamen dürfen sich nicht wiederholen. Attributwerte in Anführungszeichen.<tag attribut="wert"> … </tag>

3. Die Zeichen "<", ">" und "&" sind aus der normalen Verwendung herausgenommen und müssen im Text anders codiert werden&lt; &gt; &amp;

4. Elemente können geschachtelt sein, müssen aber sauber geschachtelt sein. Überlappung ist strengstens verboten!Gut: <a> … <b> … </b> … </a>Böse: <a> … <b> … </a> … </b>

Page 11: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

XML Handout

• Elementare Regeln

5. Alles muss in einem obersten Element eingeschlossen sein: dem Wurzelelement. Ein XML-Dokument muss ein Wurzelelement haben und darf nur ein Wurzelelement haben.

6. Vor dem Wurzelelement können nur noch die XML-Deklaration und verschiedene weitere Angaben zum XML-Dokument stehen (Processing Instructions)

7. Es gibt Kommentare <!-- Dies ist ein Kommentar -->

8. Es gibt Entities. Entities sind Platzhalter für etwas anderes.&entity; Beispiel: &amp;

9. Die Namenswahl für Tags ist im wesentlichen frei

Page 12: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

XML

• "Wohlgeformtheit" und "Gültigkeit"

1. Ein XML-Dokument, das die Regeln von XML erfüllt, nennt man wohlgeformt (well formed)• es kann geparsed und verarbeitet werden

2. Ein XML-Dokument, das die Regeln einer Auszeichnungssprache erfüllt, nennt man gültig• man sagt: es ist gültig (valid) gegen ein Schema (das ist die

formale Beschreibung einer Auszeichnungssprache)

Page 13: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

XML

• XML als Datenmodell?

• XML-Daten können selbstbeschreibend sein

• XML-Daten sind sequentiell• XML-Daten sind hierarchisch (Baum)• XML-Daten können ein Netz sein

• XML kann rekursive Strukturen abbilden• XML kann komplexe Strukturen abbilden• XML kann ein Modell vorgeben (XML kann präskriptiv sein); ein XML-Modell kann allmählich auf bestehenden Daten entwickelt werden (XML kann deskriptiv sein)

• XML (und ein XML-Modell) kann die Semantik von Daten beschrei- ben. Die Semantik selbst kann aber kaum formal gefasst werden.

• Elemente und Attribute haben unterschiedliche Ausdrucksmöglich- keiten

Page 14: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

XML

• Datenzentriertes und Dokumentorientiertes XML

Page 15: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

XML herstellen

• XML bildet ein Modell ab; mit XML werden Daten modelliert• Wo kommen die XML-Daten her?

– Man kann bestehende Datenstrukturen in XML abbilden

– Man kann Daten in ein XML-Modell einfügen

– Man kann bestehende Daten mit XML auszeichnen

• Beispielszenario: Digitale Texte mit XML– Häufig werden mit XML implizite Befunde explizit gemacht

– In der Überführung typographischer Daten in XML werden typographische Informationen (Layoutinformationen) verallgemeinernd gedeutet

Page 16: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

Die X-Familie

• XML … beschreibt strukturierte Daten

• XPath … erlaubt die Navigation in XML-Daten

• XMLSchema … beschreibt ein striktes Datenmodell

• XSL … eXtensible Style Language

– XSLT … transformiert XML-Dokumente

– XSL-FO … beschreibt eine formatierte Ausgabe (z.B. für den Druck)

• XLink … beschreibt komplexe Links

• XPointer … beschreibt XML-Zeiger

• XQuery … ist eine XML-Datenbankabfragesprache

• XForms … beschreibt Eingabeformulare

Page 17: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

Schema? DTD als Beispiel …

• Es gibt verschiedene "Schema-Sprachen"– z.B. DTD (Document Type Definition), XML Schema, RelaxNG (REgular LAnguage description for Xml New Generation)

• Ein Schema beschreibt, welche Elemente und Attribute (ggf. Attri- butwerte) es in einem Modell gibt und welche Elemente wo (worin) wie oft vorkommen dürfen ("Inhaltsmodelle")• Beispiel:

<!ELEMENT buch (titel)>

<!ATTLIST buch

isbn CDATA #IMPLIED

<!ELEMENT titel (#PCDATA | sortierwort)* >

<!ELEMENT sortierwort (#PCDATA) >

• Syntax: "," = Abfolge,"|" = oder; Quantoren: "", "?", "+", "*"• … aber wo kriege ich meine DTD eigentlich her?

– übernehmen, schreiben, generieren

Page 18: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

Navigation im Baum? XPath!

• XPath bietet eine Syntax, um Elemente, Knoten und Knoten-Sätze in einem XML-Dokument anzusteuern

• Die Adressierung von Elementen kann mit Bedingungen verknüpft werden

• XPath stellt weitere Funktionen zur Verfügung um z.B. Knotensätze zu zählen, Positionen abzufragen oder Zeichenketten (strings) zu bearbeiten

• XPath-Ausdrücke können absolute oder relative Pfade beschrei- ben. Relative Pfade sind abhängig von der gegenwärtigen Position (dem "selbst" bzw. "Kontextknoten")

Page 19: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

XPath-Achsen

• In der Regel steuert man Elemente über ihre Eltern-Kind-Bezie- hung und/oder ihre Namen an. Oft ist ihre Position aber genauer anzugeben. Dabei helfen die XPath-Achsen

• parent / ancestor / ancestor-or-self

• child / descendant / descendant-or-self

• preceding / preceding-or-self / preceding-sibling

• following / following-or-self / following-sibling

• attribute

Page 20: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

XPath – Syntax und Beispiele I

/ das Dokument; die Wurzel . das Selbst; der Kontextknoten * ein beliebiger Name | eine oder-Verknüpfung @... ein Attribut […] eine Bedingung [not (…)] eine verneinte Bedingung

• titel Kindelemente des Kontextknotens, die auf den Namen "titel" hören• //titel Elemente mit dem Namen "titel" in beliebiger Tiefe des Baumes (unterhalb des Kontextknotens)• ../absatz Elemente mit Namen "absatz" als Kinder eine Hierarchiestufe über dem Kontextknoten• ancestor::playlist Elemente mit Namen "playlist" beliebig viele Hierarchiestufen über dem Kontextknoten• preceding::index Elemente mit dem Namen "index",die im XML- Dokument vor dem Kontextknoten kommen

Page 21: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

XPath – Syntax und Beispiele II

• @typ der Wert des Attributs "typ" des Kontextknotens• @* alle Attribute des Kontextknotens• song[album] ein Kindelement "song", das ein Kindelement "album" hat• //index[@typ='band'] ein Kindelement "index" in beliebiger Tiefe des Baums mit einem Attribut "typ" mit einem Attributwert "band"• //sendung[not (programm)] – alle Sendungen, bei denen das programm- Element fehlt• absatz[contains(.,'DJ')] ein Kindelement "absatz", das die Zeichenkette "DJ" enthält• count(//song) die Anzahl der Elemente "song" in beliebiger Tiefe des Baumes• name(*) die Namen aller Kindknoten• //person[not (contains(.,' ')) Personen, die kein Space haben (also keine Vor-Nachnamenkombination sind)

Page 22: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

XSLT - Grundsätzliches

• eXtensible Stylesheet Language Transformation• Sprache zur Transformation von XML-Dokumenten• … in XML notiert …• Geschichte:

– aus DSSSL entwickelt– XSLT 1.0: W3C-recommendation von 1999– XSLT 2.0: W3C-recommendation von 2007

• XSLT als Teilmenge von XSL (der andere Teil: XSL-FO)

Page 24: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

XSLT - Funktionsweise

• Aus einem Ausgangsdokument (.xml) wird mit Hilfe einer Verarbeitungsanweisung (.xslt) ein Ergebnisdokument (z.B. .html) generiert.• Es gibt verschiedene XSLT-Prozessoren

– Saxon, Xalan, MSXML • Es gibt ca. 50 Elemente = "Befehle" in XSLT 2.0 (im xsl-Namensraum)

• Konzept der drei Bäume (Traversieren der Bäume)

• Konzept der Schablonen (templates)• Verknüpfung von XML- und XSLT-Dokument

Page 25: IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle WS 08/09

XSLT – wichtige Elemente

• <xsl:template match="XPath-Ausdruck">• <xsl:apply-templates>• <xsl:value-of select="XPath-Ausdruck">• <xsl:for-each select="XPath-Ausdruck">• <xsl:sort>• <xsl:if test="Ausdruck">

• <xsl:element>, <xsl:attribute>, <xsl:text>