From: Erik Mazoyer (erik.mazoyer@hyperoffice.fr)
Date: 03/06/2002 - 13:05
Vous avez, partiellement raison.
preceding::* renoie
<node path="a"/>
puis
<node path="b"/>
<node path="a"/>
puis
<node path="c"/>
<node path="b"/>
<node path="a"/>
Il suffit d'écrire
preceding::*[1]
pour avoir le noeud précédent.
Merci,
--------------------------------------------------------------------
Erik Mazoyer, Chef de projet
HyperOffice
6, rue Jacques Daguerre - 92565 Rueil-Malmaison Cedex
Tél. 01 41 96 96 76
Fax 01 41 96 96 77
Mél erik.mazoyer@hyperoffice.fr
-----Message d'origine-----
De: Marc SALVATI [mailto:salvatim@clio.unice.fr]
Date: lundi 3 juin 2002 14:48
À: xml-tech@xmlfr.org
Objet: [xml-tech] Re: preceding
Erik Mazoyer a écrit :
> Je ne comprend pas preceding::
>
> soit le xml :
>
> <?xml version="1.0" encoding="utf-8"?>
> <root>
> <node path="a"/>
> <node path="b"/>
> <node path="c"/>
> <node path="d"/>
> <node path="e"/>
> </root>
>
> Soit le xsl
>
> <?xml version="1.0" encoding="utf-8"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0">
> <xsl:output method="xml" indent="yes"/>
>
> <xsl:template match="root">
> <xsl:apply-templates
> select="descendant::node"></xsl:apply-templates>
> </xsl:template>
>
> <xsl:template match="node">
> <xsl:text>(</xsl:text>
> <xsl:value-of select="attribute::path"/>
> <xsl:text>-</xsl:text>
> <xsl:value-of select="preceding::*/attribute::path"/>
> <xsl:text>) </xsl:text>
> </xsl:template>
> </xsl:stylesheet>
>
> Je m'attends a trouver
>
> (a-) (b-a) (c-b) (d-c) (e-d)
>
> et je trouve
>
> (a-) (b-a) (c-a) (d-a) (e-a)
>
> pourquoi est ce que preceding::* me renvoie invariablement le noeud <node
> path="a"/>
>
preceding::* ne renverrai t'il pas:
<node path="a"/>
puis
<node path="a"/>
<node path="b"/>
puis
<node path="a"/>
<node path="b"/>
<node path="c"/>
....
et preceding::*/attribute::path
le path du premier noueud(par defaut)
ne faut'il pas utiliser preceding/attribute::path
ou preceding sibling...
je suis pas sur de ma reponse mais je pense que preceding::* vous renvoit
un ensemble de noeud.
>
> --------------------------------------------------------------------
> Erik Mazoyer, Chef de projet
> HyperOffice
> 6, rue Jacques Daguerre - 92565 Rueil-Malmaison Cedex
> Tél. 01 41 96 96 76
> Fax 01 41 96 96 77
> Mél erik.mazoyer@hyperoffice.fr
> --
> 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
--
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 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|