Bonjour,
j'ai crée plusieurs fichiers xml ayant tous le meme format et contenants les jours de la semaine chacun en une langue.
Ex: french.xml
<days>
<day>lundi</day>
<day>mardi</day>
<day>mercredi</day>
.
.
</days>
J'ai également un autre fichier XML auquel je souhaite appliquer une transformation XSLT et produire en sortie du HTML.
Dans mon fichier XSLT j'aimerais pouvoir faire référence aux fichiers externes XML contenant les jours de la semaine de la maniere suivante:
1.<xsl:variable name="lang_file"/>
2.<xsl:if test="$lang='fr'"><!--lang est un parmetre de mon template xsl-->
3.$lang_file="french.xml"
4.</xsl:if>
5.<td><xsl:value-of select="document($lang_file)/days/day[1]"/></td>
J'ai un problème à la 3eme ligne car je ne sais pas comment l'inclure dans une balise xsl et si meme cette opération est possible en XSLT bien evidement je voudrais eviter de créer une nouvelle variable pour chaque fichier de langue,c'est a dire eviter d'ecrire:
<xsl:variable name="lang_file_fr" select="'french.xml'"/>
<xsl:variable name="lang_file_en" select="'english.xml'"/>
.
.etc...
Et si meme je fais cela,je rencontre un autre problème a la ligne 5, il me semble que la fonction document() ne puisse pas prendre en parametre un variable.La documentation signale que le parametre doit etre une URI(ref: http://www.w3schools.com/Xsl/func_document.asp).
Comment puis je résoudre ces deux problèmes?Existe t-il une autre méthode(plus simple peut etre) pour effectuer la tache désirée?
Merci pour votre assistance.
Configuration: Windows XP
Safari 525.19