Bonjour à tous,

voila en fait le but est de passer en parametre à mon fichier XSLT le
"noeud" et le sens du tri.
pour passer les parametre dynamiquement, pas de soucis.
mon fichier XML se présente sous cette forme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<artist n="Pigloo">
<s id="7368">
        <t>AAAAA</t>
        <l>le-ragga-des-pingouins.html</l>
        <y>2006</y>
        <d>2006-04-11</d>
        <f id="5714" pid="1">
                <p1>2.28571</p1>
                <p2>2.28571</p2>
                <p3>1.2381</p3>
                <tp>MP3</tp>
                <vc>4</vc>
        </f>
</s>
</artist>
les lignes clé concernant le tri de mon fichier XSLT :

<xsl:param name="field">f</xsl:param>
<xsl:param name="sort">descending</xsl:param>

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<xsl:template match="/">
<table cellpadding="2" cellspacing="0">
        <xsl:apply-templates/>
</table>
</xsl:template>
 
<xsl:template match="artist">
      <xsl:for-each select="s">
            <xsl:sort select="*[name()=$field]" order="{$sort}"/>
                     .....
      </xsl:for-each>
</xsl:template>
Ceci fonctione sans pb qd je veux trier un "noeud" enfant à <s> mais
si je souhait trier par rapport au noeud <p1> (enfant de <f>) la
requête Xpath est incorrect si je met "f/p1" comme valeur au parametre
"field"
si vous pouvez m'eclaircir ....

Cordialement