From: Cyril Jandia (cjandia@logfi.fr)
Date: 13/05/2002 - 12:07
> De : zze-STIENNE Nicolas FTRD/DMI/CAE
> À : 'xml-tech@xmlfr.org'
> Objet : [xml-tech] Portee de variable
>
> Bonjour,
>
> Je me trouve face a un probleme... D'apres ce que je peux tester,
> j'ai l'impression qu'une variable utilisee dans un <choose> n'est pas
> visible a l'exterieur de celui-ci :
Eh bien, ce n'est ni plus, ni moins que ... ce que vous avez deviné ;=) en
voici la confirmation officielle :
XSLT 1.0 :
http://www.w3.org/TR/xslt#local-variables
(Premier paragraphe)
( ou, en français :
http://xmlfr.org/w3c/TR/xslt/#local-variables
"De même qu'il est possible d'utiliser dans les élément de haut niveau,
xsl:variable et xsl:param sont aussi permis dans les modèles. Dans un
modèle, xsl:variable est autorisé partout où une instruction l'est. Dans ce
cas, le lien est visible pour tous les frères suivant ainsi que leurs
descendants."[...] )
> [...]La portee de la variable me semble donc tres restreinte... Comment
puis-je
> faire pour utiliser $nb ?
... en procédant par "retournement de la chaussette" (pardonnez moi
l'expression un peu triviale (*) ;=) - "tout simplement" :
...
<xsl:variable name="nb"><xsl:choose><xsl:when test="../@name =
'transport'">3</xsl:when>
<xsl:otherwise>1</xsl:otherwise></xsl:variable>
<a href="page{string($nb)}">blabla</a>
...
> Merci, Nicolas STIENNE
(*) plus sérieusement, donc : puisque vous ne pouvez "mettre xsl:choose dans
xsl:variable" dans ce cas, faites l'inverse ... note : c'est "un classique"
du reste... ;=)
Cordialement,
--CJ
--
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
|