Bonjour,
Vous voulez en fait faire un 'group by', puis un sort
Allez voir le site http://www.jenitennison.com/xslt/index.html
à la rubrique 'Grouping...'
Ca devrait répondre à votre demande présente (et à beaucoup de demandes
futures :-)
Jean-Christophe
arno.phil(tiscali) a écrit :
> bonjour,
>
> j'ai l'arbre suivant :
> <root>
> <individu nom="TOTO" prenom="toto"/>
> <individu nom="RIRI" prenom="toto"/>
> <individu nom="RIRI" prenom="riri"/>
> <individu nom="FIFI" prenom="toto"/>
> <individu nom="FIFI" prenom="fifi"/>
> <individu nom="LOULOU" prenom="toto"/>
> </root>
>
>
> Je souhaite afficher la liste les individus par ordre alphabétique,
> en ne recopiant le nom que s'il diffère :
>
> résultat souhaité :
> FIFI toto
> fifi
> LOULOU toto
> RIRI toto
> riri
> TOTO toto
>
> j'arrive bien à afficher la liste complète, sans détection des noms identiques :
> <xsl:for-each select="individu">
> <xsl:sort select="@nom"/>
> <xsl:value-of select="@nom">
> <xsl:text>   </xsl:text><!-- il est pas joli mon TAB ? -->
> <xsl:value-of select="@prenom">
> <br/>
> </xsl:for-each>
>
> par contre dès qu'il faut savoir quel était le nom précédent afin de le comparer
> au nom courant, les difficultés apparaissent, puisque les position() des
> individus diffèrent entre l'arbre réel et l'arbre trié :
> <xsl:variable name="posPrec"><xsl:value-of select="number(position()-1)"/></xsl:variable>
> <xsl:variable name="nomPrec"><xsl:value-of select="preceding-sibling::individu[position()=$posPrec]/@nom"/></xsl:variable>
>
> $nomPrec contient le nom de l'individu à la position précédente, mais c'est
> celle de l'arbre avant triage :-(
>
> Merci d'avance pour vos lumières !
>
> bubuze
>
>
> --
> 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)
>
--
Jean-Christophe Kermagoret
jck@BabelObjects.Com
--
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)
Received on Sun Oct 2 11:49:18 2005