j'utilise XSLT pour transformer du XML en HTML.
Pour expliquer simplement mon cas sous la forme d'un exemple :
- je parcours une liste de valeurs avec certains attributs qui sont des ID faisant référence à un autre fichier XML (sorte de clé étrangère SQLement parlant)
- pour récupérer le libellé correspondant à ma clé, j'utilise la synthaxe XSLT suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<xsl:value-of select="$monFichier//*[local-name() = 'CodeLists']/*[local-name()='CodeList' and contains(@id, 'MA_table')]/*[local-name() = 'MonCode' and @value = $mavaleur]/*[local-name() = 'Libellé']" />
ça marche très bien mais niveau performance sur un fichier avec plusieurs centaines de valeur, ça craint.

- je chercherais donc à placer en haut de mon fichier XSL tous les tuplés de ma "table étrangère" dans une variable de type 'array' de la façon suivante

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<xsl:variable name="montableau1" select="$monFichier//*[local-name() = 'CodeLists']/*[local-name()='CodeList' and contains(@id, 'MA_table')]"/>
et d'y accéder dans chaque élément de ma liste comme un tableau indexé

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<xsl:value-of select="$tableau1[$mavaleur]" />
- sauf que je ne trouve pas ce type de syntaxe pour XSLT. Est-ce que cela est possible ? si oui comment ? et sinon comment résoudre mon problème de performance ?

par avance merci pour vos réponses