Rebonjour,
Je suis toujours en pleine découverte du xsl, et ma foi, ça se passe plutôt bien jusque là.

J'aurai besoin d'aide sur une expression xPath plutôt complexe (tout du moins pour moi).

Le concept j'ai deux documents xml

le premier avec mes noeuds ayant chacun un identifiant unique (attribut token)
Le second avec la traduction de tous les identifiants (un fichier xml par langue)

Le problème c'est comment passer la référence @token quand je parcours mon second fichier xml :

<!-- ces deux expressions me retounent bien mon identifiant -->
<xsl:value-of select="@token"/>
<xsl:value-of select="current()/@token"/>

<!-- cette expression m'ouvre bien mon second fichier xml, mais comme la référence à token fais partit du premier document je n'arrive pas à m'en servir -->
<xsl:value-of select="document($textfile)/trad/@token"/>

J'ai essayé plein de solutions :
<xsl:variable name="token" select="@token"/>
<xsl:value-of select="document($textfile)/trad/$token"/>
<xsl:value-of select="document($textfile)/trad/{current()/$token}"/>

<xsl:value-of select="document($textfile)/trad/current()/@token"/>
<xsl:value-of select="document($textfile)/trad/{current()/@token}"/>

Et beaucoup d'autres choses désespérés mais sans résultat...
Quelqu'un peut m'aiguiller sur la bonne piste ?

Merci d'avance !
Comme toujours j'ai fini par trouver moi même la bonne méthode.

Je retiendrai d'ailleurs qu'il faut en xslt de l'opérateur d'égalité qui (comme en javascript) opère des conversion de type à la volée quand la comparaison n'est pas stricte (il n'y a d'ailleurs pas d'opérateur de conversion stricte apparement). Ce qui est trompeur c'est qu'un noeud de type xml n'est pas convertit vers son Qname comme je le pensais mais vers sa valeur.

L'expression qu'il me fallait était donc :
document($textfile)/trad/*[name(.)=current()/@token]

Voila à bientôt pour mon prochain monologue Smiley lol