La spécification XML Base propose d'affecter à un document XML, une adresse URI (Uniform resource Identifier) utilisée comme base pour l'ensemble des URI relatifs présents dans les atributs xlink:href des éléments liants.
La mise en oeuvre de XML Base s'effectue par l'intermédiaire de l'adjonction à l'élément racine d'un document XML, d'un attribut xml:base, dont la valeur est une adresse URI de base appropriée.
Le préfixe d'espace de noms xml: dépend d'un URI standardisé par le World Wide Web Consortium (W3C).
http://www.w3.org/XML/1998/namespace
L'adresse URI de base se substitue à l'URI du répertoire courant du document, si bien que ce -dernier n'est pas contraint à être placé dans un répertoire précis.
De cette manière, aucune équivoque ne pourrait subsister quant à la localisation des ressources pointées par les liens d'un document, à condition évidemment, que ces ressources soient effectivement accessibles à partir du chemin indiqué.
Le fonctionnement de XML Base peut être apparenté à celui de la balise <base> du langage HTML, définissant également une adresse URL (Uniform Resource Locator) de base pour la page HTML.
Exemple :<?xml version="1.0" standalone="yes"?> <!DOCTYPE magasin [ <!ELEMENT magasin (service+)> <!ATTLIST magasin xmlns:xml CDATA #FIXED "http://www.w3.org/XML/1998/namespace" xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink" xml:base CDATA #REQUIRED> <!ELEMENT service (produit)> <!ATTLIST service code ID #REQUIRED> <!ELEMENT produit (#PCDATA)> <!ATTLIST produit code ID #REQUIRED xlink:type (simple) #FIXED "simple" xlink:href CDATA #REQUIRED xlink:show (new|replace|embed|other|none) #IMPLIED "replace" xlink:actuate (onLoad|OnRequest|other|none) #IMPLIED "onRequest"> ]> <magasin xml:base="http://www.site.com/produit/" xmlns:xlink="http://www.w3.org/1999/xlink"> <service code="A001"> <produit code="4DE205" xlink:href="prod4DE205.xml"> Soupe </produit> <produit code="2TM206" xlink:href="prod2TM206.xml"> Condiment </produit> <produit code="3KJ227" xlink:href="prod3KJ227.xml"> Conserve </produit> </service> <service code="A003"> <produit code="1OU152" xlink:href="prod1OU152.xml"> Lessive </produit> <produit code="8AH070" xlink:href="prod8AH070.xml"> Essui-tout </produit> </service> </magasin> |