Article View: fr.comp.text.xml
Article #8985Re: les variables et param�tres en XSLT
From: Alain Ketterlin
Date: Tue, 10 Jul 2001 12:40
Date: Tue, 10 Jul 2001 12:40
38 lines
2880 bytes
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-mailReferences:
<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"