Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Semantic Web Universität Potsdam Institut für Informatik XML - Konzepte XHTMLXML Base XPathXInclude XLinkXForms XPointerXQuery.

Ähnliche Präsentationen


Präsentation zum Thema: "Semantic Web Universität Potsdam Institut für Informatik XML - Konzepte XHTMLXML Base XPathXInclude XLinkXForms XPointerXQuery."—  Präsentation transkript:

1 Semantic Web Universität Potsdam Institut für Informatik XML - Konzepte XHTMLXML Base XPathXInclude XLinkXForms XPointerXQuery

2 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 2 Einführung XML: erster Schritt zum Semantic Web Dokumente maschinenverarbeitbare Daten (Link-) Struktur des heutigen Webs muss noch für Maschinen verständlich gemacht werden

3 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 3 XLink, XPointer und XPath Man stelle sich das Web ohne Links vor … XLink –Verallgemeinerung des HTML-Links-Konzeptes –Höhere Abstraktionsebene (gedacht für generelles XML – nicht nur Hypertext) –mehr Ausdrucksstärke (viele verschiedene Richtungen, spezielles Verhalten, Linkbases, etc.) –benutzt XPointer, um Quellen ausfindig zu machen XPointer –Erweiterung von XPath, angepasst für das Verknüpfen (linking) –spezifiziert Verbindungen zwischen XPath-Ausdrücken und URIs XPath –deklarative Sprache, um Knoten und Fragmente in XML-Bäumen zu lokalisieren –wird in XPointer (Adressieren), XSL (Mustererkennung), XML Schema (Einzigartigkeit und Scope-Deskriptionen) und XQuery (Selektion und Iteration)

4 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 4 XPath

5 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 5 XPath - XML Path Language Abfrage-Sprache zum Zugreifen/ zur Adressierung beliebiger Teile eines XML- Dokumentes W3C Standard vom November 1999 (XPath v1.0) XPath ist eine deklarative Sprache für: –Adressieren (benutzt in XLink/XPointer und in XSLT) –Mustererkennung (pattern matching) (benutzt in XSLT und in XQuery)

6 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 6 Zugrundeliegendes Dokumentenmodell den Adressierungspfaden eines Dateisystems (Unix shell) ähnlich: z.B. (/usr/bin/...) XPath betrachtet XML-Dokumente als Baumstruktur /virtuelle Dokument-Wurzel wird angenommen durch / repräsentiert (links von "/" (Dokumentenwurzel) steht nichts) usr etc home var dev... bin lib... no1 gast andere / Desktop nsmail Rest

7 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 7 Baumstruktur & Knoten XML-Dokument wird als Baum mit Elementen, Attributen und Textinhalten als Knoten interpretiert XPath unterscheidet dabei folgende Knotentypen: Knotentypenwird selektiert mit Wurzelknoten / Elementknoten Elementname attr Textknoten text () Namensraumknoten Verarbeitungsanweisungsknoten Kommentarknoten

8 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 8 Location Path & Location Step das zentrale Konstrukt von XPath (Pfad-Ausdrücke): location path, welcher eine Sequenz von Lokalisierungsschritten (location steps) darstellt, die durch / getrennt sind z.B.: child::sektion[position()<6] / descendant::zitat / attribute::href selektiert alle href -Attribute in den zitat -Elementen in den ersten 5 sektionen eines Magazindokumentes absolute location path: /step1/step2 relative location path: step1/step2 Location step: axisname::nodetest[predicate] z.B.: child::sektion[position()<6]

9 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 9 Achsen eines location step Achsen: Kind (child) Elter (parent) Nachkömmling (descendant) Vorfahr (ancestor) Nachfolgende Knoten (following) Vorherige Knoten (preceding) Nachfolgende Geschwisterknoten (following-sibling) Vorherige Geschwisterknoten (preceding-sibling) Attribut (attribute) Namensraum (namespace) aktueller Knoten selbst (self) Nachkömmling oder aktueller Knoten selbst (descending-or-self) Vorfahre oder aktueller Knoten selbst (ancestor-or-self)

10 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 10 Pfad-Ausdrücke (abgekürzt). aktueller Knoten.. Eltern-Knoten des aktuellen Knotens * beliebiges Kind-Element des aktuellen Knotens ( beliebiges Attribut des aktuellen Knotens ( Wildcard) node()alle Elementtypen und beliebige Knotentypen ( Wildcard) // alle Elemente im Dokument, die das Kriterium erfüllen (selbst wenn sie sich auf verschiedenen Ebenen im Baum befinden) | Auswahl (Disjunktion) [ ]ein Element zusätzlich spezifizieren Beispiele: Kind-Elemente und Attribute des aktuellen Knotens; aus /child::person[ attribute::born < 1950 ] wird

11 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 11 Beispiel Gestern Heute Morgen Nie Hier /dok selektiert das Wurzel-dok- /dok selektiert das Wurzel-dok- Element Element /* selektiert jedes Wurzel-Element /* selektiert jedes Wurzel-Element /dok/kap selektiert alle kap-Elemente /dok/kap selektiert alle kap-Elemente innerhalb eines dok-Elements innerhalb eines dok-Elements /dok/kap[1] selektiert das erste /dok/kap[1] selektiert das erste kap- Element innerhalb eines kap- Element innerhalb eines dok- Elements dok- Elements //pa selektiert alle pa-Elemente auf //pa selektiert alle pa-Elemente auf allen Ebenen (Vorsicht: langsam) allen Ebenen (Vorsicht: langsam) selektiert alle Absätze des Kapitels selektiert alle Absätze des Kapitels Wann?" Wann?"

12 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 12 XLink

13 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 13 XLink XLink stellt eine Attribut-basierte Syntax dar, um einem XML- Dokument Elemente hinzuzufügen, die Verknüpfungen zwischen Quellen darstellen, Metadaten in Verbindung bringen und externe Dokumente verknüpfen benutzt XML-Syntax basierend auf Attributen, die in dem Namensraumhttp://www.w3.org/1999/xlink liegen müssenhttp://www.w3.org/1999/xlink z.B. xmlns:xlink=http://www.w3.org/1999/xlink/namespace/ Keine Elemente! seit Juni 2001 Empfehlung des W3C

14 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 14 HTML - Beschränkungen HTML - Links: –Links werden mit Elementnamen identifiziert (a, img, etc.) –Linksemantik in der HTML-Spezifikation ist genau festgelegt XML sucht eine generische Lösung es sollten abstrakte Semantikmerkmale erkannt werden HTML eingeschränkt man braucht einen Mechanismus, um Inhalt zu referenzieren, nicht nur den Platz/Ort XLink bietet erweiterte Verhaltenseigenschaften, die das Hyperlinking flexibler machen (multiple Ziele, Rollen, Ressourcen und Reaktionen auf Elemente werden verknüpft)

15 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 15 Linkverhalten Überblick der Attribute typeArt des LinkelementsType definition attribute hrefAdresse der RessourceLocator attribute rolegibt der Ressource einen Namen Semantic attributes arcroleRolle dieser Kante titleLinkname angeben showVerhalten beim Ausführen/VerfolgenBehavior attributes actuateAnlass der Ausführung labelinterner Name Traversal attributes fromLinkquelle (Bezug auf label) toLinkziel (Bezug auf label)

16 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 16 Einfache und Erweiterte Links für Kompatibilität und Schlichtheit einfache Links: –einfache Verallgemeinerung von HTML-Links –eingeschränkte Version der erweiterten XLinks: Punkt A nach Punkt B –werden bisher nur von wenigen Browsern unterstützt erweiterte Links: –beschreiben eine Menge von Ressourcen zusammen mit ihrer Link-Struktur (Netzwerk) –werden von keinem Browser unterstützt stoßen auf wenig Akzeptanz!

17 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 17 Beispiel

18 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 18 XPointer

19 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 19 XPointer XPointer ist eine Erweiterung von XPath, um bestimmte Plätze/Lokalitäten in XML-Dokumenten zu identifizieren (am Ende einer URI stehend) nicht XML-Syntax relatives Adressieren: erlaubt selbst das Verknüpfen zu Lokalitäten mit keinem Anker (#) flexibel und robust: XPointer/XPath-Ausdrücke überdauern oft Änderungen des Zieldokuments kann auf Teile einer Zeichenkette oder ganze Baumfragmenten zeigen

20 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 20 XPointer XPath XPointer basiert auf XPath: –ein XPointer-Ausdruck gleicht grundsätzlich einem XPath- Ausdruck –XPath sagt nichts über URIs XPointer spezifiziert diese Verbindung –XPath-Ausdrücke bzgl. Kontext ausgewertet XPointer spezifiziert diesen Kontext –XPointer fügt XPath Funktionen/Eigenschaften hinzu

21 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 21 XPath-Erweiterung XPointer bietet als Erweiterung von XPath Operationen Teile in einem XML-Dokument adressierbar, die vielleicht keinem Knoten entsprechen: –Points (Punkte): Positionen in einem Dokument –Ranges (Bereiche): die Information zwischen einem Punkte -Paar –Locations: XPath Knoten + Punkte und Bereich(e) –Location Set: eine geordnete Liste mit Locations

22 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 22 XPointer - Fragmente XPointer fragment identifier (die Teilzeichenkette rechts des # in einer URI) bietet drei verschiedene Formen zur Adressierung von Dokumentteilen: –der Wert eines ID-Attributs in dem Dokument (ID-Attribute werden durch ein Schema spezifiziert) (Bare Names) –eine Sequenz mit Nummernelementen, die den Pfad von der Wurzel an bis zu einem Element kennzeichnen; z.B. /1/27/3 (Child Sequence) –eine Sequenz der Form xpointer(...) xpointer(...)..., die eine Liste (typischerweise der Länge 1) mit XPointer- Ausdrücken enthält (Full XPointer)

23 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 23 Beispiel Simple XLink und XPointer Beispiel The W3C Und ein anderes Beispiel: child::paragraph[position()=7] ])

24 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 24 XHTML

25 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 25 Überblick Was ist das? –Ist der Versuch HTML 4 mit XML nachzubauen Wozu nachbauen? –XHTML ist erweiterbar und syntaktisch 100%-ig kompatibel zu wichtigen XML-Standardsprachen wie SVG, WML, SMIL usw. –gemeinsame syntaktische Grundlage auf XML-Basis möglich, Skript- und Stylesheet-Sprachen zu vereinheitlichen –Mehr Struktur für Maschinenverarbeitung gewährleisten

26 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 26 HTML-Varianten XHTML fordert gültigen Code in HTML-Dokumenten W3C stellt drei DTDs bereit: –XHTML-1.0-Strict: erlaubt nur sehr schlankes HTML (viele Elemente/Attribute zur Formatierung und Visualisierung von Texten fehlen CSS- Stylesheets sollen verwendet werden) geeignet für neue HTML-Dokumente –XHTML-1.0-Transitional: für umgewandelte alte HTML-Dokumente, die noch mit ausgemusterten Elementen/Attributen wie applet oder align=, bgcolor= arbeiten –XHTML-1.0-Frameset: wie transitional, nur für Dokumente, die mit Frames arbeiten

27 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 27 DTD-Einbindung Notation am Anfang einer HTML-Datei, um eine der Varianten zu benutzen: strict transitional frameset

28 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 28 Modularisierung Was ist das? –Konzept der Modularisierung ermöglicht Erweitern und Abspecken von Dokumenten XHTML 2.0 als modul-basiertes Sprachsystem entworfen –mit XHTML 2.0 Trennung von XHTML 1.0 und HTML 4.0 nur noch strict-Sprachvariante

29 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 29 Die Module von XHTML 2.0 (Auszug) ModulnameElementeErläuterung Structure body head html title Elemente, die das Grundgerüst eines XHTML-Dokuments bilden Text abbr acronym address blockquote br cite code dfn div em h1 h2 h3 h4 h5 h6 kbd p pre q samp span strong var Block- und Inline-Elemente, die Text enthalten können und logische Auszeichnungen darstellen Hypertext a Anker und Verweise innerhalb des Dokuments List dl dt dd ol ul li nummerierste Listen, Aufzählungslisten und Definitionslisten Object object param Multimedia-Referenzen Presentation b big hr i small sub sup tt Modul für Elemente, die Text enthalten können und physische Auszeichnungen darstellen ………

30 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 30 HTML-Wurzelelement mit Namensraumangabe Kleinschreibung HTML 4.01 XHTML 1.0 HTML 4.01 XHTML 1.0 Unterschiede HTML XHTML 1/4

31 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 31 Leere Elemente Elemente mit optionalem Abschluss-Tag HTML 4.01 Text mit Zeilenumbruch XHTML 1.0 Text mit Zeilenumbruch HTML Eintrag 2. Eintrag XHTML Eintrag 2. Eintrag Unterschiede HTML XHTML 2/4

32 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 32 Alleinstehende (leere) Attribute Verweise zu Ankern HTML 4.01 Inhalt Text mit Trennlinie XHTML 1.0 Inhalt Text mit Trennlinie HTML 4.01 Verweis viel Inhalt irgendwas XHTML 1.0 Verweis viel Inhalt irgendwas Unterschiede HTML XHTML 3/4

33 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 33 Strengeres Einhalten des HTML-Grundgerüsts HTML 4.01 Titel Text XHTML 1.0 Text Text Unterschiede HTML XHTML 4/4

34 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 34 XML Base

35 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 35 XML Base Was ist das? –Ergänzung zum Verlinken von Dokumenten –Kurze Spezifikation zum Festlegen einer Basis-URI für ein XML- Dokument Wie funktioniert das? –Im Wurzelelement ein xml:base -Attribut mit der URI als Wert angeben –Zusätzlich kann man in Kind-Elementen weitere base -Attribute angeben Basis-URI für ein bestimmtes Element und seine Kind-Elemente wird überschrieben

36 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 36 Beispiel Schnuffel Wuergeschlange...

  • Detlef
  • Gustav...
  • Olaf

    37 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 37 XInclude

    38 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 38 XInclude Was ist das? –Methode, um zur Laufzeit XML Dokumente in andere einzubinden –Daten aus dem eingebunden Dokument werden echter Teil des einbindenden Dokuments ein einzelnes Dokument entsteht Wie funktioniert das? –An gegebener Stelle ein leeres xi:include -Element mit dem Attribut href und der URI des einzubettenden Dokuments als Attributwert definieren –Fallback-Funktion: Inhalt des xi:fallback -Elements wird ausgegeben, wenn kein Dokument an der einzubindenden URI gefunden wird

    39 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 39 Beispiel (Ausgangsdatei) XInclude Aktuelle Nachrichten Fehler! News nicht gefunden.

    40 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 40 Beispiel (news.xml) Schnuffel schlaegt wieder zu Gestern Abend wurde das nunmehr 14. Wuergeschlangenopfer in Berlin-Kreuzberg aufgefunden. Unweit vom Tatort fand die Polizei Kriechspuren und konnte kurze Zeit spaeter die rueckfaellig gewordene Boa Konstriktor auf der Flucht stellen. Schnuffel befindet sich zur Zeit in Untersuchungshaft und wird Montag bis auf Weiteres dem Tierheim ueberstellt.

    41 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 41 Beispiel (Resultat) XInclude Aktuelle Nachrichten Schnuffel schlaegt wieder zu Gestern Abend wurde das nunmehr 14. Wuergeschlangenopfer in Berlin-Kreuzberg aufgefunden. Unweit vom Tatort fand die Polizei Kriechspuren und konnte daraufhin die rueckfaellig gewordene Boa Konstriktor auf der Flucht stellen. Schnuffel befindet sich zur Zeit in Untersuchungshaft und wird Montag bis auf Weiteres dem Tierheim ueberstellt.

    42 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 42 XForms

    43 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 43 XForms - Einführung XForms ist die neue Auszeichnungssprache für Formulare im Web Sehr junge Entwicklung - W3C Working Draft vom 15. November 2004 Die neue Formulargeneration für das WEB

    44 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 44 XForms - Einführung XForms trennt die Präsentation (Design) vom Inhalt (Zweck) Der wichtigste Unterschied zu anderen Markup-Formularen wird sein, dass XForms Zweck (was das Formular macht) und Präsentation (wie das Formular aussieht) des Formulars trennt

    45 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 45 XForms - Einführung data layer Erlaubt es, das Datenmodell für das Formular zu definieren. logic layer Erlaubt es, Abhängigkeiten zwischen einzelnen oder mehreren Feldern zu definieren. So darf zum Beispiel in einem Feld ein Wert eingetragen werden, nur wenn vorher ein anderes Feld ausgefüllt worden ist. presentation layer Besteht aus Markup für Kontrollfelder, die an ein oder mehrere Eingabefelder gebunden sind. Ändert man den Wert, so müssen alle anderen Felder aktualisiert werden.

    46 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 46 User Serialized Data Sent to Server Instance Data Used In User Interaction

    47 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 47 XQuery

    48 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 48 XQuery - Einführung Was ist XQuery? XQuery ist eine XML Anfragesprache The World Wide Web Consortium entwickelt mehrere Entwürfe für eine Anfragesprache aus noch einfachen Ansätzen wie XPath über XML-QL und Quilt, teils auch SQL, aus diesen Entwürfen entstand schließlich die XQuery Language W3C Working Draft vom Aktueller Standard : W3C Working Draft 29. Oktober 2004 Struktur FLWR-Syntax Sprachelemente Ausdrücke

    49 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 49 XQuery - Struktur Optionaler Prolog in dem Namensräume und Funktionen deklariert werden Anfragekörper – besteht aus Sequenz von Ausdrücken

    50 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 50 XQuery - Struktur Beispiel { for $vari in document("own/hotel.xml")//gast/name/text() return { $vari } }

    51 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 51 XQuery - FLWR-Syntax FLWR steht für die Schlüsselwörter for, let, when, und return. In der FLWR-Syntax besteht XQuery aus Ausdrücken, die in ein beliebiges XML-Dokument eingebettet werden können.

    52 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 52 XQuery - Sprachelemente for – zur (Schleifen-)Verarbeitung von einzelnen Elementen innerhalb eines XML-Dokuments let – zur Erstellung von Variablen und Zuweisung von Werten where – konditionale Anweisung, zusammen mit dem Schlüsselwort for verwendet return – zur Rückgabe von Werten an die aufrufende Instanz des Ausdrucks

    53 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 53 XQuery - Ausdrücke Literale, das sind Zahlen, Zeichenketten oder Wahrheitswerte. Pfade, diese werden verwendet um Koten im XML Dokument zu adressieren. Arithmetische und logische Ausdrücke, diese Ausdrücke können aus den arithmetischen Operatoren +, -, *, div, idiv und mod bzw. aus and und or erzeugt werden. Vergleichsausdrücke, von denen es 3 verschiedene Arten gibt, Vergleich von Werten, Knotenvergleich allgemeine Vergleiche

    54 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 54 XQuery - Ausdrücke Konstruktoren, mit denen XML Strukturen durch eine Anfrage erzeugt werden können, diese werden in geschweiften Klammern notiert. Bedingungen, die in der Form "if" … "then" … "else" angegeben werden. Quantifizierende Ausdrücke, Existenzquantor dient XQuery "some Allquantor "every" Validierungsausdrücke, die dazu dienen einzelne Knoten zu überprüfen.

    55 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 55 XQuery - Beispiel einer XQuery Anfrage PSI-XQ - Der XQuery Demonstrator Beispiele ausführen von: –Einfache Abfragen –Teileinformation –Ergebnis einschränken –Sortieren

    56 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 56 XQuery - Beispiel einer XQuery Anfrage PSI-XQ - Der XQuery Demonstrator Beispiele ausführen von: –Einfache Abfragen –Teileinformation –Ergebnis einschränken –Sortieren

    57 Elaine Bundscherer, Christian Klaffer, Steffi Neumann 57 Quellen W3schools: Young, Michael J.. XML - Schritt für Schritt. Washington: Microsoft Press W3C: W3C: The Semantic Web - Willey – Michael C. Daconta, et al. XML das bhv Taschenbuch – Wolfgang Bock XQuery eine praxisorientierte Einführung – Rudolf Jansen


  • Herunterladen ppt "Semantic Web Universität Potsdam Institut für Informatik XML - Konzepte XHTMLXML Base XPathXInclude XLinkXForms XPointerXQuery."

    Ähnliche Präsentationen


    Google-Anzeigen