XML, XLink et XQuery
- Page précédente XML XQuery
- Page suivante Validateur XML
XLink est utilisé pour créer des hyperliens dans les documents XML
XPath
- XLink est utilisé pour créer des hyperliens dans les documents XML
- Tous les éléments peuvent agir en tant que lien dans un document XML
- Grâce à XLink, il est possible de définir des liens en dehors du fichier lié
- XLink est une norme recommandée par le W3C
Support des navigateurs XLink
Les navigateurs ne supportent pas XLink dans les documents XML.
Cependant, tous les navigateurs mainstream le supportent XLink dans SVG.
Grammaire XLink
Dans HTML, l'élément <a> définit un hyperlien. Cependant, ce n'est pas son mode de fonctionnement dans XML.
Dans un document XML, vous pouvez utiliser n'importe quel nom d'élément que vous souhaitez - donc le navigateur ne peut pas prédire quels éléments de lien seront appelés dans le document XML.
Voici un exemple simple de la manière d'utiliser XLink pour créer des liens dans un document XML :
<?xml version="1.0" encoding="UTF-8"?> <homepages xmlns:xlink="http://www.w3.org/1999/xlink"> <homepage xlink:type="simple" xlink:href="https://www.codew3c.com">Visitez CodeW3C.com</homepage> <homepage xlink:type="simple" xlink:href="http://www.w3.org">Visitez W3C</homepage> </homepages>
Si nous devons accéder aux fonctionnalités XLink, nous devons déclarer l'espace de nom XLink. L'espace de nom XLink est : "http://www.w3.org/1999/xlink".
Les attributs xlink:type et xlink:href dans l'élément <homepage> viennent de cette espace de nom XLink.
xlink:type="simple" crée un lien "similaire à HTML" (ce qui signifie "cliquez ici pour aller ailleurs").
L'attribut xlink:href spécifie l'URL à laquelle il faut se connecter.
Exemple d'XLink
Le document XML suivant contient des fonctionnalités XLink :
<?xml version="1.0" encoding="UTF-8"?> <bookstore xmlns:xlink="http://www.w3.org/1999/xlink"> <book title="Discours sur la cuisine dans le petit pavillon"> <description xlink:type="simple" xlink:href="/images/cswd.jpg" xlink:show="new"> Le "Discours sur la cuisine dans le petit pavillon" est considéré comme le guide de la cuisine de Chaozhou, qui fournit aux amateurs de cuisine et aux chasseurs de saveurs les conseils et l'aide nécessaires; Ce livre peut également être considéré comme un ouvrage humain sur la cuisine de Chaozhou, dans lequel sont présentées la cuisine de Chaozhou et non la consommation de Chaozhou, en extraçant et en révélant pleinement la culture rurale, les habitudes alimentaires et les détails historiques cachés derrière les aliments. </description> </book> <book title="Le père renard extraordinaire"> <description xlink:type="simple" xlink:href="/images/mrfox.jpg" xlink:show="new"> Boghis, Bangs et Ben sont les personnes les plus mesquines et les plus mesquines que vous puissiez rencontrer, ils haïssent le Monsieur Renard et ont décidé de supprimer toute sa famille. Alors, ces trois hommes armés attendaient secrètement à l'extérieur de la grotte du Monsieur Renard... Mais le Monsieur Renard avait des plans pour les contrer ! Alors, un affrontement entre intelligence et force a commencé... </description> </book> </bookstore>
Exemple d'explication :
- L'espace de noms XLink est déclaré en haut du document (xmlns:xlink="http://www.w3.org/1999/xlink")
- xlink:type="simple" crée un lien "similaire à HTML"
- L'attribut xlink:href spécifie l'URL à lier (dans cet exemple, il s'agit d'une image)
- xlink:show="new" indique que le lien doit s'ouvrir dans une nouvelle fenêtre
XLink - Aller plus loin
Dans l'exemple ci-dessus, nous avons démontré un XLink simple.
Si nous utilisons une position distante comme ressource au lieu d'accéder à une page indépendante, XLink devient plus intéressant.
Si nous mettons la valeur de l'attribut xlink:show à "embed", la ressource liée sera traitée en ligne dans la page. Par exemple, si vous pensez que cela pourrait être un autre document XML, vous pouvez construire une hiérarchie de document XML.
Vous pouvez également utiliser l'attribut xlink:actuate pour spécifier le moment où la ressource doit apparaître.
Référence des attributs XLink
Attribut Valeur Description xlink:actuate onLoad onRequest other none Définir quand lire et afficher les ressources liées : onLoad - Les ressources doivent être chargées et affichées au moment du chargement du document onRequest - La ressource ne sera pas lue ou affichée avant de cliquer sur le lien xlink:href URL Définit l'URL à laquelle le lien doit pointer. xlink:show embed new replace other none Définit où ouvrir le lien. Le réglage par défaut est "replace". xlink:type simple extended locator arc resource title none Définit le type de lien.XPointer
XPath- XPointer permet aux liens de pointer vers une partie spécifique d'un document XML
- XPointer utilise des expressions XPath pour naviguer dans un document XML
- XPointer est une norme recommandée par le W3C
Support du navigateur XPointer
Aucun navigateur ne prend en charge XPointer. Mais XPointer est également utilisé dans d'autres langages XML.
Exemple de XPointer
Dans cet exemple, nous utiliserons à la fois XPointer et XLink pour pointer vers une partie spécifique d'un autre document.
Nous allons d'abord examiner ce document XML cible (le document auquel nous nous connectons) :
<?xml version="1.0" encoding="UTF-8"?> <dogbreeds> <dog breed="Rottweiler" id="Rottweiler"> <picture url="https://dog.com/rottweiler.gif" /> <history>Les ancêtres du Rottweiler étaient probablement romains chiens de berger.....</history> <temperament>Confiant, audacieux, alerte et impressionnant, le Rottweiler est un choix populaire pour sa capacité à protéger....</temperament> </dog> <dog breed="FCRetriever" id="FCRetriever"> <picture url="https://dog.com/fcretriever.gif" /> <history>Une des premières utilisations des chiens de recherche était de aider les pêcheurs à récupérer des poissons de l'eau....</history> <temperament>Le retriever à poils plats est doux, exubérant, chien vivant qui aime jouer et ramasser....</temperament> </dog> </dogbreeds>
Veuillez noter que le document XML mentionné utilise l'attribut id sur chaque élément !
Par conséquent, XPointer vous permet de lier à une partie spécifique du document, plutôt que de lier à l'ensemble du document (comme XLink).
Pour lier à une partie spécifique de la page, ajoutez un dièse (#) et l'expression XPointer à la fin de l'URL xlink:href, comme suit :
xlink:href="https://dog.com/dogbreeds.xml#xpointer(id('Rottweiler'))"Cette expression fait référence à l'élément dans le document cible qui a une valeur d'id "Rottweiler".
xlink:href="https://dog.com/dogbreeds.xml #xpointer(id('Rottweiler'))"。XPointer permet également d'utiliser des abréviations pour lier à des éléments avec un id. Vous pouvez utiliser directement la valeur de l'id, comme suit :
xlink:href="https://dog.com/dogbreeds.xml#RottweilerLe document XML suivant contient des liens vers des informations supplémentaires sur chaque race de chien :
<?xml version="1.0" encoding="UTF-8"?> <mydogs xmlns:xlink="http://www.w3.org/1999/xlink"> <mydog> <description> Anton est mon chien préféré. Il a gagné beaucoup..... </description> <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#Rottweiler"> Vérité sur le Rottweiler </fact> </mydog> <mydog> <description> Pluto est le chien le plus doux sur Terre...... </description> <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#FCRetriever"> Fait sur le Retriever à poils plats </fact> </mydog> </mydogs>
- Page précédente XML XQuery
- Page suivante Validateur XML