Comment utiliser l'attribut "select" de xsl:sort ?
Eric van der Vlist,
Dyomedea (vdv@dyomedea.com).
jeudi 10 mai 2001
Je me bats avec un tri que je voudrais réaliser sur un
attribut :
<newsletter
numero="2" dateDeb="2000/06/26"
url="xxx.html">
Je veux trier ces newsletter sur dateDeb et j'écris cela:
<xsl:apply-templates>
<xsl:sort select="/newsletters/newsletter/@dateDeb"
order="descending"/>
</xsl:apply-templates>
Que ce soit en ascending ou descending ne change rien.
xsl:sort
donne une condition de tri par rapport au chemin spécifié dans l'instruction à
laquelle il s'applique.
Lorsque vous écrivez:
<xsl:apply-templates>
<xsl:sort select="/newsletters/newsletter/@dateDeb"
order="descending"/>
</xsl:apply-templates>
XSLT exécute les templates correspondants aux noeuds texte et éléments
fils du noeud courant (absence de condition select) en les triant suivant
/newsletters/newsletter/@dateDeb, ce qui n'a pas de sens puisque ce chemin est
un chemin absolu.
Si vous voulez appliquer les templates sur /newsletters/newsletter
en les triant par @dateDeb, il faut écrire:
<xsl:apply-templates select="/newsletters/newsletter">
<xsl:sort select="@dateDeb" order="descending"/>
</xsl:apply-templates>
Daniel
Lucazeau: "[xml-tech] XLS-sort sur un attribut de balise ?"Eric
van der Vlist: "[xml-tech] Re: XLS-sort sur un attribut de balise ?"
Copyright 2001,
Eric van der Vlist.
|