Cette spécification a pour objectif de définir, dans un document XML, un chemin de base pour interpréter, de façon relative, toutes les URI contenues dans le document.
Avec XML Base, un nouvel attribut peut être ajouté à n'importe quel noeud d'un document XML : xml:base. La valeur de cet attribut contient une adresse (par exemple, http://mutu-xml.org/database), qui sera ensuite ajoutée à toutes les URI contenues dans le noeud.
Exemple
<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xml:base="http://mutu-xml.org/database"
<head>
<title>Essai d'XML Base<title>
</head>
<body>
<p>Voir <a href="nouveautes.html">les nouveautés</a></p>
<p>Pour en savoir plus :</p>
<ul xml:base="http://mutu-xml.org/database/glossaire">
<p>Voir <a href="index.html">l'index du glossaire</a></p>
<p>Voir <a href="acteurs.html">l'index des acteurs</a></p>
</ul>
</body>
</html>
Dans cet exemple, la référence à nouveautes.html sera comprise comme étant l'URI : http://mutu-xml.org/database/nouveautes.html, du fait de l'utilisation de xml:base dans l'élément parent html. En revanche, les deux références suivantes seront traduites respectivement en http://mutu-xml.org/database/glossaire/index.html et en http://mutu-xml.org/database/glossaire/acteurs.html, du fait de la nouvelle déclaration xml:base dans l'élément ul.
Limites
Ce principe de fonctionnement est extrêmement intéressant, dès lors que les applications ont la connaissance des attributs, ou contenus textuels d'éléments, qui, potentiellement, représentent des URI. Avec les Schema, pas de problèmes, car la spécification sur les types de données reconnait les notions d'URL (voir [ recommandation XML Schema Part 2: Datatypes]). En revanche, cette notion n'étant pas explicite dans la grammaire des DTD, l'ensemble de cette interprétation devra être codée directement dans les programmes.
XPointer, XML Base, XML Linking. XML Linking Language (XLink) (W3C) Point du W3C Architecture Domain |
|