XLink est utilisé pour créer des liens hypertexte dans des documents XML.
|
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:actuate | onLoad onRequest other none | Définit si la ressource liée est lu et affiché:
|
xlink:href | URL | Indique l'URL pour créer un lien vers |
xlink:show | embed new replace other none | Indique où ouvrir le lien. Par défaut est "replace" |
xlink:type | simple extended locator arc resource title none | Indique le type de lien |
XPointer
|
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>