Problème de chemin relatif contenu dans un XML appelé par la commande ENTITY
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:
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:
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:
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:
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