Les éléments <xlink:arc> fournissent des règles de traversée entre les ressources participantes d'un lien étendu.

La formulation d'un arc de liens s'applique selon deux méthodes distinctes, soit par l'utilisation de l'élément XLink <xlink:arc>,

<xlink:arc xmlns:xlink="http://www.w3.org/1999/xlink"
                  from="source"
                  to="cible"
                  show="valeur"
                  actuate="valeur"/>

soit par l'insertion de l'attribut XLink xlink:type="arc" dans l'élément récepteur.

  <elt_liaison xmlns:xlink="http://www.w3.org/1999/xlink"
                     xlink:type="arc"
                     from="source"
                     to="cible"
                     show="valeur"
                     actuate="valeur"/>

Un lien étendu <xlink:extended> peut contenir plusieurs éléments de type arc de liens.

L'élément de type d'arc peut avoir n'importe quel contenu, mais se trouve la plupart des cas, en tant qu'élément vide dans les documents XML.

Il ne doit pas exister deux arcs de liens identiques dans un lien étendu.

Les attributs
Attribut Description
xlink:type spécifie le type de l'élément arc de lien, soit arc.
xlink:from indique la source de la traversée.
xlink:to indique la cible de la traversée.
xlink:title affecte un titre à la traversée.
xlink:show détermine le type d'affichage de la ressource cible.
xlink:actuate définit le comportement du lien au moment de son activation.

Si aucune valeur n'est fournie dans les attributs xlink:from et xlink:to, alors toutes les liaisons seront possibles entre les différentes ressources spécifiées dans le lien étendu, car la valeur par défaut est égale à all (tous).

Déclaration dans la DTD

L'utilisation des éléments et attributs XLink nécessite une déclaration préalable dans la Définition de Type de Document (DTD).

Dans le cas de l'utilisation des attributs XLinks directement à l'intérieur de l'élément de type arc de lien, la déclaration prend cette forme :

        <!ELEMENT element EMPTY>
        <!ATTLIST element
           xlink:show (new|replace|embed|other|none) #REQUIRED 'replace'
           xlink:actuate (onLoad|onRequest|other|none) #REQUIRED 'onRequest'
           xlink:from NMTOKEN #IMPLIED
           xlink:to NMTOKEN #IMPLIED
           xlink:title CDATA #IMPLIED
        >

Dans le cas de l'utilisation de l'élément <xlink:arc> et de ses attributs, la déclaration devient :

        <!ELEMENT xlink:arc EMPTY>
        <!ATTLIST xlink:arc
           show (new|replace|embed|other|none) #REQUIRED 'replace'
           actuate (onLoad|onRequest|other|none) #REQUIRED 'onRequest'
           from NMTOKEN #IMPLIED
           to NMTOKEN #IMPLIED
           title CDATA #IMPLIED
        >
Exemple :
<annee_scolaire
             xmlns:xlink="http://www.w3.org/1999/xlink"
             xlink:title="Année scolaire 2001-2002">
   <professeur
      xlink:type="locator"
      xlink:href="http://www.site.com/prof_01-02.xml"
      xlink:role="http://www.site.com/professeur"
      xlink:title="Professeur pour la rentrée 2001-2002"
      xlink:label="prof">
   </professeur>
   <eleve
      xlink:type="locator"
      xlink:href="http://www.site.com/eleve_01-02.xml"
      xlink:role="http://www.site.com/eleve"
      xlink:title="Liste des élèves pour l'année scolaire 2001-2002"
      xlink:label="elev">
   </eleve>
   <cours
      xlink:type="locator"
      xlink:href="http://www.site.com/cours_01-02.xml"
      xlink:role="http://www.site.com/cours"
      xlink:title="Liste des cours pour l'année scolaire 2001-2002"
      xlink:label="cour">
   </cours>
   <xlink:arc from="cour" to="prof"/>
   <xlink:arc from="cour" to="elev"/>
</annee_scolaire>