🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.text.xml
Article #8985

Re: les variables et param�tres en XSLT

#8985
From: Alain Ketterlin
Date: Tue, 10 Jul 2001 12:40
38 lines
2880 bytes
"Vincent Leconte" <v.leconte@#antispam#mobydoc.fr> writes:

> Cela dit, si j'ai bien compris, ce syst�me ne permet pas d'avoir le
> dernier �l�ment g�n�r� mais le dernier �l�ment g�n�r� dans un
> template parent vu qu'on parcours l'arbre en profondeur... j'ai
> raison? suis-je clair, d�j�?

Oui, c'est bien cela.

Cela dit, je me demande bien pourquoi tu te poses ce probleme. Un
element en sortie apparait soit litteralement (auquel cas son nom
apparait un peu plus haut dans le source) soit par <xsl:element>
(auquel cas il y a une expression dans l'attribut name, expression que
l'on peut conserver dans une variable si il faut faire des tests
dessus) soit par <xsl:copy> (auquel cas on peut utiliser name()).
(Mais il faut proscrire <xsl:copy-of>.)

Mais comme j'imagine que tu as une bonne raison de vouloir cela, voici
une solution un peu... echevelee : il s'agit d'ecrire une feuille xsl
qui insere des <xsl:variable> dans la feuille xsl "originale". Le nom
de la variable peut etre toujours le meme, je crois. Sa valeur sera le
nom du dernier element en sortie.

Cette feuille xsl doit se preoccuper de tous les elements qui ne sont
pas dans le namespace XSLT, et des deux ou trois cites plus haut.
Chaque fois qu'elle croise un element genere en sortie, elle ajoute
a l'interieur de cet element une liaison de la variable. Ca a l'air
assez simple a premiere vue. Ca se complique un peu parce qu'il faut
passer la valeur de la variable de template en template, mais pour
cela, voir la reponse de Tom pour trouver les elements a machiner.

Le resultat c'est une feuille xsl dans laquelle tu disposes partout
d'une variable avec ce que tu veux dedans.

Finalement, c'est un probleme assez rigolo. On dirait un sujet
d'examen (lire "je ne vois vraiment pas a quoi ca pourrait servir").

-- Alain.
Technical Details
Message-ID: <wy66d19ctt.fsf@polya.u-strasbg.fr>
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!news.tele.dk!213.56.195.71!fr.usenet-edu.net!usenet-edu.net!ciril.fr!news.u-strasbg.fr!not-for-mail
References: <9iedj9$7oh$1@s1.read.news.oleane.net> <1169271.gxmLvFx2qV@ltgt.net> <9ietlf$ggj$1@s1.read.news.oleane.net>

Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII
X-Google-Thread: 114f60,4c81d722237c42dd
X-Google-Attributes: gid114f60,public
X-Google-ArrivalTime: 2001-07-10 06:29:32 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!news.tele.dk!213.56.195.71!fr.usenet-edu.net!usenet-edu.net!ciril.fr!news.u-strasbg.fr!not-for-mail
From: Alain Ketterlin <alain@dpt-info.u-strasbg.fr>
Newsgroups: fr.comp.text.xml
Subject: Re: les variables et param�tres en XSLT
Date: 10 Jul 2001 14:40:46 +0200
Organization: CRC - Universite Louis Pasteur Strasbourg France
Lines: 38
Message-ID: <wy66d19ctt.fsf@polya.u-strasbg.fr>
References: <9iedj9$7oh$1@s1.read.news.oleane.net> <1169271.gxmLvFx2qV@ltgt.net> <9ietlf$ggj$1@s1.read.news.oleane.net>
NNTP-Posting-Host: polya.u-strasbg.fr
X-Trace: news.u-strasbg.fr 994776390 15318 130.79.44.199 (10 Jul 2001 14:46:30 GMT)
X-Complaints-To: usenet@u-strasbg.fr
NNTP-Posting-Date: 10 Jul 2001 14:46:30 GMT
X-Newsreader: Gnus v5.6.45/XEmacs 21.1 - "Capitol Reef"