Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

IT-Zertifikat der Phil.Fak

Ähnliche Präsentationen


Präsentation zum Thema: "IT-Zertifikat der Phil.Fak"—  Präsentation transkript:

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

2 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

3 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

4 XML-Einstieg Oxygen läuft? XML-Tutorials

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 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,

9 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

10 XML  Handout 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 sind Attributnamen 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 < > & 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>

11 XML  Handout 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: & Die Namenswahl für Tags ist im wesentlichen frei

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

14 XML Datenzentriertes und Dokumentorientiertes XML

15 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

16 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

17 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

18 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")

19 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

20 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

21 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  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)

22 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)

23 XSLT - Hilfsmittel Flyer
Erklärung der einzelnen Elemente (dt.)  Tutorial (en.)  Offizielle Referenz des W3C 

24 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

25 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>


Herunterladen ppt "IT-Zertifikat der Phil.Fak"

Ähnliche Präsentationen


Google-Anzeigen