Semantic Technologies
    Übung, Wintersemester 2011/12
   19. Oktober 2011 - XML & friends
Problem

•   Die Bedeutung von
    Inhalten im Web ist für
    Maschinen nicht greifbar.




                                Quelle: http://www.flickr.com/photos/thefangmonster/490423135/
‣ Lösung: Explizite,
  maschinenlesbare
    Semantik.
Explizite Metadaten in
         XML
• XML erlaubt die Repräsentation von
  Information in einem Format, dass auch
  maschinenlesbar ist.

• XML ist eine Metasprache und erlaubt
  die Definition unterschiedlicher Vokabulare.
• Damit ein erfolgreicher Austausch von
  Information möglich ist, müssen
  Standards geschaffen werden.
XML Schemasprachen
                         DTD

•   Nachteile:

    •   kaum Datentypen

    •   eigene Sprache

    •   keine Namensräume
XML Schemasprachen
             XML Schema

 •   XML Anwendung

 •   reichhaltige Datentypen

 •   Namensräume




➡ weitere XML Schemasprachen: RELAX NG, Schematron
XML Schema
                                Aufbau
•     Wurzeltag
    <xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" version="1.0">


    oder
    <schema xmlns="http://www.w3.org/2000/10/XMLSchema" version="1.0">



•     Elementtags
    <element name=“...“ (type=“...“) (minOccurs=“...“) (maxOccurs=“...“)/>



•     Attributtags
    <attribute name=“...“ (type=“...“) (use=“optional|required|prohibited“) (default=“...“)/>



• Typdefinitionen
XML Schema
    Einfache Datentypen
•   Basisdatentypen

    •   xs:string, xs:decimal,
        xs:integer, xs:float,
        xs:boolean, xs:date,
        xs:time, ...


•   Dürfen weder Kindelemente
    noch Attribute besitzen

•   User-definierte einfache
    Datentypen können Basistypen
    einschränken
XML Schema
Komplexe Datentypen
•   Legen die Struktur von
    Elementen durch die
    Definition von
    Attributen und
    Kindelementen fest

•   Die Struktur der
    Kindelemente wird durch
    die Tags sequence, all
    oder choice festgelegt.
XML Schema
Komplexe Datentypen


•   Können erweitert und
    eingeschränkt werden.
XML Schema
          Namensräume




•   Erhöhte Interoperabilität durch Wiederverwendbarkeit
XML Schema
Namensräume




   person.xsd
XML Schema
Namensräume




    cast.xsd
XML Schema
Namensräume




   star-trek.xml
Aufgaben
Aufgabe 1
• Entwickeln Sie ein XML Schema zur
     Erfassung von Veranstaltungen an einer
     Universität.
    • Das Schema soll unter anderem Elemente für Veranstaltung,
        Lehrperson, und Raum enthalten.

    •   Definieren Sie dabei mindestens einen eigenen simpleType, der einen
        Basistyp einschränkt.

•   Schreiben Sie ein XML-Dokument, das diesem Schema entspricht und
    validieren Sie es.
Aufgabe 2

• Entwickeln Sie ein weiteres XML Schema
     zur Erfassung von persönlichen
     Stundenplänen.
    • Das Schema soll die Elemente aus dem aus Aufgabe 1 entstandenen
        Schema mit Hilfe von Namespaces wiederverwenden.

•   Schreiben Sie ein XML-Dokument, das diesem Schema entspricht und
    validieren Sie es.
Aufgabe 3

• Erweitern Sie das Schema aus Aufgabe 1, so
     dass Studiengänge und Module definiert
     werden können.
    • Realisieren Sie die Verknüpfung von Modulen zu Veranstaltungen mit Hilfe
        von XLink.

•   Schreiben Sie ein XML-Dokument, das diesem Schema entspricht und
    validieren Sie es.

Sitzung 2

  • 1.
    Semantic Technologies Übung, Wintersemester 2011/12 19. Oktober 2011 - XML & friends
  • 2.
    Problem • Die Bedeutung von Inhalten im Web ist für Maschinen nicht greifbar. Quelle: http://www.flickr.com/photos/thefangmonster/490423135/ ‣ Lösung: Explizite, maschinenlesbare Semantik.
  • 7.
    Explizite Metadaten in XML • XML erlaubt die Repräsentation von Information in einem Format, dass auch maschinenlesbar ist. • XML ist eine Metasprache und erlaubt die Definition unterschiedlicher Vokabulare. • Damit ein erfolgreicher Austausch von Information möglich ist, müssen Standards geschaffen werden.
  • 8.
    XML Schemasprachen DTD • Nachteile: • kaum Datentypen • eigene Sprache • keine Namensräume
  • 9.
    XML Schemasprachen XML Schema • XML Anwendung • reichhaltige Datentypen • Namensräume ➡ weitere XML Schemasprachen: RELAX NG, Schematron
  • 10.
    XML Schema Aufbau • Wurzeltag <xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" version="1.0"> oder <schema xmlns="http://www.w3.org/2000/10/XMLSchema" version="1.0"> • Elementtags <element name=“...“ (type=“...“) (minOccurs=“...“) (maxOccurs=“...“)/> • Attributtags <attribute name=“...“ (type=“...“) (use=“optional|required|prohibited“) (default=“...“)/> • Typdefinitionen
  • 11.
    XML Schema Einfache Datentypen • Basisdatentypen • xs:string, xs:decimal, xs:integer, xs:float, xs:boolean, xs:date, xs:time, ... • Dürfen weder Kindelemente noch Attribute besitzen • User-definierte einfache Datentypen können Basistypen einschränken
  • 12.
    XML Schema Komplexe Datentypen • Legen die Struktur von Elementen durch die Definition von Attributen und Kindelementen fest • Die Struktur der Kindelemente wird durch die Tags sequence, all oder choice festgelegt.
  • 13.
    XML Schema Komplexe Datentypen • Können erweitert und eingeschränkt werden.
  • 14.
    XML Schema Namensräume • Erhöhte Interoperabilität durch Wiederverwendbarkeit
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
    Aufgabe 1 • EntwickelnSie ein XML Schema zur Erfassung von Veranstaltungen an einer Universität. • Das Schema soll unter anderem Elemente für Veranstaltung, Lehrperson, und Raum enthalten. • Definieren Sie dabei mindestens einen eigenen simpleType, der einen Basistyp einschränkt. • Schreiben Sie ein XML-Dokument, das diesem Schema entspricht und validieren Sie es.
  • 20.
    Aufgabe 2 • EntwickelnSie ein weiteres XML Schema zur Erfassung von persönlichen Stundenplänen. • Das Schema soll die Elemente aus dem aus Aufgabe 1 entstandenen Schema mit Hilfe von Namespaces wiederverwenden. • Schreiben Sie ein XML-Dokument, das diesem Schema entspricht und validieren Sie es.
  • 21.
    Aufgabe 3 • ErweiternSie das Schema aus Aufgabe 1, so dass Studiengänge und Module definiert werden können. • Realisieren Sie die Verknüpfung von Modulen zu Veranstaltungen mit Hilfe von XLink. • Schreiben Sie ein XML-Dokument, das diesem Schema entspricht und validieren Sie es.