Problématique

Par défaut, une transformation XSL s'effectue sur un seul fichier XML. Cependant, il peut être parfois utile d'utiliser un autre document XML externe qui peut contenir des références, des traductions, etc.

Solution

Pour utiliser une autre document externe dans un XSL, il suffit d'utiliser la fonction document() :

document(mon_document.xml)/racine

Remarque

L'initialisation de l'utilisation d'un document externe par document(mon_document.xml) n'est pas suffisante car XSL ne sait pas instancier la racine si on ne le lui indique pas. Il faut donc document(mon_document.xml)/racine.

Par exemple :

<xsl:variable name="ConfFile" select="document('graphique1.conf')/Configuration"/>
<xsl:variable name="titre" select="$ConfFile/Titre"/>

Nous avons importé le contenu du fichier de configuration graphique1.conf, dont la racine est Configuration. Ce fichier est importé dans la variable ConfFile qui sera appelée ensuite à chaque fois que nécessaire. Ici, nous récupérons Titre afin de mettre son contenu dans la variable $titre.