XLink (Syntax)
XLink ist eine attributbasierte Syntax zur Definition von Links in XML-Dokumenten. Ein XLink kann eine Verbindung von einem Punkt A zu einem Punkt B sein (ähnlich dem aus HTML bekannten Hyperlink-Element <a>
). Sie können jedoch auch Dokumente in zwei Richtungen verbinden (das heißt von A nach B und ebenso zurück). Des Weiteren können XLink auch Verbindungen repräsentieren, die multidirektional sind (unterschiedliche Wege zwischen beliebig vielen XML-Dokumenten). Die Dokumente, auf welche ein XLink zeigt, müssen keine XML-Dokumente sein.
XLink ist eine Empfehlung des World Wide Web Consortiums. Trotz zögerlicher Implementierung betrachtet das W3C XLink weiterhin als den zukünftigen Standard für Hyperlinks im WWW und gibt ihm ausdrücklich den Vorzug gegenüber anderen Verfahren wie insbesondere HLink.
XLinks werden in XML-Elemente mit beliebigen Elementnamen eingebaut, indem den Elementen bestimmte XML-Attribute des XML-Namensraums http://www.w3.org/1999/xlink hinzugefügt werden (für gewöhnlich an das Präfix xlink
gebunden).
Einfache XLinks
[Bearbeiten | Quelltext bearbeiten]Einfache XLinks können in einem beliebigen Element stehen und werden durch folgende Attribute beschrieben:
- Sie werden durch die Attributzuweisung
xlink:type="simple"
erklärt. - Den eigentlichen Verweis enthält das Attribut
xlink:href="Verweis"
, wobei Verweis durch einen Uniform Resource Identifier zu ersetzen ist, der definitionsgemäß auch einen XPointer-Ausdruck für dokumentinterne Verweise enthalten darf.
Optional sind die Attribute:
xlink:title
, das einen benutzerfreundlichen Titel des Verweises enthält. Alle Typen von XLink-attributierten Elementen dürfen einxlink:title
-Attribut tragen, auch die unten genannten erweiterten Typen.xlink:show
, das festlegt, wie der Verweis angezeigt werden soll, und das die Wertenew, replace, embed, other, none
annehmen kann.xlink:actuate
, das festlegt, wann der Verweis verfolgt werden soll, und das die WerteonLoad, onRequest, other, none
annehmen kann.xlink:role
, das die Bedeutung der Links zueinander beschreibt. Es enthält einen URI, das die entfernte Ressource kommentiert oder erklärt.xlink:arcrole
, ist von der Semantik identisch mitxlink:role
, beschreibt jedoch Bogenelemente, die keinxlink:role
-Attribut aufnehmen können. Es enthält einen absoluten URI, der auf eine Beschreibung der Ressource verweist. Diese Ressource kennzeichnet die Beziehung, die der Bogen beschreibt.
Erweiterte XLinks
[Bearbeiten | Quelltext bearbeiten]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:title
das o. g. Attributxlink: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"
attribuierte 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: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 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"
attribuiertes 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
Beispiele
[Bearbeiten | Quelltext bearbeiten]<element1 xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:type="simple"
xlink:href="http://www.w3.org/">W3C</element1>
<element2 xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="user.xml"
xlink:type="simple"
xlink:role="http://www.example.com/list/userlist.xml"
xlink:title="User List">Current List of Users</element2>
<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>
Softwareunterstützung
[Bearbeiten | Quelltext bearbeiten]Es folgt eine Übersicht der Unterstützung für die W3C XLink-Empfehlung durch verschiedene Anwendungen.
Firefox
[Bearbeiten | Quelltext bearbeiten]Mozilla Firefox hat begrenzte Unterstützung für simple XLinks. (Stand 20. September 2009)[1]
- Links mit einem
xlink:show="embed"
Attribut funktionieren nicht.
Weitere Browser
[Bearbeiten | Quelltext bearbeiten]Weitere Browser wie Internet Explorer, Opera und Google Chrome werden derzeit noch nicht unterstützt. (Stand 20. September 2009)[1]
Siehe auch
[Bearbeiten | Quelltext bearbeiten]Weblinks
[Bearbeiten | Quelltext bearbeiten]- XLink Spezifikation Version 1.1
- XLink Spezifikation Version 1.0 (deutsch)
- XPath Spezifikation Version 1.0
- XPointer xpointer() Scheme (W3C Working Draft 19 December 2002)
- XPointer Framework
- XPointer element() Scheme
- XPointer-xmlns()-Schema
- XML XPointer Requirements
Tutorials
[Bearbeiten | Quelltext bearbeiten]- HTMLWorld: XLink
- data2type: Einführung zu XLink
- Jeckle: XML Linking Language (XLink)
- FH Wedel: XLink, XPath, XPointer
Anmerkungen und Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ a b XLink Tests. Abgerufen am 20. September 2009 (englisch).