Referat XLink/XPointer Martin Iordanidis

Preview:

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Referat XLink/XPointerMartin 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. XLink

1.1 Grundsätzliche Funktionen: 

Erstellen von Links zwischen Dokumenten

1.1 Grundsätzliche Funktionen: 

Erstellen von Links zwischen Dokumenten

Erstellen von Links zwischen Teilmengen von Dokumenten

1.1 Grundsätzliche Funktionen: 

Erstellen von Links zwischen Dokumenten

Erstellen von Links zwischen Teilmengen 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)

1.2 Simple links

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 Extended links

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

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

1.4 Link Bases

Link Bases ermöglichen das Auslagern von Linksammlungenschnelles Updating von Links über viele Dokumente

1.4 Link Bases

Link Bases ermöglichen das Auslagern von Linksammlungenschnelles 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. 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

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 Suchrichtungden 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 Suchrichtungden Ausgangspunktggf. 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 Suchrichtungden Ausgangspunktggf. den Endpunktden Scope (Bereich)

2.2.1 Auffinden eines Punktes mit XPointer

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== ‚ä’) 

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== ‚ä’) 

2.2.1 Auffinden eines Bereiches mit XPointer

<trainer><vorname>Rudi</vorname><nachname>Völler</nachname><spitzname>Tante Käthe</spitzname>

</trainer>

#xpointer(/trainer/vorname to trainer/spitzname) I

Anfangspunkt I Endpunkt

2.2.1 Auffinden eines Bereiches mit XPointer

Ergebnis dieses ‚Query‘:

<trainer><vorname>Rudi</vorname><nachname>Völler</nachname><spitzname>Tante Käthe</spitzname>

</trainer>

#xpointer(/trainer/vorname to trainer/spitzname) I

Anfangspunkt I Endpunkt

ENDE

Recommended