XLink

Klippstein IT Service

Aus 4webmaster.de

Wechseln zu: Navigation, Suche

XLink ist vielleicht der zukünftige Standard für Hyperlinks im WWW. Auf Basis von XML-Attributen lassen sich Links definieren, die mehr Möglichkeiten bieten als das a-Element aus HTML. Zusätzlich zu den Möglichkeiten normaler Links kann XLink Dokumente auch beidseitig verbinden — herkömmliche Links gehen immer nur in eine Richtung, für die Rückrichtung wird ein weiterer Link benötigt.

Außerdem können mit XLink auch multidirektionale Verbindungen geknüpft werden (unterschiedliche Wege zwischen beliebig vielen XML-Dokumenten). Die Dokumente, auf welche ein XLink zeigt, müssen keine XML-Dokumente sein.

Das W3C hat XLink spezifiziert und gibt ihm ausdrücklich den Vorzug gegenüber anderen Verfahren. Die Implementierung ist bislang bestenfalls zögerlich. Der IE unterstützt XLink in 2007 gar nicht, Firefox immerhin in ersten Ansätzen.

xlink-Namensraum definieren

XLinks können in XML-Elemente mit beliebigen Elementnamen eingebaut werden. Dazu werden dem zu verlinkenden Element bestimmte XML-Attribute des xlink-Namensraums hinzugefügt. Der xlink-Namensraum ist http://www.w3.org/1999/xlink, er wird normalerweise an das Präfix xlink gebunden. Im Falle von HTML kann das so aussehen:

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

Jetzt lassen sich die xlink-Attribute verwenden.

Einfache XLinks verwenden

Einfache XLinks können in einem beliebigen Element stehen und werden durch folgende Attribute beschrieben:

xlink:type Einfache XLinks werden durch die Attributzuweisung xlink:type="simple" erklärt.
xlink:href Den eigentlichen Verweis enthält das Attribut xlink:href="Verweis", wobei Verweis durch eine URI zu ersetzen ist. Diese URI darf auch einen XPointer-Ausdruck für dokumentinterne Verweise enthalten.

Die folgenden Beispiele gehen davon aus, das das Präfix xlink: bereits an den XLink-Namensraum gebunden wurde, siehe voriges Kapitel.

<element1 xlink:type="simple" 
          xlink:href="http://4webmaster.de">Beispiellink</element1>

Optional sind die folgenden Attribute:

xlink:title enthält einen benutzerfreundlichen Titel für den Verweis, der z.B. als Mouseover / Tooltip angezeigt werden kann.
xlink:show legt fest, wie der Verweis angezeigt werden soll. Erlaubt sind die Werte new, replace, embed, other, none.
xlink:actuate legt fest, wann der Verweis verfolgt werden soll. Erlaubt sind die Werte onLoad, onRequest, other, none.
xlink:role beschreibt die Bedeutung der Links zueinander. Dieses Attribut enthält eine URI, welche die entfernte Ressource kommentiert oder erklärt.
xlink:arcrole ist von der Semantik identisch mit xlink:role, beschreibt jedoch Bogenelemente, die kein xlink:role-Attribut aufnehmen können. Das Attribut enthält eine absolute URI, die auf eine Beschreibung der Ressource verweist. Diese Ressource kennzeichnet die Beziehung, die der Bogen beschreibt.

Beispiel:

<element2 xlink:type="simple"
          xlink:href="user.xml"
          xlink:role="http://www.example.com/list/userlist.xml"
          xlink:title="User List">Current List of Users</element2>

Erweiterte XLinks

Erweiterte XLinks bieten Möglichkeiten für bi- und multidirektionale Verweise sowie Verweise auf Verweise. Anders als bei den einfachen XLinks sind hierfür mehrere Elemente nötig:

  • ein Element mit dem Attribut xlink:type="extended" bildet quasi den Rahmen des erweiterten XLinks. Es darf außer einem xlink:title das o.g. Attribut xlink:role tragen.

Die Funktionalität des so deklarierten komplexen XLinks wird in Unterelementen festgelegt, die wieder beliebig benannt werden können und die mit folgenden Attributen zu XLink-Bestandteilen werden:

  • mit xlink:type="locator" attributierte Elemente müssen als weiteres Attribut xlink:href="URI" enthalten, wobei URI durch einen Uniform Resource Identifier zu ersetzen ist. Sinnvollerweise gibt man auch ein Attribut xlink:label an und damit einen Namen der den erklärten URI repräsentiert.
  • xlink:type="resource" fügt Ressourcen ein, die innerhalb des Dokumentes referenziert werden können. Damit diese Ressourcen überhaupt von anderen Links angesprochen werden können, ist die Angabe eines xlink:label-Attributes nötig.

Man hat bis hierhin noch keine eigentlichen Verweise, sondern dokumentinterne und -externe URIs, die jeweils durch ein Label repräsentiert werden. Diese setzt man nun mit (einem) weiteren Unterelement(en) des Elements mit xlink:type="extended" zueinander in Beziehung:

  • ein mit xlink:type="arc" attributiertes Element enthält sinnvollerweise folgende Attribute: xlink:from="..." und xlink:to="...", wobei die zuvor definierten Label verwendet werden. Optional sind die bereits erläuterten Attribute xlink:title, xlink:show, xlink:actuate, xlink:arcrole

Beispiel:

<mehrfachlink xmlns:xlink="http://www.w3.org/1999/xlink"
           xlink:type="extended">
    <start xlink:type="resource"
           xlink:label="start"
           xlink:title="Hier klicken"/>
     <ziel xlink:type="locator"
           xlink:href="http://en.wikipedia.org"
           xlink:label="wikipedia"/>
     <ziel xlink:type="locator"
           xlink:href="http://de.wikipedia.org"
           xlink:label="wikipedia"/>
     <pfad xlink:type="arc"
           xlink:from="start"
           xlink:to="wikipedia"/>
 </mehrfachlink>

Siehe auch

Weblinks





Dieser Artikel basiert auf dem Artikel XLink_(Syntax) aus der freien Enzyklopädie Wikipedia. Er steht unter der GNU-Lizenz für freie Dokumentation. In diesem Wiki und / oder der Wikipedia ist eine Liste der Autoren verfügbar.


Unformatierten Text hier einfügen

Persönliche Werkzeuge