1 / 25

IT-Zertifikat der Phil.Fak

IT-Zertifikat der Phil.Fak. Kurs 4: Daten- und Metadatenstandards. Patrick Sahle WS 08/09. Daten, Information, Wissen, Weisheit Datenformate? Datentypen? Datenmodelle? Datenstandards? Warum sind Datenstandards wichtig? Metadaten? Metadatenformate? Metadatenstandards?

naiara
Download Presentation

IT-Zertifikat der Phil.Fak

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 Einführung: Begriffe

  3. Wofür braucht man das alles? Projektelandschaft • World Digital Library • Telota-Pom • Corpus Vitrearum Medii Aevi • Corpus Medicorum Graecorum • Antique Works • Kalliope • Sammlung Ponickau • Foto Marburg • BAM-Portal • Bundesarchiv • Aphrodisias • CEEC • ZVDD • OPAL • Stadtbuchinventar • dMGH • Robert Graves • TextGrid • Werke Friedrichs • Der junge Goethe • Europeana

  4. 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

  5. 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

  6. XML • … als Auszeichnungssprache • "Textauszeichnung"? • wp: Schriftauszeichnung, Auszeichnungssprache • Textauszeichnung als Anmerkung zum Text • Textauszeichnung als Übersetzung von Typographie in Struktur / Information • Textauszeichnung als Informationsmodellierung

  7. 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!

  8. 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, XML

  9. 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 XML

  10. Elementare Regeln • 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/> • 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> • Die Zeichen "<", ">" und "&" sind aus der normalen Verwendung herausgenommen und müssen im Text anders codiert werden&lt; &gt; &amp; • 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> XML  Handout

  11. Elementare Regeln • Alles muss in einem obersten Element eingeschlossen sein: dem Wurzelelement. Ein XML-Dokument muss ein Wurzelelement haben und darf nur ein Wurzelelement haben. • Vor dem Wurzelelement können nur noch die XML-Deklaration und verschiedene weitere Angaben zum XML-Dokument stehen (Processing Instructions) • Es gibt Kommentare<!-- Dies ist ein Kommentar --> • Es gibt Entities. Entities sind Platzhalter für etwas anderes.&entity; Beispiel: &amp; • Die Namenswahl für Tags ist im wesentlichen frei XML  Handout

  12. XML • "Wohlgeformtheit" und "Gültigkeit" • Ein XML-Dokument, das die Regeln von XML erfüllt, nennt man wohlgeformt (well formed) • es kann geparsed und verarbeitet werden • 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)

  13. 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 XML

  14. XML • Datenzentriertes und Dokumentorientiertes XML

  15. 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 XML herstellen

  16. 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 Die X-Familie

  17. 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 Schema? DTD als Beispiel …

  18. 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") Navigation im Baum? XPath!

  19. 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 XPath-Achsen

  20. /  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 XPath – Syntax und Beispiele I

  21. @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) XPath – Syntax und Beispiele II

  22. 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) XSLT - Grundsätzliches

  23. Flyer • Erklärung der einzelnen Elemente (dt.)  http://de.selfhtml.org/xml/darstellung/xsltelemente.htm • Tutorial (en.)  http://www.w3schools.com/xsl/ • Offizielle Referenz des W3C  http://www.w3.org/TR/xslt20/ XSLT - Hilfsmittel

  24. 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 XSLT - Funktionsweise

  25. <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> XSLT – wichtige Elemente

More Related