Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002.

Ähnliche Präsentationen


Präsentation zum Thema: "30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002."—  Präsentation transkript:

1 Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002

2 XLink - Martin Klossek2 Motivation Im World Wide Web sind unzählbar viele Dateien zu unterschiedlichsten Themenbereichen verfügbar...

3 XLink - Martin Klossek3 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

4 XLink - Martin Klossek4 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 click here

5 XLink - Martin Klossek5 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

6 XLink - Martin Klossek6 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

7 XLink - Martin Klossek7 Übersicht 1.Motivation 2.XLink zur Verlinkung 3.XPath zum Adressieren 4.XPointer zum Zeigen 5.Ausblick

8 XLink - Martin Klossek8 XLink - Idee Idee ist die Resourcenverknüpfung R1R1 R5R5 R4R4 R3R3 R2R2 LINK Verknüpfung Resource Verweis auf Resource XML-Daten HTML-Daten Grafiken Dokumente...

9 XLink - Martin Klossek9 XLink - Idee Link als Container von Referenzen auf Resourcen Lokalen Resourcen Verbindungen zwischen diesen Resourcen Metainformationen (wie Titel des Links oder Verhaltensanweisungen) Link

10 XLink - Martin Klossek10 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

11 XLink - Martin Klossek11 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

12 XLink - Martin Klossek12 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 ) in XML-Syntax (natürlich ) 1

13 XLink - Martin Klossek13 XLink - Syntax Um eXtensible gerecht zu werden: XLink definiert keine XML-Elemente, sondern globale Attribute in einem Namespace Beispiel 2

14 XLink - Martin Klossek14 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

15 XLink - Martin Klossek15 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

16 XLink - Martin Klossek16 XLink - Syntax Beispiel Von TOC zum Chapter toc.xml #chap1 chap1.xml link third-party 3

17 XLink - Martin Klossek17 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

18 XLink - Martin Klossek18 XLink - Syntax Klicken Sie hier Klicken Sie hier a outbound entsprechend auch inbound, z. B. für Einbettungen wie bei 4 Beispiel

19 XLink - Martin Klossek19 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

20 XLink - Martin Klossek20 Anwendungsbeispiel Anforderung Resource Auslieferung Resource mit Linkinformationen Linkbase Resourcen Webserver XLink Processor X x X file.xml Linkinformationen angeforderte Resource

21 XLink - Martin Klossek21 Übersicht 1.Motivation 2.XLink zur Verlinkung 3.XPath zum Adressieren 4.XPointer zum Zeigen 5.Ausblick

22 XLink - Martin Klossek22 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

23 XLink - Martin Klossek23 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

24 XLink - Martin Klossek24 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

25 XLink - Martin Klossek25 XPath - Konzept XPath operiert auf einer Baumrepräsentation der XML-Daten Some Klingon words and phrases amarklor-kalish (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). cheb (n) unit weight approx. 5 pounds (2.25kg) gheb (n) horn (musical instrument) nuqDaq 'oH puchpa''e' 'Where is thebathroom?'

26 XLink - Martin Klossek26 XPath - Konzept doc headbody titlepppp root Some Klingon words and phrases gheb b (n) horn... Wurzelknoten Elemente Attribute Texte Namespace PIs Kommentare Knotentypen

27 XLink - Martin Klossek27 XPath - Konzept Ein beispielhafter XPath-Ausdruck auf diesen Daten würde die Subresource liefern (den 2. Absatz) /doc/body/p[2] cheb (n) unit weight approx. 5 pounds (2.25kg) Beispiel

28 XLink - Martin Klossek28 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

29 XLink - Martin Klossek29 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

30 XLink - Martin Klossek30 XPath - Syntax Am Beispiel /doc/body/p[2] Start- Kontext Kontext 2 Kontext 3 End- kontext /doc/body/p[2] body/p[2] p[2] Kontext- knoten=root Kontext- knoten=doc Kontext- knoten=body Kontext- knoten=p[2]

31 XLink - Martin Klossek31 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

32 XLink - Martin Klossek32 XPath - Syntax acticle headerparagraphs titlep pname root click here a martin abstractauthor text href=... words self descendants ascendants vertikale Achse horizontale Achse following preceding

33 XLink - Martin Klossek33 XPath - Syntax Axis : Beispiele Beispiel descendant::a[self::text()=click here] child::a[attribute::href=...] /descendant::p /child::article/child::author/child::name

34 XLink - Martin Klossek34 XPath - Syntax NodeTest : die Knoten in der Achse werden mit NodeTest gefiltert node()* typnamespace[:typ] text()comment() processing- instructin[name] DT = Defaulttyp! DT

35 XLink - Martin Klossek35 XPath - Syntax NodeTest : Beispiele Beispiel child::text() /descendant::loc/attribute::xlink:label

36 XLink - Martin Klossek36 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 ]

37 XLink - Martin Klossek37 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

38 XLink - Martin Klossek38 XPath - Syntax Darüberhinaus verfügt XPath über eine umfangreiche Funktions- bibliothek, beispielsweise string concat ( string, string, string* ) number last () number floor ( number )...

39 XLink - Martin Klossek39 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)

40 XLink - Martin Klossek40 Übersicht 1.Motivation 2.XLink zur Verlinkung 3.XPath zum Adressieren 4.XPointer zum Zeigen 5.Ausblick

41 XLink - Martin Klossek41 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

42 XLink - Martin Klossek42 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

43 XLink - Martin Klossek43 XPointer - Syntax XPointer sehen Anchors in HTML ähnlich: Klicken Sie hier für Absatz 2 article1.xml#xpointer(/doc/body/p[2]) Dokumentname#xpointerXPointer-Ausdruck

44 XLink - Martin Klossek44 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)

45 XLink - Martin Klossek45 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

46 XLink - Martin Klossek46 XPointer - Syntax Entsprechend auch eine Reihe neuer Funktionen für range und point Ein Beispieltext. Text in einem anderen Paragraphen. Text in einem Unterlement. Und weitere Text. Beispiel xpointer(range(string-range(//*,'anderen')))

47 XLink - Martin Klossek47 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 ()

48 XLink - Martin Klossek48 XPointer - Syntax Es geht aber auch einfacher! mit bare names Ein Beispieltext. article1.xml#text1 Dokumentnamebare name = id des referenzierten Elements - Damit greift man - direkt wie bei HTML- Anchors - auf Elemente mit der ID=bare name zu! Beispiel

49 XLink - Martin Klossek49 XPointer - Syntax Kindersequenzen ( child sequences ) Text in einem anderen Paragraphen. Text in einem Unterlement. article1.xml/1/2/3 Dokumentnamechildsequence = 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

50 XLink - Martin Klossek50 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

51 XLink - Martin Klossek51 Übersicht 1.Motivation 2.XLink zur Verlinkung 3.XPath zum Adressieren 4.XPointer zum Zeigen 5.Ausblick

52 XLink - Martin Klossek52 Ausblick W3C XML Pointer, XML Base and XML Linking XLink: Recommendation seit XPath: Recommendation seit , 2.0 in Arbeit XPointer: Candidate Recommendation seit

53 XLink - Martin Klossek53 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

54 XLink - Martin Klossek54 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... ?

55 XLink - Martin Klossek55 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.

56 XLink - Martin Klossek56 Kontakt Kontakt: Folien und Ausarbeitung in verschiedenen Formaten unter Hauptstudium/seminare/xml/list.php3

57 XLink - Martin Klossek57 Das wars


Herunterladen ppt "30.11.2001 - Martin Klossek Seminar XML: Datenrepräsentation und Abfragesprachen - WS2001/2002."

Ähnliche Präsentationen


Google-Anzeigen