Bonjour,

Je vous expose mon problème pour lequel, malgré mes recherches sur le web, je n'ai pas trouvé de solution. Je ne sais d'ailleurs pas s'il en existe une.

J'ai fait un exemple simple qui reproduit mon problème. L'arborescence de mes fichiers est la suivante:

E:\temp\Validations\validation.xml
E:\temp\Validations\images\toto.jpg
E:\temp\xsl\Validation.xsl
E:\temp\xsl\MasterXSL.xsl
E:\temp\MasterXML.xml

Le fichier validation.xml contient une balise avec le chemin relatif vers une image:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="E:\temp\xsl\validation.xsl"?>
<modale>
	<mode id="1">
		<Picture>.\images\toto.jpg</Picture>
	</mode>
</modale>
Le fichier de mise en forme validation.xsl contient le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="modale">
	<xsl:for-each select="mode[attribute::id mod 2 = 1]">
		<a href="{Picture}"><img border="0" src="{Picture}" width="400"/></a>
	</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Lorsque j'ouvre le fichier validation.xml, l'image s'affiche correctement.

J'ai maintenant un fichier MasterXML.xml qui fait appel à validation.xml:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="E:\temp\xsl\MasterXSL.xsl"?>
<!DOCTYPE Validations [
<!ENTITY Phys_enc_lib SYSTEM "Validations\validation.xml">
]>
<Validations>
&Phys_enc_lib;
</Validations>
Le fichier MasterXSL.xsl contenant quant à lui le code:
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" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="validation.xsl"/>
    <xsl:template match="/">
        <html>
        <head>
        </head>
        <body>
            <xsl:apply-imports/>
        </body>
        </html>
    </xsl:template>
</xsl:stylesheet>
Le problème est que lorsque j'ouvre le fichier MasterXML.xml, le chemin relatif vers l'image est mal interprété puisqu'il cherche le fichier E:/temp/images/toto.jpg qui n'existe pas.

Ma question est alors la suivante: comment faire en sorte que le chemin relatif de l'image soit bien interprété dans le MasterXML? (la solution de passer en chemin absolu pour pointer vers l'image ne me convient pas, ni celle d'avoir mes 2 fichiers XML au même niveau d'arborescence). Je suis plutôt novice en XML, c'est pourquoi je sollicite votre aide.

Merci par avance