Download - 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002
![Page 1: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/1.jpg)
30.11.2001 - Martin Klossek
Seminar „XML: Datenrepräsentation und Abfragesprachen “ - WS2001/2002
![Page 2: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/2.jpg)
30.11.2001 XLink - Martin Klossek 2
Motivation
Im World Wide Web sind unzählbar viele Dateien zu unterschiedlichsten Themenbereichen verfügbar...
![Page 3: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/3.jpg)
30.11.2001 XLink - Martin Klossek 3
Motivation
...wodurch Menschen Informationen aller Art finden und ihren Wissensschatz verbreitern können.
Mit ein – wenn nicht sogar der – Hauptgrund für die Erfolgsstory des WWW:
„Klicken Sie hier für weitere Infos“
Hyperlinks
![Page 4: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/4.jpg)
30.11.2001 XLink - Martin Klossek 4
Motivation
HTML-Hyperlinks Verbinden Resourcen wie HTML-Dateien,
Dokumente, Texte, Bilder, Grafik, Multimedia...
Fest in den HTML-Standard eingebettet (und nur in diesem Kontext einsetzbar)
Hyperlinks
<a href=“resource-uri“>click here</a>
<img src=“image-uri“>
![Page 5: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/5.jpg)
30.11.2001 XLink - Martin Klossek 5
Motivation
HTML-Hyperlinks Zielen auf Interaktivität ab.
Bekannte Konzept: „Browsen“ oder „Surfen“
Für Maschinen schwierig zu verarbeiten, insbesondere bei Änderungen da feste Einbindung in HTML-Dokumente, die
verglichen mit XML schwer zu modifizieren sind
Hyperlinks
![Page 6: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/6.jpg)
30.11.2001 XLink - Martin Klossek 6
Motivation
XLink tritt an für Idee eines „eXtensible Linkkonzepts“
(wie bei XML auch!) Flexible Einsatzmöglichkeiten im
Resourcenmanagment Überwindung der Schwächen von HTML-
Hyperlinks
Schauen wir uns das doch näher an!
XLink
![Page 7: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/7.jpg)
30.11.2001 XLink - Martin Klossek 7
Übersicht
1. Motivation
2. XLink zur Verlinkung
3. XPath zum Adressieren
4. XPointer zum Zeigen
5. Ausblick
![Page 8: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/8.jpg)
30.11.2001 XLink - Martin Klossek 8
XLink - Idee
Idee ist die Resourcenverknüpfung
R1
R5
R4R3
R2
LINK
Verknüpfung
Resource
Verweis auf Resource
• XML-Daten
• HTML-Daten
• Grafiken
• Dokumente
• ...
![Page 9: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/9.jpg)
30.11.2001 XLink - Martin Klossek 9
XLink - Idee
Link als Container von Referenzen auf Resourcen Lokalen Resourcen Verbindungen zwischen diesen
Resourcen Metainformationen (wie Titel des Links
oder Verhaltensanweisungen)
Link
![Page 10: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/10.jpg)
30.11.2001 XLink - Martin Klossek 10
XLink - Idee
Damit bietet ein XLink-Link: uni- und bidirektionale Verknüpfungs-
strukturen mehr als 2 Resourcen pro Link möglich Metadaten können angegeben werden Trennung von Resource und Link durch
externes Speichern von Links achja, und für XML-Resourcen geht es auch
mit Subresourcen
Link
![Page 11: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/11.jpg)
30.11.2001 XLink - Martin Klossek 11
XLink - Spezifikation
XLink ist spezifiziert vom W3C (als Recommendation = Empfehlung)
offiziell seit dem 27. Juni 2001 verfügbar unter dem Titel
unter der URL
„XML Linking Language (XLink) Version 1.0“
http://www.w3.org/TR/2001/REC-xlink-20010627/
![Page 12: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/12.jpg)
30.11.2001 XLink - Martin Klossek 12
XLink - Syntax
Im Folgenden das Wesentliche aus der XLink-Spezifikation, so zunächst:
XLink kennt zwei syntaktische Konstrukte für Links
Extended Links Simple Links (als Vereinfachung von
Extended Links ähnlich wie <a href>)
in XML-Syntax (natürlich )
1
![Page 13: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/13.jpg)
30.11.2001 XLink - Martin Klossek 13
XLink - Syntax
Um eXtensible gerecht zu werden: XLink definiert keine XML-Elemente,
sondern globale Attribute in einem Namespace http://www.w3.org/1999/xlink
<link xlink:type="extended" xmlns:xlink="http://www.w3.org/1999/xlink"> ... </link>
Beispiel
2
![Page 14: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/14.jpg)
30.11.2001 XLink - Martin Klossek 14
XLink - Syntax
Beliebige XML-Elemente können durch XLink-Attribute zu XLinks werden!
Zentrales Attribut ist type type gibt an, von welchem XLink-Typ
das Element sein soll... je nach Wert sind weitere Attribute nötig,
um XLink-konform zu sein
3
![Page 15: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/15.jpg)
30.11.2001 XLink - Martin Klossek 15
XLink - Syntax
Typen und mögliche Attribute
3
type="extended"role, title
type="resource"role, title, label
type="arc"arcrole, title, show, actuate, from, to
type="locator"href, role, title, label
type="title"Titel im Element
type="simple"href, role, arcrole, title, show, actuate
![Page 16: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/16.jpg)
30.11.2001 XLink - Martin Klossek 16
XLink - Syntax Beispiel
<link xlink:type="extended" xlink:role="connector">
<title xlink:type="title">Von TOC zum Chapter 1</title>
<res xlink:type="resource">10</res>
<loc xlink:type="locator" xlink:href="toc.xml#chap1" xlink:label="a"/>
<loc xlink:type="locator" xlink:href="chap1.xml" xlink:label="b"/>
<arc xlink:type="arc" xlink:from="a" xlink:to="b"/>
</link>
“10“
toc.xml#chap1
chap1.xml
linkthird-party
3
![Page 17: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/17.jpg)
30.11.2001 XLink - Martin Klossek 17
XLink - Syntax
Extended Links unterstützen alle Features von XLink
Zur Vereinfachung: Simple Links Subset von Extended Links einfach anzuwenden gehen von einer lokalen Resource zu
einer externen Resource ähnlich den HTML-Hyperlinks!
4
![Page 18: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/18.jpg)
30.11.2001 XLink - Martin Klossek 18
XLink - Syntax
<a xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.klossek3000.de" xlink:actuate="onRequest" xlink:show="replace" xlink:title="Link zu Martins Homepage">Klicken Sie hier</a>
“KlickenSie hier“
http://www.klossek3000.dea
outbound
entsprechend auch inbound, z. B. für Einbettungen wie bei <img>
4
Beispiel
![Page 19: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/19.jpg)
30.11.2001 XLink - Martin Klossek 19
XLink - Linkbases
Weiteres Feature von XLink
Erlauben leichte Änderung von Links Essentiell bei nicht änderbaren
Resourcen wie Grafiken Nach Spezifikation im XLink-Format
5
Externe Links und Linkdatenbanken
Linkbase
![Page 20: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/20.jpg)
30.11.2001 XLink - Martin Klossek 20
Anwendungsbeispiel
Anforderung Resource
Auslieferung Resourcemit Linkinformationen
Linkbase
ResourcenWeb
server
XLinkProcessor
X
xX
file.xml
file.xml
Linkinformationen
angeforderte Resource
![Page 21: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/21.jpg)
30.11.2001 XLink - Martin Klossek 21
Übersicht
1. Motivation
2. XLink zur Verlinkung
3. XPath zum Adressieren
4. XPointer zum Zeigen
5. Ausblick
![Page 22: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/22.jpg)
30.11.2001 XLink - Martin Klossek 22
XPath - Idee
XPath ist eine Sprache zur Adressierung von Teilresourcen von XML-konformen Daten
kein XML-Dialekt, um in XML-Attributen und URIs genutzt zu werden
sehr mächtig, um flexible Anwendungen zu ermöglichen
wird von XSLT + XPointer verwendet
![Page 23: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/23.jpg)
30.11.2001 XLink - Martin Klossek 23
XPath - Spezifikation
XPath ist spezifiziert vom W3C (als Recommendation = Empfehlung)
offiziell seit dem 16. November 2001 verfügbar unter dem Titel
unter der URL
„XML Path Language (XPath) Version 1.0“
http://www.w3.org/TR/xpath
![Page 24: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/24.jpg)
30.11.2001 XLink - Martin Klossek 24
XPath - Anforderungen
Zugriff auf Teilresourcen eines XML-konformen Dokuments ist das Ziel
Berücksichtigung der Hierarchie und Semistrukturiertheit der XML-Daten
Sprache soll Variablen, Rechen-operationen und Stringverarbeitung kennen für Flexibilität
einfache nicht-XML Notation
![Page 25: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/25.jpg)
30.11.2001 XLink - Martin Klossek 25
XPath - Konzept
XPath operiert auf einer Baumrepräsentation der XML-Daten
<doc> <head><title>Some Klingon words and phrases</title></head> <body> <p><b>amarklor-kalish</b>(n) is a Klingon word used to describe a color on the ultra-violet scale seen by Klingons. It falls between amarklor (very dark violet or purple) and kalish (completely black).</p> <p><b>cheb</b>(n) unit weight approx. 5 pounds (2.25kg)</p> <p><b>gheb</b>(n) horn (musical instrument)</p> <p><b>nuqDaq 'oH puchpa''e'</b>'Where is thebathroom?'</p> </body></doc>
![Page 26: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/26.jpg)
30.11.2001 XLink - Martin Klossek 26
XPath - Konzept
<?xml ver ... ?> doc
head body
title p pp p
root
Some Klingonwords andphrases gheb
b (n) horn ...
... ...
• Wurzelknoten
• Elemente
• Attribute
• Texte
• Namespace
• PIs
• Kommentare
Knotentypen
![Page 27: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/27.jpg)
30.11.2001 XLink - Martin Klossek 27
XPath - Konzept
Ein beispielhafter XPath-Ausdruck auf diesen Daten
würde die Subresource
liefern (den 2. Absatz)
/doc/body/p[2]
<p><b>cheb</b>(n) unit weight approx. 5 pounds (2.25kg)</p>
Beispiel
![Page 28: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/28.jpg)
30.11.2001 XLink - Martin Klossek 28
XPath - Syntax
Zentrales Element in XPath ist der Location Path
ein Pfad durch den Baum! Syntax
LocationPath ::= [/]Step(/Step)*
Step ::= Axis ‘::‘ NodeTest Predicate*
z.B. /doc/body/p
![Page 29: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/29.jpg)
30.11.2001 XLink - Martin Klossek 29
XPath - Syntax
Abarbeitung eines Location Path erfolgt von links nach rechts
Zu jedem Zeitpunkt mit Kontext Kontextknoten (node) Kontextposition (Position Kontextknoten) Kontextgröße (max. Pos. Kontextknoten) Menge von Funktionen Variablen mit Werten
![Page 30: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/30.jpg)
30.11.2001 XLink - Martin Klossek 30
XPath - Syntax
Am Beispiel /doc/body/p[2]
Start-Kontext
Kontext 2
Kontext 3End-
kontext
/doc/body/p[2]
body/p[2]
p[2]
Kontext-knoten=root
Kontext-knoten=doc
Kontext-knoten=body
Kontext-knoten=p[2]
![Page 31: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/31.jpg)
30.11.2001 XLink - Martin Klossek 31
XPath - Syntax
Axis: verschiedene Achsen für Baumdurchlauf (Kinder, Geschwister)
in XPath mögliche Achsen sind child, descendant, parent, ancestor following-sibling, preceding-sibling,
following, preceding attribute, namespace self, descendant-or-self, ancestor-or-self
![Page 32: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/32.jpg)
30.11.2001 XLink - Martin Klossek 32
XPath - Syntax
acticle
header paragraphs
title p emailp name
root
click here
a martin
abstract author
text
href=“...“
self
descendants
ascendants
vertikale Achse horizontale Achse
following
preceding
![Page 33: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/33.jpg)
30.11.2001 XLink - Martin Klossek 33
XPath - Syntax
Axis: Beispiele
Beispiel
• descendant::a[self::text()=’click here’]
• child::a[attribute::href=’...’]
• /descendant::p
• /child::article/child::author/child::name
![Page 34: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/34.jpg)
30.11.2001 XLink - Martin Klossek 34
XPath - Syntax
NodeTest: die Knoten in der Achse werden mit NodeTest gefiltert
node() *
typ namespace[:typ]
text() comment()
processing-instructin[name] DT = Defaulttyp!
DT
DT
DT
![Page 35: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/35.jpg)
30.11.2001 XLink - Martin Klossek 35
XPath - Syntax
NodeTest: Beispiele
Beispiel
• child::text()
• /descendant::loc/attribute::xlink:label
• //loc/@xlink:label
![Page 36: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/36.jpg)
30.11.2001 XLink - Martin Klossek 36
XPath - Syntax
Predicate*: Filterung der Knotenmenge mit Prädikaten
Syntax
Erfüllt ein Knoten der Knotenmenge das Prädikat, wird er in die Ergebnismenge aufgenommen, andernfalls nicht
Predicate ::= ’[’ Expr ’]’
![Page 37: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/37.jpg)
30.11.2001 XLink - Martin Klossek 37
XPath - Syntax
XPath kennt für Ausdrücke (expr) die Datentypen
node-set (Knotenmenge, auch leer) boolean number (FIießkommazahl) string (Zeichenkette)
Vergleichen, Verknüpfen, Verrechnen von Ausdrücken möglich
![Page 38: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/38.jpg)
30.11.2001 XLink - Martin Klossek 38
XPath - Syntax
Darüberhinaus verfügt XPath über eine umfangreiche Funktions-bibliothek, beispielsweise
string concat (string, string, string*) number last () number floor (number) ...
![Page 39: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/39.jpg)
30.11.2001 XLink - Martin Klossek 39
XPath - Syntax
Predicate: Beispiele
Beispiel
• /child::module/child::item[5]
• /child::module/child::item[$i]
• /child::module/child::item[last()]
• (string(./treelink) and string(/communitysys/session/loginname)) or string(./newlink) or string(./doshowinvisible)
![Page 40: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/40.jpg)
30.11.2001 XLink - Martin Klossek 40
Übersicht
1. Motivation
2. XLink zur Verlinkung
3. XPath zum Adressieren
4. XPointer zum Zeigen
5. Ausblick
![Page 41: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/41.jpg)
30.11.2001 XLink - Martin Klossek 41
XPointer - Idee
XPointer dient zum Adressieren von Fragmenten in XML-Daten
Das klingt ja fast so wie XPath!? richtig, aber nur fast, denn XPointer geht
weiter!
Genauso wie XPath nur für XML-Dokumente anwendbar
![Page 42: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/42.jpg)
30.11.2001 XLink - Martin Klossek 42
XPointer - Spezifikation
XPointer ist spezifiziert vom W3C (Candidate Recommendation)
offiziell seit dem 11. September 2001 verfügbar unter dem Titel
unter der URL
“XML Pointer Language (XPointer) Version 1.0“
http://www.w3.org/TR/xptr/
![Page 43: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/43.jpg)
30.11.2001 XLink - Martin Klossek 43
XPointer - Syntax
XPointer sehen Anchors in HTML ähnlich:
<a xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="article1.xml#xpointer(/doc/body/p[2])">Klicken Sie hier für Absatz 2</a>
article1.xml#xpointer(/doc/body/p[2])
Dokumentname “#xpointer“ XPointer-Ausdruck
![Page 44: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/44.jpg)
30.11.2001 XLink - Martin Klossek 44
XPointer - Syntax
XPath kann Knoten des XML-Dokuments adressieren
XPointer kennt zusätzlich Punkte (point)
- gibt die Möglichkeit, Knoten und auch einzelne Zeichen anzusprechen
Bereiche (range)- alle XML Informationen zwischen zwei Punkten (z. B. Zeichenkette oder Elemente)
![Page 45: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/45.jpg)
30.11.2001 XLink - Martin Klossek 45
XPointer - Syntax
point und range verlangen nach einer Generalisierung der XPath Node und Node-Set-Datentypen:
location = node | point | range location-set = geordnete Liste von Daten
des Typs location singleton = location-set der Größe 1
![Page 46: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/46.jpg)
30.11.2001 XLink - Martin Klossek 46
XPointer - Syntax
Entsprechend auch eine Reihe neuer Funktionen für range und point
<doc> <p id="1">Ein Beispieltext.</p> <p id="2"> Text in einem anderen Paragraphen. <section id="3">Text in einem Unterlement.</section> </p> <p id="4">Und weitere Text.</p></doc>
Beispiel
xpointer(range(string-range(//*,'anderen')))
![Page 47: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/47.jpg)
30.11.2001 XLink - Martin Klossek 47
XPointer - Syntax
Die neuen Funktionen sind
location-set range-to (location-set)
location-set string-range (location-set, string, number?, number?)
location-set range (location-set)
location-set range-inside (location-set)
location-set start-point (location-set)
location-set end-point (location-set)
location-set here () + location-set origin ()
![Page 48: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/48.jpg)
30.11.2001 XLink - Martin Klossek 48
XPointer - Syntax
Es geht aber auch einfacher! mit bare names
<doc> <p id="text1">Ein Beispieltext.</p></doc>
article1.xml#text1
Dokumentname bare name = id des referenzierten Elements
- Damit greift man -direkt wie bei HTML-Anchors - auf Elemente mit der ID=“bare name“ zu!
Beispiel
![Page 49: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/49.jpg)
30.11.2001 XLink - Martin Klossek 49
XPointer - Syntax
Kindersequenzen (child sequences)<doc> <p id="2"> Text in einem anderen Paragraphen. <section id="3">Text in einem Unterlement.</section> </p></doc>
article1.xml/1/2/3
Dokumentname childsequence = durch / separierte Index der Kinderelemente
- Damit greift man direkt auf die Kinderelemente zu.
- Jeder Schritt schreitet eine Ebene tiefer und sucht das i-te Kinde dort
Beispiel
![Page 50: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/50.jpg)
30.11.2001 XLink - Martin Klossek 50
XPointer
FAZIT: XPointer bieten eine Reihe von
Vereinfachungen und Erweiterungen gegenüber XPath, um Fragmente von XML-Resourcen zu adressieren
Prinzipiell bedienen sie sich aber der Mächtigkeit von XPath
Für XLink mit der bare name Adressierung essentiell
![Page 51: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/51.jpg)
30.11.2001 XLink - Martin Klossek 51
Übersicht
1. Motivation
2. XLink zur Verlinkung
3. XPath zum Adressieren
4. XPointer zum Zeigen
5. Ausblick
![Page 52: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/52.jpg)
30.11.2001 XLink - Martin Klossek 52
Ausblick
W3C XML Pointer, XML Base and XML Linking
XLink: Recommendation seit 27.06.2001 XPath: Recommendation seit 16.11.1999, 2.0 in Arbeit
XPointer: Candidate Recommendation seit 11.09.2001
http://www.w3.org/XML/Linking
![Page 53: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/53.jpg)
30.11.2001 XLink - Martin Klossek 53
Ausblick
Implementierungen von XLink durch teilweise durch Mozilla empolis x2x - Linkmanagment einige experimentelle Software
XPath dagegen wesentlich häufiger XSLT-Prozessoren (alle!) in XML-Datenbanken wie tamino
von Software-AG
![Page 54: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/54.jpg)
30.11.2001 XLink - Martin Klossek 54
Ausblick
Beobachtungen und Vermutungen XLink ist Abrundung von XML um
Verknüpfungsfähigkeiten Linkinformationen könnten auch in
Datenbanken beschrieben werden! Primärer Einsatz von Links sind im
Moment Hyperlinks in HTML. Ob sie je durch XLink abgelöst werden, ist fraglich...
?
![Page 55: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/55.jpg)
30.11.2001 XLink - Martin Klossek 55
Fazit
XLink ist die logische Ergänzung zu XML, um Resourcen verknüpfen zu können und dabei wie bei XML selbst flexibel und erweiterbar zu sein.
![Page 56: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/56.jpg)
30.11.2001 XLink - Martin Klossek 56
Kontakt
Kontakt: [email protected]
Folien und Ausarbeitung in verschiedenen Formaten unter
http://www.stormzone.de/uni/Hauptstudium/seminare/xml/list.php3
![Page 57: 30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002](https://reader038.vdocuments.pub/reader038/viewer/2022103112/55204d6249795902118b6c46/html5/thumbnails/57.jpg)
30.11.2001 XLink - Martin Klossek 57
Das war‘s