Introduction à XML - Université de Genève, CUI ©

Groupe VP-GL=>Cours en-ligne=>Introduction à XML=>Plan du cours=>Les liens ...

Les liens en XML

On a vu comment utiliser des balises HTML dans un document XML. Il est donc possible d'avoir (en supposant que le document XML contienne xmlns:html="http://www.w3.org/Profiles/XHTML-transitional):

<html:a href="UneURL">...</html:a>

mais XML offre bien d'autres possibilités bien plus riches: des liens simples qui ressemblent aux liens HTML, tout en offrant une plus grande variété de comportements, et des liens complexes.

Note: la spécification XLink a été redéfinie récemment (21 février 2000). Ce qui suit n'est donc pas encore implanté dans les butineurs.

XLink

Liens simples

document XML avec tous les attributs XLink (code XML correspondant) - code du schéma - code de la feuille de style CSS

document similaire mais qui utilise l'élément <lien> pour mettre un lien sur l'image

Liens étendus

XPointer+XPath

XPath

XPointer

En plus de la notation offerte par XPath, il y a différentes façons de repérer un emplacement au sein d'un document XML:

  1. Quand il s'agit d'un élément complet, avec ses attributs et son contenu:
    • Si  un identificateur est associé à un élément à l'aide de l'attribut ID, on peut y faire référence à l'aide de la notation xpointer(id("UnIdentificateur")), qui peut être abrégée UnIdentificateur.
    • En utilisant la nature hiérarchique d'un document XML, on repère à chaque niveau de la hiérarchie la position (valeur numérique) de l'élément menant à l'emplacement que l'on veut désigner. On sépare chaque niveau par le caractère / et le @ sert à indiquer que ce qui suit est un attribut. L'élément racine est donc désigné par /1. On peut combiner cette notation avec la précédente (identificateurs). Ainsi, UnIdentificateur/3/2@x permet de désigner l'attribut x du deuxième sous-élément du troisième sous-élément de l'élément portant l'identificateur UnIdentificateur.
  2. Quand il s'agit d'un point précis au sein du contenu d'un élément:
    • On utilise la notation vue au point précédent pour repérer un élément, suivie d'un nombre entier positif ou nul entre [], pour repérer un point précis au sein de l'élément en question.
      • Si l'élément désigné a un contenu simple, la valeur doit être comprise dans l'intervalle 0..n (où n est le nombre de caractères du contenu de l'élément désigné); 0 indique le point se trouvant juste avant le premier caractère; une valeur positive i indique le point se trouvant juste après le i-ème caractère.
      • Si l'élément a des sous-éléments, le nombre doit être compris entre 0 et n (où n est le nombre de sous-éléments). 0 indique .le point se trouvant juste avant le premier élément; une valeur positive i indique le point se trouvant juste après le i-ème sous-élément.
  3. Quand il s'agit d'un intervalle compris entre deux points précis:
    • généralement le résultat de l'évaluation d'une fonction. Par exemple:

      xpointer(id("chap1")/range-to(id("chap2")))

      représente le contenu d'un document XML commençant à l'élément dont l'identificateur est chap1 et se terminant à l'élément dont l'identificateur est chap2.

    • les extrémités de l'intervalle ne sont pas nécessairement dans le même élément et l'ntervalle peut très bien ne couvrir que partiellement certains éléments.

Voyons quelques exemples concrets.



Bertrand Ibrahim     

Dernière modification: 28.05.01

Site Hosting: Bronco