Bonjour,

j'ai le doucment XML suivant par exemple:


<doc>
   <description>
      <nom>Albert</nom>
      <prenom>Roger</prenom>
      <adresse>rue de la gare</adresse>
     <npa>25000</npa>
     <Ville>Pontarlier</Ville>
   </description>
</doc>


dans mon document XSL, on m'indique en paramètre si je dois sélectionner la balise <nom>, <prenom> ou <adresse> et j'ai aussi en paramètre le fichier XML.

Si je tape le chamin en dur, comme ceci:


...
<xsl:value-of select="$fichier/doc/description/nom"/>
....


J'ai comme résultat le contenu de la balise <nom>, par contre, si je fais comme ceci:

<xsl:value-of select="$fichier/doc/description/$param"/>

j'ai une erreur de compilation qui apparait!!!

Est-ce quelqu'un aurrait une idée comment résoudre ce prblème!

Par avance, un grand MERCI pour votre aide!

Cédric
Je suppose que tu travaille en PHP Smiley smile

J'essaierais ça :

...

<xsl:value-of select="<?php echo $fichier ?>/doc/description/nom"/>

....


Mais c'est de tête et non testé loin de là !
Salut mEga,

Non, je ne travaille pas en php, j'utilise le fichier xsl dans une méthode xsltransform en c# et lorsque cette méthdoe s'exécute, j'ai une exception qui est déclenchée et m'indique qu'il y a un problème de compilation due à:


<xsl:value-of select="$fichier/doc/description/$param"/>


J'aimerais savoir s'il possbile de construire ma requête de façon dynamique (en fontion d'un paramètre)! Aurais-tu une autre idée!

D'avance, merci pour ton aide!

Cédric
et en adaptant ma méthode aux spécifictions c# (je ne sais pas je pose la question) sinon pour le moment je n'ai pas trop la possibilité de me replonger dans XSLT désolé...
Non, en fait, je ne code pas mon xslt dans le c#.
J'utilise une classe xsltTransform, qui me permet de charger mon fichier xsl, dans laquelle j'utilise la méthode transform ou je passe entrau les paramètre suivant:


...
searchFirmXslt.Transform(fichierXml1, lst, result, ...
....


dans lst qui est un tableau de paramètres, j'ai les paramètre suivant:


....
lst.AddParam("fichier", "", docXML.CreateNavigator().Select("."));
lst.AddParam("param", "", "adresse");
...


et dans le fichier xsl, j'aimerais sélectionner le noeud dans docXML, en fonction du paramètre param. J'ai essayé avec <xsl:value-of.../> comme ceci:


...
<xsl:value-of select="$fichier/doc/description/$param"/>
...


Mais cela ne fonctionne pas!
Est-ce que quelqu'un aurait une idée pour résoudre ce problème!

Par avance, merci pour votre aide!

Cédric