Bonjour j'ai une petite incompréhension dans une feuille de style XSL :

J'ai un répertoire avec l'arborescence suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
./launcher.xml
./xml/data.xml
./xsl/style.xsl
Le fichier ./launcher.xml contient le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<?xml version="1.0"?>
<?xml-stylesheet href="xsl/style.xsl" type="text/xsl"?>
 
<launcher>
	<data>xml/data.xml</data>
</launcher>
Le fichier ./xml/data.xml contient le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<?xml version="1.0"?>
<donnee>Voilà mes données</donnee>
Dans le code XSL de ./xsl/style.xsl j'applique la fonction "document" à une chaine de caractère qui est soit chargée à partir du contenu d'une balise, soit écrite en dur dans le XSL :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
<xsl:template match="/launcher">
	<xsl:value-of select="document(data)/donnee"/>
	<!-- resultat : Voilà mes données -->
 
	<xsl:value-of select="document('xml/data.xml')/donnee"/>
	<!-- resultat : (rien) -->
 
	<xsl:value-of select="document('../xml/data.xml')/donnee"/>
	<!-- resultat : Voilà mes données -->
</xsl:template>
Ce que je ne comprends pas c'est :
Pourquoi dois-je spécifier des URL relatives différentes selon que la valeur soit écrite en dur ou chargée à partir d'une balise ?

La question n'a rien de critique mais ce comportement m'intrigue fortement, alors si vous avez la réponse elle m'intéresse beaucoup

Merci d'avance,
Loceka.