XLink: Umsetzung


... [ Seminar XML ] ... [ XLink, XPath & XPointer ] ... [ XLink: Anwendung ] ...

Übersicht: XLink Umsetzung


XLink-Elemente

XLink selbst definiert keine Elementnamen, sondern nur globale Attribute. Das bedeutet, daß jedes Element mit den entsprechenden Attributen ein XLink-Element darstellen kann.
Die globalen Attribute liegen im für XLink definierten XML-Namespace [2]

   http://www.w3.org/1999/xlink.

Die von XLink definierten Attribute sind:

   type, href, role, arcrole, title, show, actuate, label, from, to

Ein Element ist XLink-konform, wenn es folgende Bedingungen erfüllt:

Ein gültiges XLink-Element ist daher z. B. wie folgt deklariert (statt "xlink" kann auch ein beliebiger anderer Name als Namespace-Präfix verwendet werden):

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

(Das xlink:-Präfix in diesem Fall bedeutet, daß das Attribut "type" im XML-Namespace "xlink" liegt, der durch den Identifier "http://www.w3.org/1999/xlink" eindeutig definiert ist.)

Über das type-Attribut wird die Art des Elements definiert.
Gültige Werte sind:

   extended, simple, resource, locator, arc, title

Nach oben

Erforderliche Attribute

Je nach Typ des Elements sind weitere XLink-Attribute erlaubt und manchmal sogar erforderlich (X = erforderlich, O = optional, - = nicht erlaubt):

Typ
Attribut
extended simple resource locator arc title
href - O - X - -
role O O O O - -
arcrole - O - - O -
title O O O O O -
show - O - - O -
actuate - O - - O -
label - - O O - -
from - - - - O -
to - - - - O -

Nach oben

extended-Element

Ein Element vom Typ extended ist außer simple das einzige Element, daß einen XLink definieren kann. Alle anderen XLink-Elemente geben lediglich weitere Informationen zum Link an und müssen innerhalb eines extended-Elements auftreten.
Treten solche Elemente nicht innerhalb eines extended-Elements auf, so werden sie einfach ignoriert.

   <link xmlns:xlink="http://www.w3.org/1999/xlink"
         xlink:type="extended">

      ...

   </link>

Nach oben

resource-Element

Ein resource-Element (innerhalb eines extended-Elements) gibt eine lokale Ressource an:

   <hier xlink:type="resource"
         xlink:label="note">2,3</hier>

Die lokale Ressource ist der Inhalt des Elements ("2,3").
Über das label-Attribut kann ein Bezeichner für die Ressource zugeteilt werden.

Nach oben

locator-Element

Ein locator-Element (innerhalb eines extended-Elements) referenziert über das erforderliche href-Attribut eine entfernte Ressource. Das label-Attribut weist wiederum einen Bezeichner zu:

   <dort xlink:type="locator" xlink:href="http://www.fh-wedel.de/"
         xlink:label="fh-home" />

Nach oben

arc-Element

Ein arc-Element definiert einen Arc:

   <arc xlink:type="arc"
        xlink:from="note"
        xlink:to="fh-home"
        xlink:show="replace"
        xlink:actuate="onRequest" />

Die optionalen from- und to-Attribute geben starting und ending-resource über ihr label-Attribut an. Wird ein Label von mehreren Ressourcen verwendet, so werden entsprechend mehrere Links durch den Arc beschrieben.

Das show-Attribut spezifiziert, auf welche Weise das Ziel eines Links angezeigt werden soll. Mögliche Werte sind:

new Das Ziel sollte in einem neuen Fenster dargestellt werden (ähnlich wie <a href=... target=_blank> in HTML [12]).
replace Das Ziel sollte im selben Fenster angezeigt werden (ähnlich wie <a href=... target=_self> in HTML [12]).
embed Das Ziel sollte als Teil der starting-resource angezeigt werden (ähnlich wie <img src=...> in HTML [12])
other Keine spezielle Angabe zur Darstellung, der Browser soll aber nach entsprechenden Informationen im umgebenden Text suchen.
none Keine spezielle Angabe zur Darstellung.

Das actuate-Attribut gibt an, wann das Ziel eines Links geladen werden soll. Mögliche Werte:

onLoad Das Ziel sollte zusammen mit der starting-resource geladen werden (ähnlich wie <img src=...> in HTML [12]).
onRequest Das Ziel sollte geladen werden, wenn der Benutzer es anfordert (z. B. durch Klick, ähnlich wie <a href=...> in HTML [12]).
other Keine spezielle Angabe zum Ladezeitpunkt, der Browser soll aber nach entsprechenden Informationen im umgebenden Text suchen
none Keine spezielle Angabe zum Ladezeitpunkt.

Nach oben

title-Element

Ein title-Element gibt eine Beschreibung für den Link an:

   <titel xlink:type="title">Zur FH Wedel</titel>

Anmerkung: Es besteht auch die Möglichkeit, für jedes Element eine Beschreibung mittels title-Attribut anzugeben; die genaue Verwendung hängt von der Applikation ab.

Nach oben

simple-Element

Ein simple-Element kombiniert die Funktionalität eines extended-Elements mit je einem resource, locator, arc und title-Element.
Die lokale Ressource ist dabei implizit das Link-Element, die entfernte wird über das href-Attribut angegeben. Simple-Links sind immer "outbound" und damit das XML-Äquivalent zu HTML A-Links.
Die folgenden Beispiele haben dieselbe Funktionalität:

   1. <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="extended">

        <hier xlink:type="resource"
              xlink:label="note">
          2,3
        </hier>

        <dort xlink:type="locator"
              xlink:href="http://www.fh-wedel.de/"
              xlink:label="fh-home" />

        <gehe xlink:type="arc"
              xlink:from="note"
              xlink:to="fh-home" />
        <titel xlink:type="title">Zur FH Wedel</titel>

      </link>

   2. <link xmlns:xlink="http://www.w3.org/1999/xlink"
            xlink:type="simple"
            xlink:href="http://www.fh-wedel.de"
            xlink:title="Zur FH Wedel">
        2,3
      </link>

Nach oben

... [ Seminar XML ] ... [ XLink, XPath & XPointer ] ... [ XLink: Anwendung ] ...