From: Ricaud Matthieu (matthieu.ricaud@cned.fr)
Date: 05/07/2004 - 15:38
Merci de ta réponse !
En effet c'est idée me paraît parfaitement adaptée...malheureusement je
n'arrive pas à la mettre en oeuvre :
J'ai ajouté le prédicat avec preceding-sibling et ça ne change rien, il
prend 2 fois le même neoud.
Pour tester j'ai fais afficher la valeur de preceding-sibling::eltm/@id pour
chque noeud elmt :
<xsl:value-of select="preceding-sibling::elmt/@id"/>
et il me donne systèmatiquement l'id du premier elmt de la "liste"==> "3"
Par contre quand je fais :
<xsl:for-each select="preceding-sibling::elmt">
<xsl:value-of select="@id"/>
</xsl:for-each>
là il affiche bien TOUS les id précédents à chaque noeud.
or je ne peux pas mettre le for-each dans le prédicat :(
Je doit partir, je regarderai ça demain, ce doit être un truc tout bête
auquel je n'ai pas fais attention.
Merci en tout cas !!!
Matthieu.
-----Message d'origine-----
De : xml-tech-bounce@xmlfr.org [mailto:xml-tech-bounce@xmlfr.org]De la
part de Robin Berjon
Envoyé : lundi 5 juillet 2004 16:45
À : xml-tech@xmlfr.org
Objet : [xml-tech] Re: Traiter 1 seule fois les noeuds identiques
Ricaud Matthieu wrote:
> Je n'arrive pas à trouver la réponse à une question qui doit pourtant être
> assez courante...?
> je viens donc vous embêter un peu :o !
>
> soit un XML :
> <racine>
> <elmt id="3"/>
> <elmt id="1"/>
> <elmt id="4"/>
> <elmt id="1"/>
> </racine>
>
> Dans ma xsl (sortie HTML ici) je fais (dans le template de "racine"):
>
> <xsl:for-each select="elmt">
> <xsl:value-of select="@id"/><br/>
> </xsl:for-each>
>
> OR ce que je voudrais, c'est ne pas afficher les doublons ...
<xsl:for-each select="elmt[not(preceding-sibling::eltm/@id =
current()/@id)]">
ou un truc du genre devrait marcher. Il s'agit juste de ne traiter ton
noeud que s'il n'est pas apparu avant.
--
Robin Berjon
--
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)
--
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 30/07/2004 - 13:32 UTC
webmaster@xmlfr.org
|