XLink
Aus 4webmaster.de
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 einemxlink:titledas o.g. Attributxlink:roletragen.
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 Attributxlink:href="URI"enthalten, wobei URI durch einen Uniform Resource Identifier zu ersetzen ist. Sinnvollerweise gibt man auch ein Attributxlink:labelan 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 einesxlink: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="..."undxlink:to="...", wobei die zuvor definierten Label verwendet werden. Optional sind die bereits erläuterten Attributexlink: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
- XLink Spezifikation Version 1.0
- Diplomarbeit XLink und XPointer
- HTMLWorld: XLink
- Jeckle: XML Linking Language (XLink)
- FH Wedel: XLink, XPath, XPointer
- Demo mit XLinks für Mozilla-Browser
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