Bonjour j'ai une petite incompréhension dans une feuille de style XSL :
J'ai un répertoire avec l'arborescence suivante :
Le fichier ./launcher.xml contient le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ./launcher.xml ./xml/data.xml ./xsl/style.xsl
Le fichier ./xml/data.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>
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 <?xml version="1.0"?> <donnee>Voilà mes données</donnee>
Ce que je ne comprends pas c'est :
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>
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.
Partager