Article View: fr.comp.text.xml
Article #8252Re: Utiliser les param�tres pour d�signer des noms de noeuds
From: Alain Ketterlin
Date: Fri, 30 Nov 2001 08:45
Date: Fri, 30 Nov 2001 08:45
66 lines
3173 bytes
3173 bytes
"Pierre Y." <pierre.crisalid@wanadoo.fr> writes:
> <bdc>
> <ticket>
> <entete>
> <caissier id="1">MATIN</caissier>
> <vendeur id="0">MOI</vendeur>
> </entete>
> <contenu>
> <!-- beaucoup de choses -->
> </contenu>
> <encaissements>
> <encaissement mode="ESPECES">12.50</encaissement>
> </encaissements>
> </ticket>
> <ticket>
> <entete>
> <caissier id="1">MATIN</caissier>
> <vendeur id="1">LUI</vendeur>
> </entete>
> <...>
> </ticket>
> </bdc>
>
> Bon je veux faire une feuille XSLT pour extraire des stats de ce fichier et
> pour cel� je lui passe en param�tre un filtre sur le num�ro de vendeur ou
> sur le num�ro de caissier:
>
> Filtrage pour un vendeur particulier :
> <xsl:param name="Filtre" select="vendeur" />
Le select est evalue avec un noeud contextuel egal au noeud racine
(pas l'element racine). Comme clui-ci n'a pas de fils <vendeur>, tu
recuperes un ensemble vide.
En fait, ce que tu veux, c'est select="'vendeur'"
> <xsl:param name="ValFiltre" select="0" />
Juste un detail : tu ne peux pas utiliser des nombres comme id. Il
faut que ca commence par une lettre (pas important ici, mais j'imagine
que tu as quelque part des elements qui declarent les caissiers et les
vendeurs).
> Ces param�tres sont pass�s par le processeur XSLT avant de faire la
> transformation et j'aimerais les utiliser pour extraire la somme des
> encaissements des tickets dont le param�tre entete/$Filtre a la valeur
> $ValFiltre mais ceci ne fonctionne pas :
Directement, non, mais on peut utiliser name()
> <xsl:value-of
> select="sum(//encaissement[ancestor::ticket[child::entete/$FiltreFlash/@id=$
> ValeurFiltre])" />
select="sum(/bdc/ticket/encaissements/encaissement[
../../entete/*[name()=$Filtre and @id=$valFiltre]"
(ou ../preceding-sibling::entete[ ... ])
peut-etre.
J'ai laisse tomber // parce que dans ce cas on peut les trouver
directement. S'il y a des namespaces, c'est un chouia plus complexe.
-- Alain.
Technical Details
Message-ID:
<wylmgomyuh.fsf@polya.u-strasbg.fr>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!193.251.151.101!opentransit.net!jussieu.fr!news.crihan.fr!univ-lille1.fr!news.u-strasbg.fr!not-for-mailReferences:
<9u7iim$4tr$1@wanadoo.fr>Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII X-Google-Thread: 114f60,4852e2804942888e X-Google-Attributes: gid114f60,public X-Google-ArrivalTime: 2001-11-30 01:34:24 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!193.251.151.101!opentransit.net!jussieu.fr!news.crihan.fr!univ-lille1.fr!news.u-strasbg.fr!not-for-mail From: Alain Ketterlin <alain@dpt-info.u-strasbg.fr> Newsgroups: fr.comp.text.xml Subject: Re: Utiliser les param�tres pour d�signer des noms de noeuds Date: 30 Nov 2001 09:45:10 +0100 Organization: CRC - Universite Louis Pasteur Strasbourg France Lines: 66 Message-ID: <wylmgomyuh.fsf@polya.u-strasbg.fr> References: <9u7iim$4tr$1@wanadoo.fr> NNTP-Posting-Host: polya.u-strasbg.fr X-Trace: news.u-strasbg.fr 1007117729 19732 130.79.44.199 (30 Nov 2001 10:55:29 GMT) X-Complaints-To: usenet@u-strasbg.fr NNTP-Posting-Date: 30 Nov 2001 10:55:29 GMT X-Newsreader: Gnus v5.6.45/XEmacs 21.1 - "Capitol Reef"