Derniers tutoriels de développement web
 

XML XLink et XPointer


XLink est utilisé pour créer des liens hypertexte dans des documents XML.


XPath
  • XLink est utilisé pour créer des hyperliens dans les documents XML
  • Tout élément dans un document XML peut se comporter comme un lien
  • Avec XLink, les liens peuvent être définis en dehors des fichiers liés
  • XLink est une recommandation du W3C

Support du navigateur XLink

Il n'y a pas de support du navigateur pour XLink dans les documents XML. Cependant, tous les principaux navigateurs supportent XLinks en SVG .


XLink Syntaxe

En HTML, le <a> élément définit un lien hypertexte. Cependant, ce n'est pas comment cela fonctionne en XML. Dans les documents XML, vous pouvez utiliser ce que l'élément noms que vous voulez - il est donc impossible pour les navigateurs de prédire ce lien éléments seront appelé dans des documents XML.

Voici un exemple simple de la façon 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="http://www.w3ii.com">Visit w3ii</homepage>
  <homepage xlink:type="simple" xlink:href="http://www.w3.org">Visit W3C</homepage>
</homepages>

Pour avoir accès aux fonctionnalités XLink, nous devons déclarer l'espace de noms XLink. L'espace de noms XLink est: "http://www.w3.org/1999/xlink" .

Le xlink: Type et xlink:href attributs dans le <homepage> éléments proviennent de l'espace de noms XLink.

Le xlink: type = "simple" crée simple "HTML-like" lien (signifie "cliquez ici pour y aller").

Le xlink:href attribut spécifie l'URL à lier.


XLink Exemple

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="Harry Potter">
  <description
  xlink:type="simple"
  xlink:href="/images/HPotter.gif"
  xlink:show="new">
  As his fifth year at Hogwarts School of Witchcraft and
  Wizardry approaches, 15-year-old Harry Potter is.......
  </description>
</book>

<book title="XQuery Kick Start">
  <description
  xlink:type="simple"
  xlink:href="/images/XQuery.gif"
  xlink:show="new">
  XQuery Kick Start delivers a concise introduction
  to the XQuery standard.......
  </description>
</book>

</bookstore>

Exemple expliqué:

  • L'espace de noms XLink est déclaré au haut du document (xmlns:xlink="http://www.w3.org/1999/xlink")
  • Le xlink: type = "simple" crée simple "HTML-like" lien
  • Le xlink:href attribut spécifie l'URL pour vous reliez à (dans ce cas - une image)
  • Le xlink: show = "new" précise que le lien doit ouvrir dans une nouvelle fenêtre

XLink - Aller plus loin

Dans l'exemple ci-dessus, nous avons démontré XLinks simples. XLink devient plus intéressante lorsque vous accédez à des endroits éloignés comme des ressources, au lieu de pages autonomes.

Si nous mettons la valeur du xlink:show attribuent à "embed" , la ressource liée doit être traitée en ligne dans la page. Quand vous considérez que cela pourrait être un autre document XML, vous pouvez, par exemple, construire une hiérarchie de documents XML.

Vous pouvez également spécifier si la ressource doit apparaître, avec le xlink:actuate attribut.


XLink Attribut Référence

Attribut Valeur La description
xlink:actuateonLoad
onRequest
other
none
Définit si la ressource liée est lu et affiché:
  • onLoad - la ressource doit être chargé et affiché lorsque les charges de documents
  • onRequest - la ressource ne soit pas lu ou affiché avant que le lien est cliqué
xlink:href URL Indique l'URL pour créer un lien vers
xlink:showembed
new
replace
other
none
Indique où ouvrir le lien. Par défaut est "replace"
xlink:typesimple
extended
locator
arc
resource
title
none
Indique le type de lien

XPointer

XPath
  • XPointer permet des liens pour pointer vers des parties spécifiques d'un document XML
  • XPointer utilise des expressions XPath pour naviguer dans le document XML
  • XPointer est une recommandation du W3C

Support du navigateur XPointer

Il n'y a pas de support du navigateur pour XPointer. Mais XPointer est utilisé dans d'autres langages XML.


XPointer Exemple

Dans cet exemple, nous allons utiliser XPointer en conjonction avec XLink pour pointer vers une partie spécifique d'un autre document.

Nous allons commencer par regarder le document XML cible (le document que nous liez):

<?xml version="1.0" encoding="UTF-8"?>

<dogbreeds>

<dog breed="Rottweiler" id="Rottweiler">
  <picture url="http://dog.com/rottweiler.gif" />
  <history>The Rottweiler's ancestors were probably Roman
  drover dogs.....</history>
  <temperament>Confident, bold, alert and imposing, the Rottweiler
  is a popular choice for its ability to protect....</temperament>
</dog>

<dog breed="FCRetriever" id="FCRetriever">
  <picture url="http://dog.com/fcretriever.gif" />
  <history>One of the earliest uses of retrieving dogs was to
  help fishermen retrieve fish from the water....</history>
  <temperament>The flat-coated retriever is a sweet, exuberant,
  lively dog that loves to play and retrieve....</temperament>
</dog>

</dogbreeds>

Notez que le document XML ci-dessus utilise les attributs id sur chaque élément!

Ainsi, au lieu de se lier à l'ensemble du document (as with XLink) , XPointer vous permet d'accéder à des parties spécifiques du document. Pour créer un lien vers une partie spécifique d'une page, ajoutez un signe dièse (#) et une expression de XPointer après l'URL dans le xlink:href attribut, comme ceci: xlink: href = "http://dog.com/dogbreeds.xml #xpointer (id ( 'Rottweiler')) ". L'expression fait référence à l'élément dans le document cible, la valeur id de "Rottweiler" .

XPointer permet également à une méthode abrégée pour relier à un élément avec un id. Vous pouvez utiliser la valeur de l'identifiant directement, comme ceci: xlink: href = "http://dog.com/dogbreeds.xml#Rottweiler".

Le document XML suivant contient des liens vers plus d'informations de la race de chien pour chacun de mes chiens:

<?xml version="1.0" encoding="UTF-8"?>

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

<mydog>
  <description>
  Anton is my favorite dog. He has won a lot of.....
  </description>
  <fact xlink:type="simple" xlink:href="http://dog.com/dogbreeds.xml#Rottweiler">
  Fact about Rottweiler
  </fact>
</mydog>

<mydog>
  <description>
  Pluto is the sweetest dog on earth......
  </description>
  <fact xlink:type="simple" xlink:href="http://dog.com/dogbreeds.xml#FCRetriever">
  Fact about flat-coated Retriever
  </fact>
</mydog>

</mydogs>