Tutoriel XML

ACCUEIL XML Introduction XML XML Comment utiliser Arbre XML Syntaxe XML Éléments XML Attributs XML Espaces de noms XML Affichage XML Requête HTTP XML Analyseur XML DOM XML XPath XML XML XSLT XQuery XML XMLXLink Validateur XML DTD XML Schéma XML Serveur XML Exemples XML XML Quiz Certificat XML

XMLAJAX

Présentation d'AJAX AJAX XMLHttp Requête AJAX Réponse AJAX Fichier XML AJAX PHP AJAX ASP AJAX Base de données AJAX Applications AJAX Exemples AJAX

DOM XML

Présentation du DOM Nœuds DOM Accès au DOM Informations sur le nœud DOM Liste des nœuds DOM Traversée du DOM Navigation DOM DOM Obtenir des valeurs Nœuds de changement DOM DOM Supprimer les nœuds DOM Remplacer les nœuds DOM Créer des nœuds DOM Ajouter des nœuds Nœuds de clonage DOM Exemples DOM

Tutoriel XPath

Présentation de XPath Nœuds XPath Syntaxe XPath Axes XPath Opérateurs XPath Exemples XPath

Tutoriel XSLT

Présentation de XSLT Langages XSL Transformation XSLT XSLT <modèle> XSLT <valeur-de> XSLT <pour-chaque> XSLT <sort> XSLT <si> XSLT <choisir> Appliquer XSLT XSLT sur le client XSLT sur le serveur XSLT Éditer XML Exemples XSLT

Tutoriel XQuery

Présentation de XQuery Exemple XQuery XQuery FLWOR XQuery HTML Termes XQuery Syntaxe XQuery Ajouter XQuery Sélection XQuery Fonctions XQuery

DTD XML

Présentation de la DTD Blocs de construction DTD Éléments DTD Attributs DTD Éléments DTD vs Attr Entités DTD Exemples de DTD

Schéma XSD

Présentation XSD Comment XSD XSD <schéma> Éléments XSD Attributs XSD Restrictions XSD

Complexe XSD

Éléments XSD XSD vide Éléments XSD uniquement Texte XSD uniquement XSD Mixte Indicateurs XSD XSD <tout> XSD <anyAttribute> Remplacement XSD Exemple XSD

Données XSD

Chaîne XSD Date XSD Numérique XSD Divers XSD Référence XSD

Services Web

Services XML XMLWSDL SAVON XML XML RDF XML RSS

Les références

Types de nœuds DOM Nœud DOM Liste de nœuds DOM DOM NamedNodeMap Documents DOM Élément DOM Attribut DOM Texte DOM DOM CDATA DOM Comment DOM XMLHttpRequest Analyseur DOM Éléments XSLT Fonctions XSLT/XPath

XML , XLink et XPointer


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


XPath
  • XLink est utilisé pour créer des hyperliens dans des documents XML
  • Tout élément d'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

Prise en charge du navigateur XLink

Il n'y a pas de support de navigateur pour XLink dans les documents XML.

Cependant, tous les principaux navigateurs prennent en charge les XLinks en SVG .


Syntaxe XLink

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

Vous trouverez ci-dessous un exemple simple d'utilisation de 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.w3schools.com">Visit W3Schools</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".

Les attributs xlink:type et xlink:href des éléments <homepage> proviennent de l'espace de noms XLink.

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

L'attribut xlink:href spécifie l'URL vers laquelle établir le lien.


Exemple XLink

Le document XML suivant contient les 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é en haut du document (xmlns:xlink="http://www.w3.org/1999/xlink")
  • Le xlink:type="simple" crée un simple lien "de type HTML"
  • L'attribut xlink:href spécifie l'URL à lier (dans ce cas - une image)
  • Le xlink:show="new" spécifie que le lien doit s'ouvrir dans une nouvelle fenêtre


XLink - Aller plus loin

Dans l'exemple ci-dessus, nous avons démontré des XLinks simples. XLink devient plus intéressant lors de l'accès à des emplacements distants en tant que ressources, au lieu de pages autonomes.

Si nous définissons la valeur de l'attribut xlink:show sur "embed", la ressource liée doit être traitée en ligne dans la page. Lorsque vous considérez qu'il peut s'agir d'un autre document XML, vous pouvez, par exemple, créer une hiérarchie de documents XML.

Vous pouvez également spécifier QUAND la ressource doit apparaître, avec l'attribut xlink:actuate.


Référence des attributs XLink

Attribute Value Description
xlink:actuate onLoad
onRequest
other
none
Defines when the linked resource is read and shown:
  • onLoad - the resource should be loaded and shown when the document loads
  • onRequest - the resource is not read or shown before the link is clicked
xlink:href URL Specifies the URL to link to
xlink:show embed
new
replace
other
none
Specifies where to open the link. Default is "replace"
xlink:type simple
extended
locator
arc
resource
title
none
Specifies the type of link

XPointerName

XPath
  • XPointer permet aux liens de 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

Prise en charge du navigateur XPointer

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


Exemple XPointer

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

Nous allons commencer par examiner le document XML cible (le document auquel nous sommes liés) :

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

<dogbreeds>

<dog breed="Rottweiler" id="Rottweiler">
  <picture url="https://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="https://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 des attributs id sur chaque élément !

Ainsi, au lieu de créer un lien vers le document entier (comme avec XLink), XPointer vous permet de créer un lien vers 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 XPointer après l'URL dans l'attribut xlink:href, comme ceci : xlink:href="https://dog.com/dogbreeds.xml #xpointer(id('Rottweiler'))". L'expression fait référence à l'élément dans le document cible, avec la valeur d'id "Rottweiler".

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

Le document XML suivant contient des liens vers plus d'informations sur 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="https://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="https://dog.com/dogbreeds.xml#FCRetriever">
  Fact about flat-coated Retriever
  </fact>
</mydog>

</mydogs>