Article View: fr.comp.text.xml
Article #9571[XSL] compter le nombre d'occurence d'un tag
From: Julien Balas
Date: Tue, 06 Mar 2001 15:41
Date: Tue, 06 Mar 2001 15:41
55 lines
2614 bytes
2614 bytes
salut,
j'ai un programme qui genere un fichier XML correspondant a un menu
deroulant
<menu titre="titre1" affiche="oui">
<item>premier</item>
<item>deuxieme</item>
</menu>
<menu titre="titre1" affiche="oui">
<item>premier</item>
<item>deuxieme</item>
</menu>
<menu titre="titre3" affiche="non">
<item>premier-ter</item>
<item>deuxieme-ter</item>
</menu>
pour des raisons de presentation de ce menu dans un tableau HTML, j'ai
besoin de connaitre le nombre total de tag <menu> dont l'attribut
"affiche" est a OUI.
et j'aimerais pouvoir compter dans la feuille XSL
Pour l'instant comme j'utilise les composants DOM de microsoft, j'ai la
balise <xsl:script> qui me permet de mettre du code VB dans la feuille et
donc de parcourir mon arbre XML et de compter les noeuds.
Mais il semble que cette balise ne soit pas standard (ca m'aurait etonn�
de microsoft aussi)
Donc je cherche une solution plus portable.
en fait j'ai besoin de deux choses
- connaitre le nombre total de noeud "menu"
- savoir quel est la position du noeud "menu" sur lequel je me trouve
pour l'instant j'ai un code qui ressemble a ca
<xsl:template match="/">
<xsl:for-each select="liste/menu">
<xsl:for-each>
<xsl:if test="affiche[.= 'OUI']">
<xsl:eval>incremente_oui()</xsl:eval>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
<xsl:apply-templates/>
</xsl:template>
et la fonction increment_oui() qui ajoute 1 � une variable globale
Voila, si quelqu'un a une id�e ou une doc qui m'expliquerais comment
faire, qu'il n'hesite pas.
Sachant que ma feuille fonctionne tout a fait, mais que j'aimerais bien
faire ca de facon plus propre.
Merci
--
Julien Balas
Technical Details
Message-ID:
<3AA50543.105976A1@ystel.com>Path:
arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!isdnet!inetway!inetway.net!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII X-Google-Thread: 114f60,1304551a566271,start X-Google-Attributes: gid114f60,public X-Google-ArrivalTime: 2001-03-06 07:42:04 PST Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!isdnet!inetway!inetway.net!not-for-mail From: Julien Balas <julien.balas@ystel.com> Newsgroups: fr.comp.text.xml Subject: [XSL] compter le nombre d'occurence d'un tag Date: Tue, 06 Mar 2001 16:41:55 +0100 Organization: UUNET Lines: 55 Message-ID: <3AA50543.105976A1@ystel.com> NNTP-Posting-Host: nat.ystel.fr Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: reader1.fr.uu.net 983894541 2136 194.98.73.186 (6 Mar 2001 16:02:21 GMT) X-Complaints-To: abuse@fr.uu.net NNTP-Posting-Date: 6 Mar 2001 16:02:21 GMT X-Posting-Agent: Hamster/1.3.13.0 X-Mailer: Mozilla 4.72 [en] (WinNT; I) X-Accept-Language: fr,en