57
Semantic Web Universität Potsdam Institut für Informatik XML - Konzepte XHTML XML Base XPath XInclude XLink XForms XPointer XQuery

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

Embed Size (px)

Citation preview

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

Semantic Web

Universität Potsdam

Institut für Informatik

XML - Konzepte

XHTML XML Base

XPath XInclude

XLink XForms

XPointer XQuery

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

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

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

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)

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

4

XPath

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

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)

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

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

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

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:

Knotentypen wird selektiert mit

Wurzelknoten /

Elementknoten Elementname

Attributknoten @attr

Textknoten text()Namensraumknoten  

Verarbeitungsanweisungsknoten  

Kommentarknoten  

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

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 sindz.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]

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

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)

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

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 ( Wildcard)

@* 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 /person[@born<1950]

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

11

Beispiel

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>

<dok> <!-- ein XML-Dokument -->

<kap title=„Wann?">

<pa>Gestern</pa>

<pa>Heute</pa>

<pa>Morgen</pa>

<pa>Nie</pa>

</kap>

<kap title=„Wo?">

<pa>Hier</pa>

</kap>

</dok>

• /dok/dok selektiert das Wurzel-dok- selektiert das Wurzel-dok- Element Element • /*/* selektiert jedes Wurzel- selektiert jedes Wurzel-Element Element • /dok/kap/dok/kap selektiert alle kap- selektiert alle kap-Elemente Elemente innerhalb eines dok-Elements innerhalb eines dok-Elements • /dok/kap[1]/dok/kap[1] selektiert das erste selektiert das erste kap- Element innerhalb eines kap- Element innerhalb eines dok- Elements dok- Elements • //pa//pa selektiert alle pa-Elemente selektiert alle pa-Elemente auf auf allen Ebenen (allen Ebenen (VorsichtVorsicht: langsam) : langsam) • //kap[@title=„Wann?"]/pa//kap[@title=„Wann?"]/pa selektiert alle Absätze des selektiert alle Absätze des Kapitels Kapitels „ „Wann?" Wann?"

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

12

XLink

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

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 Namensraum „http://www.w3.org/1999/xlink“ liegen müssen z.B.

xmlns:xlink=“http://www.w3.org/1999/xlink/namespace/” Keine Elemente!

• seit Juni 2001 Empfehlung des W3C

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

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)

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

15

Linkverhalten

• Überblick der Attribute

type Art des Linkelements Type definition attribute

href Adresse der Ressource Locator attribute

role gibt der Ressource einen Namen   Semantic attributes

arcrole Rolle dieser Kante

title Linkname angeben 

show Verhalten beim Ausführen/Verfolgen

Behavior attributes

actuate Anlass der Ausführung

label interner Name  Traversal attributes from Linkquelle (Bezug auf label)

to Linkziel (Bezug auf label)

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

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!

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

17

Beispiel

<meinlink xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="extended">

<meinequelle xlink:type="locator" xlink:href="studierende.xml#Klaus" xlink:label="student"/>

<meinequelle xlink:type="locator" xlink:href=„lehrkraefte.xml#Peter" xlink:label=„dozent"/>

<meinbogen xlink:type="arc" xlink:from="student" xlink:to="dozent"/>

</meinlink>

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

18

XPointer

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

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

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

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

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

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

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

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)

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

23

Beispiel

• Simple XLink und XPointer Beispiel<ABC xlink:type = "simple"

xlink:href = "http://www.w3.org/#xpointer(id('bradford')/li[3])" xlink:role = "w3chome" xlink:title = "W3C Home Page" xlink:show = "replace" xlink:actuate = "onRequest" > The W3C

</ABC>

• Und ein anderes Beispiel:

child::paragraph[position()=7]

http:://host/pfad/ressource#xpointer(child::paragraph[position()=7])

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

24

XHTML

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

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

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

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

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

27

DTD-Einbindung

• Notation am Anfang einer HTML-Datei, um eine der Varianten zu benutzen:

• strict<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

• transitional<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01

Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

• frameset<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01

Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

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

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

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

29

Die Module von XHTML 2.0 (Auszug)

Modulname Elemente Erlä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

… … …

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

30

• HTML-Wurzelelement mit Namensraumangabe

• Kleinschreibung

HTML 4.01

<html>

<!-- Inhalt der Datei -->

</html>

XHTML 1.0

<html xmlns="http://www.w3.org/1999/xhtml">

<!-- Inhalt der Datei -->

</html>

HTML 4.01

<OBJECT DATA="Video.mpg" TYPE="video/mpeg" ALIGN="LEFT"></OBJECT>

XHTML 1.0

<object data="Video.mpg" type="video/mpeg" align="left"></object>

Unterschiede HTML ⇄ XHTML 1/4

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

31

• Leere Elemente

• Elemente mit optionalem Abschluss-Tag

HTML 4.01

<p>Text mit<br>Zeilenumbruch</p>

<p><img src="bild.gif" alt="ein Bild"></p>

XHTML 1.0

<p>Text mit<br />Zeilenumbruch</p>

<p><img src="bild.gif" alt="ein Bild" /></p>

HTML 4.01

<select name="Auswahl" size="1">

<option>1. Eintrag

<option>2. Eintrag

</select>

XHTML 1.0

<select name="Auswahl" size="1">

<option>1. Eintrag</option>

<option>2. Eintrag</option>

</select>

Unterschiede HTML ⇄ XHTML 2/4

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

32

• Alleinstehende (leere) Attribute

• Verweise zu Ankern

HTML 4.01

<td nowrap>Inhalt</td>

<p>Text mit<hr noshade>Trennlinie</p>

XHTML 1.0

<td nowrap="nowrap">Inhalt</td>

<p>Text mit<hr noshade="noshade" />Trennlinie</p>

HTML 4.01

<a href="#Anker">Verweis</a>

<p>viel Inhalt</p>

<a name="Anker">irgendwas</a>

XHTML 1.0

<a href="#Anker">Verweis</a>

<p>viel Inhalt</p>

<a id="Anker" name="Anker">irgendwas</a>

Unterschiede HTML ⇄ XHTML 3/4

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

33

• Strengeres Einhalten des HTML-Grundgerüsts

HTML 4.01

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

<title>Titel</title>

<h1>Text</h1>

XHTML 1.0

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>Text</title>

<!-- gegebenenfalls andere Elemente im Kopfbereich --> </head>

<body>

<h1>Text</h1>

</body>

</html>

Unterschiede HTML ⇄ XHTML 4/4

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

34

XML Base

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

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

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

36

Beispiel<?xml version="1.0"?><katalog xml:base="http://kickme.to/tierheim/" xmlns:xlink="http://www.w3.org/1999/xlink">

<name>Schnuffel</name><art>Wuergeschlange</art>...<img src="schnuffel.jpg" alt="Bild" width="100" height="100" /><fruehereBesitzer xml:base="http://www.nachrufe.de/anzeigen/"> <li xlink:type="simple" xlink:href="2003-03-22a.xml">Detlef</li> <li xlink:type="simple" xlink:href="2003-04-25d.xml">Gustav</li> ... <li xlink:type="simple" xlink:href="2004-12-10b.xml">Olaf</li></fruehereBesitzer></katalog>

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

37

XInclude

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

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

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

39

Beispiel (Ausgangsdatei)<?xml version="1.0"?><!DOCTYPE htm PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xi="http://www.w3.org/2001/XInclude" lang="en" xml:lang="en">

<head> <title>XInclude</title> </head> <body> <h1>Aktuelle Nachrichten</h1> <xi:include href="news.xml"> <xi:fallback>Fehler! News nicht gefunden.</xi:fallback> </xi:include> </body></html>

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

40

Beispiel (news.xml)

<h2>Schnuffel schlaegt wieder zu</h2>

<p>

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.

</p>

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

41

Beispiel (Resultat)<?xml version="1.0"?>

<!DOCTYPE htm PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"

xmlns:xi="http://www.w3.org/2001/XInclude"

lang="en" xml:lang="en">

<head>

<title>XInclude</title>

</head>

<body>

<h1>Aktuelle Nachrichten</h1>

<h2>Schnuffel schlaegt wieder zu</h2>

<p>

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.

</p>

</body>

</html>

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

42

XForms

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

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“

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

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

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

45

XForms - Einführung

• data layerErlaubt es, das Datenmodell für das Formular zu definieren.

• logic layerErlaubt es, Abhängigkeiten zwischen einzelnen oder mehrerenFeldern zu definieren. So darf zum Beispiel in einem Feld ein

Werteingetragen werden, nur wenn vorher ein anderes Feld

ausgefülltworden ist.

• presentation layerBesteht 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.

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

46

User

Serialized Data Sent to Server

Serialized Data Sent to Server

Instance Data Used In User Interaction

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

47

XQuery

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

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 12.11.2003• Aktueller Standard : W3C Working Draft 29. Oktober

2004 • Struktur• FLWR-Syntax• Sprachelemente• Ausdrücke

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

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

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

50

XQuery - Struktur

Beispiel

<R>{ for $vari in

document("own/hotel.xml")//gast/name/text() return <E>{ $vari }</E>}</R>

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

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.

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

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

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

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

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

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.

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

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

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

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

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

Elaine Bundscherer, Christian Klaffer, Steffi Neumann

57

Quellen

• W3schools: http://www.w3schools.com• Young, Michael J.. XML - Schritt für Schritt.

Washington: Microsoft Press. 2000.• W3C: http://www.w3.org• W3C: http://www.w3.org/TR/xforms11/ • The Semantic Web - Willey – Michael C. Daconta, et

al.• XML das bhv Taschenbuch – Wolfgang Bock• XQuery eine praxisorientierte Einführung – Rudolf

Jansen