XLink: Erweiterte Links
Erweiterte Links sind Elementkonstrukte die durch ein Element umschlossen werden das vom XLink-Typextended
ist. Ein solcher Link wird also durch ein Element mit dem type
-Attribut mit dem Wert extended
eingeleitet. Innerhalb des Elements können dann weitere Elemente folgen, die den Link näher beschreiben. Beispiel: <meinLink xlink:type="extended">
... weitere Definitionen zum erweiterten Link ...
</meinLink>
title
(Text, der den Link im Gesamten beschreibt) und role
(aboluteURIdie den gesamten Link beschreibt) besitzen.Bitte beachten Sie, dass die beschreibenden Elemente innerhalb des erweiternden Links direkte Nachkommen des
extended
-Elements sein müssen. Ein direkter Nachkommen des Elements A
ist sind im folgenden Beispiel die Elemente C
und D
, jedoch nicht B
und E
:
<A>
<C> <B/> </C>
<D><E>...</E></D>
</A>
Lokale Resourcen erstellen
Lokale Resourcen die an dem Verweis teilnehmen, werden durch ein beliebiges Kind-Element des erweiterten Links definiert. Dieses Element muss dazu das XLink-Attributtype
mit dem Wert resource
besitzen. Optional können die folgenden XLink-Attribute hinzugegeben werden:
-
role
- entspricht demrole
-Attribut eines einfachen Links und beschreibt eine absolute URI, unter der eine Beschreibung des Linkziels zu finden ist. -
label
- beschreibt einen Namen unter dem zusammengehörige Resourcen verknüpft werden (vergleichbar mit demname
-Attribut eines Radiobuttons in HTML) -
title
- entspricht demtitle
-Attribut eines einfachen Links und enthält einen Text, der den Titel der Resource darstellt auf die Verwiesen wird.
<meinLink xlink:type="extended">
<linkText xlink:type="resource"
xlink:role="https://www.example.com/linkText">
Klick mich
</linkText>
</meinLink>
Auf externe Resourcen verweisen
Damit es sich bei einem erweiterten Link auch um einen Link im eigentlichen Sinn handelt, sollten eine oder mehrere externe Resourcen beschrieben werden, auf die der Link verweist. Ein solcher Verweis wird durch ein beliebiges Kind-Element beschrieben, welches den XLink-Typ (type
-Attribut) locator
besitzt. Ein solches Element muss ein XLink-href
-Attribut besitzen, welches auf die externe Resource verweist (per absoluter URI). Optional können auch hier die Attribute role
, title
und label
verwendet werden. Beispiel:
<meinLink xlink:type="extended">
<extern xlink:type="locator"
xlink:href="/"
xlink:title="HTMLWorld Startseite" />
<extern xlink:type="locator"
xlink:href="https://www.js-world.de/"
xlink:title="JSWorld Startseite" />
</meinLink>
Traversierungsregeln festlegen
Um bestimmte Traversierungsregeln für den Verweis festlegen zu können, wird ein beliebiges Kind-Element des erweiterten Links mit dem XLink-Typarc
beschrieben (also xlink:type="arc"
). Ein solches Element darf folgende XLink-Attribute besitzen:
-
from
- definiert den Namen der Resource(n) von denen eine Traversierung begonnen werden darf. Die jeweiligen Resourcen müssen dazu mit einem XLink-label
-Attribut ausgestattet sein. -
to
- definiert den Namen der Resource(n) bei denen eine Traversierung enden darf. Auch hier müssen die Resourcen mit dem XLink-label
-Attribut ausgestattet sein. -
show
- beschreibt, wie eine Anwendung den Link verfolgen soll. Als Werte sindembed
(der Inhalt der Resource sollte anstelle des Inhalts des Verweises angezeigt werden),replace
(der Inhalt der Resource sollte anstelle des Inhalts des aktuellen Dokuments angezeigt werden),new
(die Anwendung soll den Inhalt der Resource in einem neuen Kontext anzeigen z.B. in einem neuen Browserfenster),other
(die Anwendung darf selbst entscheiden wie der Link verfolgt wird) odernone
(es wird kein näheres Verhalten bestimmt) möglich. -
actuate
- beschreibt, wann der Verweis aktiviert wird. Mögliche Werte sindonRequest
(wenn der Benutzer dies veranlagt),onLoad
(sobald die Anwendung den Verweis gefunden hat),other
(die Anwendung entscheided selbst z.B. durch andere Elemente geleitet) undnone
(es wird kein näheres Verhalten bestimmt). -
arcrole
- beschreibt die semantische Bedeutung der verknüpften Resourcen -
title
- gibt einen Text wieder, der die Traversierungsregel beschreibt
<meinLink xlink:type="extended">
<extern xlink:type="locator"
xlink:label="Start"
xlink:href="/"
xlink:title="HTMLWorld Startseite" />
<extern xlink:type="locator" xlink:label="HTML"
xlink:href="https://www.example.com/
program/html_1.php"
xlink:title="HTMLWorld - HTML Einführung" />
<extern xlink:type="locator" xlink:label="CSS"
xlink:href="https://www.html-world.de/
program/css_1.php"
xlink:title="HTMLWorld - CSS Einführung" />
<extern xlink:type="locator" xlink:label="XHTML"
xlink:href="https://www.html-world.de/
program/xhtml_1.php"
xlink:title="HTMLWorld - XHTML Einführung" />
<beschreibung xlink:type="arc" xlink:from="Start"
xlink:to="HTML" xlink:show="new" />
<beschreibung xlink:type="arc" xlink:from="Start"
xlink:to="CSS" xlink:show="replace" />
<beschreibung xlink:type="arc" xlink:from="Start"
xlink:to="XHTML" xlink:show="embed" />
<beschreibung xlink:type="arc" xlink:to="Start"
xlink:actuate="onRequest" />
</meinLink>
beschreibung
-Element das from
- oder das to
-Attribut weggelassen werden. Die Beschreibung gilt dann für alle möglichen Traversierungen die von einer der externen Resourcen (xlink:type="locator"
) zu dieser Resource bzw. von dieser Resource zu einder der externen Resourcen gehen. Im Beispiel werden mit dem vierten beschreibung
-Element also die folgenden Traversierungen beschrieben: "HTML zu Start", "CSS zu Start", " XHTML zu Start" und "Start zu Start"Bitte beachten Sie, dass es nicht zwei Elemente in einem erweiterten Link geben darf, die gleiche
from
- und to
-Attribute haben.
Titel angeben
Elemente, die vom XLink-Typextended
, locator
oder arc
sind, dürfen statt des XLink-title
-Attributs auch ein oder mehrere Kind-Elemente vom XLink-Typ title
haben. Damit können einem einzelnen Element mehrere Titel zugewiesen werden. Beispiel:
<meinLink xlink:type="extended">
<text xlink:type="title">Ich bin ein XLink ...</text>
<text xlink:type="title">... mit genau drei ...</text>
<text xlink:type="title">... Titeln ! </text>
</meinLink>
Auf Linkdatenbanken verweisen
Eine Linkdatenbank ist im Prinzip nichts anderes als eine XML-Datei die eine Reihe von (erweiterten) Links beinhaltet die z.B. für den Benutzer evtl. interessant wären oder die zum aktuellen Kontext passen. Um auf eine solche Datenbank hinweisen zu können, definiert XLink spezielle Traversierungsregeln. Dazu wird einem XLink-arc
-Element und dessen arcrole
-Attribut der Wert http://www.w3.org/1999/xlink/properties/linkbase
gegeben. Eine Anwendung die die Datei verarbeitet erkennt daran, dass es sich bei der Resource auf die verwiesen wird, um eine Linkdatenbank handelt und kann entsprechend verfahren. Beispiel:
<meinLink xlink:type="extended">
<extern xlink:type="locator"
xlink:label="Linkbank"
xlink:href="https://www.example.com/linkbank.xml">
<beschreibung xlink:type="arc" xlink:to="Linkbank"
xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
</meinLink>
Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.
Über uns

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project