From: Eric van der Vlist (vdv@dyomedea.com)
Date: 10/05/2001 - 09:23
Bonjour,
Daniel Lucazeau wrote:
>
> Bonjour xml-tech,
>
> je me bats avec un tri que je voudrais réaliser sur un attribut de
> balise :
> <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>
> J'ai essayé ceci : select="/newsletters/newsletter[@dateDeb]".
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 donc les templates correspondant 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 deuxième chemin est un chemin absolu.
Ce que vous voulez obtenir s'écrit donc plutôt:
<xsl:apply-templates select="/newsletters/newsletter">
<xsl:sort select="@dateDeb" order="descending"/>
</xsl:apply-templates>
Cordialement,
Eric van der Vlist
> Que ce soit en ascending ou descending ne change rien.
> Avez-vous une piste à me proposer ? Je n'ai trouvé aucun exemple de
> tri sur attribut, j'ai balayé les sites et les forums.
> La documentation si elle ne l'autorise pas explicitement ne
> l'interdit pas tout aussi explicitemnt puisque la valeur du select
> est une expression Xpath traduite en chaîne.
>
> Merci de votre aide.
>
> --
> Cordialement,
> Daniel mailto:infonews@ajornet.com
>
--
See you in Berlin for XML Europe 2001:
http://gca.org/attend/2001_conferences/europe_2001/tutorialsmon.htm
------------------------------------------------------------------------
Eric van der Vlist http://xmlfr.org http://dyomedea.com
http://xsltunit.org http://4xt.org http://examplotron.org
------------------------------------------------------------------------
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|