Plan de la section : |
XLink1. PrésentationUtiliser XML pour mémoriser des données est une approche intéressante et utile. Seulement, les données à manipuler sont parfois très volumineuses, voire sur des serveurs distants, fragmentées. Aussi, le W3C propose un mécanisme inspiré des hyperliens HTML : XLink (http://www.w3.org/XML/Linking). Ce «langage» (en fait une collection d’attributs) permet de mettre en relation une ou plusieurs ressources avec une ou plusieurs autres ressources. Couplé avec XPointer, que nous verrons plus loin, les ressources peuvent être des éléments XML. |
Ce standard permet de mettre en relation plusieurs documents (ou ressources), pas nécessairement en XML [1]. De plus, ces liens sont indépendant des documents mis en relation. XLink est une syntaxe basée sur des attributs XML définis sur l’espace de noms : «http://www.w3.org/1999/xlink».
XLink propose deux versions de liens : les liens simples et les liens étendus. Il permet de représenter : des liens classiques «à la HTML» (liens simples), des tables des matières, des index...
Le lien simple XLink est un ensemble d'attributs permettant de décrire un lien vers une ressource depuis un élément XML quelconque et son utilisation. Cette catégorie de lien est de même type que l'hyperlien HTML. Au minimum, deux attributs sont nécessaires :
Dans l’exemple ci-contre, les parties XLink sont colorées en rouge. Dans l’élément «identité», l’espace de nom XLink est défini et associé au préfixe «xlink». Ensuite, dans les éléments «site-web», l’attribut XLink «href», identifié par le préfixe spécifique, permet de référencer l’URL de ce site Web. |
Il est possible de compléter les attributs précédents par d’autres décrivant le comportement des liens. Ainsi, il existe les deux attributs suivants :
Un lien HTML classique sera : «actuate=‘onRequest’» et «show=‘replace’». Ainsi, l’exemple précédent peut devenir le document XML ci-dessous. D’autres attributs, plus orientés vers la sémantique existent :
XLink propose aussi des liens beaucoup plus complexes. Ici, nul besoin de se trouver «dans» une ressource. Le lien peut être indépendant du document de départ et du document visé. De plus, il permet de décrire une collection de ressources et des chemins entre ces ressources (chemins entre une ou plusieurs ressources). Pour cela, il propose de nouveaux attributs :
L’exemple ci-dessous présente un cas de liens étendus. On y retrouve :
Graphiquement, cet exemple peut donner le schéma ci-dessous. Les flèches en pointillé indiquent les ressources externes. Les flèches pleines sont les liens XLink.
XLink est une extension très intéressante des hyperliens HTML. Couplé à XPointer (voir section suivante), il permet de mettre en relation une parties d'un document avec une autre partie de document. Il peut être intéressant de l'utiliser dans le cadre de bases de données réparties, comme XInclude (voir une prochaine section).
Soit la page du plan du livre "An Introduction to XML and Web Technologies" de Anders Moller et Michael Schwartzbach (Addison Wesley) :
Dans ce livre, la lecture des différents chapitres suit le graphe suivant :
Construire un document XML décrivant ce graphe en utilisant XLink. Proposer plusieurs solutions qui n'utilisent pas nécessairement XLink.