540 likes | 669 Vues
Referat XLink/XPointer Martin Iordanidis. Grundidee: Erweiterung der Hypertext-Konzepts: XLinks: adressieren Dokumente oder Teilmengen davon. Grundidee: Erweiterung der Hypertext-Konzepts: XLinks: adressieren Dokumente oder Teilmengen davon.
E N D
Referat XLink/XPointer Martin Iordanidis
Grundidee: Erweiterung der Hypertext-Konzepts: XLinks: adressieren Dokumente oder Teilmengen davon.
Grundidee: Erweiterung der Hypertext-Konzepts: XLinks: adressieren Dokumente oder Teilmengen davon. XPointer: adressieren Positionen oder Bereiche innerhalb von Dokumenten.
1.1 Grundsätzliche Funktionen: Erstellen von Links zwischen Dokumenten
1.1 Grundsätzliche Funktionen: Erstellen von Links zwischen Dokumenten Erstellen von Links zwischenTeilmengen von Dokumenten
1.1 Grundsätzliche Funktionen: Erstellen von Links zwischen Dokumenten Erstellen von Links zwischenTeilmengen von Dokumenten Erstellen von Links innerhalb des lokalen Dokumentes
Status nach W3C: Recommendation seit dem 27. Juni 2001
Vorteile: jedes Element kann ein Link Element werden (nicht nur das <a >-Tag wie in HTML)
Vorteile: jedes Element kann ein Link Element werden (nicht nur das <a >-Tag wie in HTML) extended links können auch von und zu Elementen linken, die sich nicht im lokalen Dokument befinden ausgelagerte Links („out-of-line links“)
Vorteile: jedes Element kann ein Link Element werden (nicht nur das <a >-Tag wie in HTML) extended links können auch von und zu Elementen linken, die sich nicht im lokalen Dokument befinden ausgelagerte Links („out-of-line links“) Sammlungen von Links („Link Bases“), die häufig verwendete Links zentral speichern
Vorteile: jedes Element kann ein Link Element werden (nicht nur das <a >-Tag wie in HTML) extended links können auch von und zu Elementen linken, die sich nicht im lokalen Dokument befinden ausgelagerte Links („out-of-line links“) Sammlungen von Links („Link Bases“), die häufig verwendete Links zentral speichern Beschreiben von Relationen zwischen Dokumenten, ähnlich den Keys in einer RDB.
Zwei Arten von Xlinks: simple links (etwa Entsprechung der HTML-Links)
Zwei Arten von Xlinks: simple links (etwa Entsprechung der HTML-Links) extended links (komplexere Linkmöglichkeiten, komplexere Syntax)
Bsp: <?xml version="1.0" encoding="UTF-8"?> <XSL_Kurs xmlns:xlink="http://www.w3.org/1999/xlink" <!-- der aktuelle Namespace für den XLink:Standard -->
Bsp: <?xml version="1.0" encoding="UTF-8"?> <XSL_Kurs xmlns:xlink="http://www.w3.org/1999/xlink" <!-- der aktuelle Namespace für den XLink:Standard --> xlink:type="simple" <!---ein einfacher unidirektionaler Link, wie man ihn von HTML kennt-->
Bsp: <?xml version="1.0" encoding="UTF-8"?> <XSL_Kurs xmlns:xlink="http://www.w3.org/1999/xlink" <!-- der aktuelle Namespace für den XLink:Standard --> xlink:type="simple" <!---ein einfacher unidirektionaler Link, wie man ihn von HTML kennt--> xlink:show="new" <!-- öffne für diesen Link ein neues Fenster-->
Bsp: <?xml version="1.0" encoding="UTF-8"?> <XSL_Kurs xmlns:xlink="http://www.w3.org/1999/xlink" <!-- der aktuelle Namespace für den XLink:Standard --> xlink:type="simple" <!---ein einfacher unidirektionaler Link, wie man ihn von HTML kennt--> xlink:show="new" <!-- öffne für diesen Link ein neues Fenster--> xlink:href="http://www.hki.uni-koeln.de/projekte/Sahle/SS02/uebung02.htm"> <!-- URI des neuen Dokumentes - das muss nicht immer die URL-Syntax sein -->
Bsp: <?xml version="1.0" encoding="UTF-8"?> <XSL_Kurs xmlns:xlink="http://www.w3.org/1999/xlink" <!-- der aktuelle Namespace für den XLink:Standard --> xlink:type="simple" <!---ein einfacher unidirektionaler Link, wie man ihn von HTML kennt--> xlink:show="new" <!-- öffne für diesen Link ein neues Fenster--> xlink:href="http://www.hki.uni-koeln.de/projekte/Sahle/SS02/uebung02.htm"> <!-- URI des neuen Dokumentes - das muss nicht immer die URL-Syntax sein --> Dokumentenerschliessung und Publkation mit XML und verwandten Standards <!—angezeigter Wert des XLink --> </XSL_Kurs>
Problem der Darstellung: Um den gewohnten Linkstyle zu erhalten, muss man z.B. auf Java Script zurückgreifen:
Problem der Darstellung: Um den gewohnten Linkstyle zu erhalten, muss man z.B. auf Java Script zurückgreifen: <LINKxlink:type="simple" href=“ http://www.hki.uni-oeln.de” OnClick=location.href=“><b>HKI Köln</b> </LINK>
1.3.1 Erweiterte Linkfähigkeit extendend XLinks können:
1.3.1 Erweiterte Linkfähigkeit extendend XLinks können: mehrere Zieldokumente (Ressourcen) ansteuern
1.3.1 Erweiterte Linkfähigkeit extendend XLinks können: mehrere Zieldokumente (Ressourcen) ansteuern einzelne Dokumentenmengen (Ressourcen) adressieren
1.3.1 Erweiterte Linkfähigkeit extendend XLinks können: mehrere Zieldokumente (Ressourcen) ansteuern einzelne Dokumentenmengen (Ressourcen) adressieren als Linkbases gespeichert werden
Beispiel In einem extended link können sowohl lokale als auch externe Ressourcen existieren. Das Attribut „type“ nimmt dazu den Wert „locator“ oder “resource“ an:
Beispiel In einem extended link können sowohl lokale als auch externe Ressourcen existieren. Das Attribut „type“ nimmt dazu den Wert „locator“ oder “resource“ an: <?xml version="1.0" encoding="UTF-8"?> <Context_Entwurf xmlns:xlink="http://www.w3.org/1999/xlink"> <!-- der aktuelle Namespace für XLink --> xlink:title="Ein erster Entwurf" <!-- Titel dieses Dokumentes --> xlink:type="extended" <!---ein erweiterter Link--> xlink:show="embed" <!-- bette die neue Ressource in das aktuelle Dokument ein--> <NAME xlink:type="resource"> <!-- gibt an, dass die Resource NAME in dem aktuellen Dokument vorliegt --> Entwurf Version 1.3 </NAME> <DATE xlink:type="resource"> 25.06.2002 <!-- gibt an, dass die Resource DATE in dem aktuellen Dokument vorliegt --> </DATE>
Beispiel In einem extended link können sowohl lokale als auch externe Ressourcen existieren. Das Attribut „type“ nimmt dazu den Wert „locator“ oder “resource“ an: <ARCHIVE> <ARCHIV xlink:type="locator" <!-- gibt an, dass die Resource ARCHIV in einem remote Dokument vorliegt --> xlink:href="http://www.einarchivin_NL.nl"<!-- externe Ressource --> </ARCHIV> <ARCHIV xlink:type="locator" <!-- gibt an, dass die Resource ARCHIV in einem remote Dokument vorliegt --> xlink:href="http://www.einarchivin_D.de"<!-- externe Ressource --> </ARCHIV> <ARCHIV xlink:type="locator"<!-- gibt an, dass die Resource ARCHIV in einem remote Dokument vorliegt --> xlink:href="http://www.einarchivin_FR.fr"<!-- externe Ressource --> </ARCHIV> </ARCHIVE> </Context_Entwurf>
1.3.2 Gerichtete Pfade in XLink Die zwischen Ressourcen möglichen Pfade heißen Arcs. Arc-Elemente besitzen außerdem xlink:from und xlink:to – Elemente, die die Richtung gerichteter Pfade definieren:
1.3.2 Gerichtete Pfade in XLink Die zwischen Ressourcen möglichen Pfade heißen Arcs. Arc-Elemente besitzen außerdem xlink:from und xlink:to – Elemente, die die Richtung gerichteter Pfade definieren: Beispiel: <LOOKUP xlink:type="arc" xlink:from="Context_Entwurf " xlink:to="ARCHIVE" xlink:show="new" xlink:actuate="onRequest"> <!-- warte auf die Reaktion des Users --> </LOOKUP>
1.4 Link Bases Link Bases ermöglichen das Auslagern von Linksammlungen schnelles Updating von Links über viele Dokumente
1.4 Link Bases Link Bases ermöglichen das Auslagern von Linksammlungen schnelles Updating von Links über viele Dokumente <?xml version="1.0" encoding="UTF-8"?> <ARCHIVE xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="extended" xlink:title="ARCHIVE Linkbase"> <ARCHIV xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="locator" xlink:show="embed" xlink:href="http://www.einarchivin_NL.nl"> </ARCHIV> <ARCHIV xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="locator" xlink:show="embed" xlink:href="http://www.einarchivin_D.de"> </ARCHIV> <ARCHIV xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="locator" xlink:show="embed" xlink:href="http://www.einarchivin_FR.fr"> </ARCHIV> </ARCHIVE>
2. XPointer 2.1 Grundlagen XPointer bauen auf die XPath-Spezifikation auf; sie verweisen auf eine bestimmte Position innerhalb eines Dokumentes.
2. XPointer 2.1 Grundlagen XPointer bauen auf die XPath-Spezifikation auf; sie verweisen auf eine bestimmte Position innerhalb eines Dokumentes. Status: Candidate Recommendation seit dem 11. September 2001
2. XPointer O-Ton W3C: “(…) Die Sprache XPointer, die auf der XML Path Language (XPath) aufbaut, unterstützt die Adressierung der internen Strukturen von XML-Dokumenten. Auf der Grundlage unterschiedlicher Eigenschaften, wie beispielsweise Elemente, Attributwerte, Zeicheninhalt und der relativen Positionen, ermöglicht sie seitliche Bewegungen im Dokumentbaum und das Auswählen von dessen internen Bestandteilen.“
2.2 Praxis XPointer sind das „Feintuning“ der Navigation im Dokument. Sie bestehen aus Positionspfaden, deren Schritte durch das Zeichen / getrennt werden – ähnlich wie in XPath. Steuerungslogik für XPointer sind die XPointer-Achsen. Sie geben an: die Suchrichtung
2.2 Praxis XPointer sind das „Feintuning“ der Navigation im Dokument. Sie bestehen aus Positionspfaden, deren Schritte durch das Zeichen / getrennt werden – ähnlich wie in XPath. Steuerungslogik für XPointer sind die XPointer-Achsen. Sie geben an: die Suchrichtung den Ausgangspunkt
2.2 Praxis XPointer sind das „Feintuning“ der Navigation im Dokument. Sie bestehen aus Positionspfaden, deren Schritte durch das Zeichen / getrennt werden – ähnlich wie in XPath. Steuerungslogik für XPointer sind die XPointer-Achsen. Sie geben an: die Suchrichtung den Ausgangspunkt ggf. den Endpunkt
2.2 Praxis XPointer sind das „Feintuning“ der Navigation im Dokument. Sie bestehen aus Positionspfaden, deren Schritte durch das Zeichen / getrennt werden – ähnlich wie in XPath. Steuerungslogik für XPointer sind die XPointer-Achsen. Sie geben an: die Suchrichtung den Ausgangspunkt ggf. den Endpunkt den Scope (Bereich)
2.2.1 Auffinden eines Punktes mit XPointer Maßgeblich für das Auffinden eines Punktes ist der context node und ein index: <trainer> <vorname>Rudi</vorname> <nachname>Völler</nachname> <spitzname>Tante Käthe</spitzname> </trainer>
XPointer-Ausdruck für das Auffinden von Elementen: <trainer> <vorname>Rudi</vorname> <nachname>Völler</nachname> <spitzname>Tante Käthe</spitzname> </trainer> #xpointer(/trainer[3]) container node (=<trainer>) index (=<spitzname>)
XPointer-Ausdruck für das Auffinden von Elementen: <trainer> <vorname>Rudi</vorname> <nachname>Völler</nachname> <spitzname>Tante Käthe</spitzname> hier </trainer> #xpointer(/trainer[3]) container node (=<trainer>) index (=<spitzname>)
XPointer-Ausdruck für das Auffinden von PCDATA: <trainer> <vorname>Rudi</vorname> <nachname>Völler</nachname> <spitzname>Tante Käthe</spitzname> </trainer> #xpointer(/trainer/spitzname/text()[8]) container node (=<spitzname>) index (8. Zeichen== ‚ä’)