Kontakt aufnehmen

XLink: Erweiterte Links

Erweiterte Links sind Elementkonstrukte die durch ein Element umschlossen werden das vom XLink-Typ extended 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>

Die so ausgezeichneten Elemente dürfen optional die Attribute 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-Attribut type mit dem Wert resource besitzen. Optional können die folgenden XLink-Attribute hinzugegeben werden:

  • role - entspricht dem role-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 dem name-Attribut eines Radiobuttons in HTML)
  • title - entspricht dem title-Attribut eines einfachen Links und enthält einen Text, der den Titel der Resource darstellt auf die Verwiesen wird.
Beispiel:

<meinLink xlink:type="extended">
 <linkText xlink:type="resource" 
           xlink:role="https://www.example.com/linkText">
   Klick mich
 </linkText>
</meinLink>

Bitte beachten Sie, dass der Inhalt des Elements keine Bedeutung für den Link selbst hat - ein solches Element könnte also auch leer sein.

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="http://www.js-world.de/" 
         xlink:title="JSWorld Startseite" />
</meinLink>

Bitte beachten Sie, dass der Inhalt des Elements keine Bedeutung für den Link selbst hat - ein solches Element könnte also auch leer sein.

Traversierungsregeln festlegen

Um bestimmte Traversierungsregeln für den Verweis festlegen zu können, wird ein beliebiges Kind-Element des erweiterten Links mit dem XLink-Typ arc 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 sind embed (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) oder none (es wird kein näheres Verhalten bestimmt) möglich.
  • actuate - beschreibt, wann der Verweis aktiviert wird. Mögliche Werte sind onRequest (wenn der Benutzer dies veranlagt), onLoad (sobald die Anwendung den Verweis gefunden hat), other (die Anwendung entscheided selbst z.B. durch andere Elemente geleitet) und none (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
Beispiel:

<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="http://www.html-world.de/
                     program/css_1.php" 
         xlink:title="HTMLWorld - CSS Einführung" />
 <extern xlink:type="locator" xlink:label="XHTML"
         xlink:href="http://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>

Da alle Attribute optional sind, kann auch wie beim vierten 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-Typ extended, 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

Stefan Wienströer

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

Cookie-Einstellungen

Helfen Sie dabei, uns noch besser zu machen. Wir nutzen Cookies und ähnliche Technologien, um die Website auf Ihre Bedürfnisse anzupassen. Zur Datenschutzerklärung

Auswahl speichern