Bonjour,
J'espère que ce ne sont pas mes félicitations qui sont la cause de ce
grand silence sur la liste!
Le mardi 15 février 2005 à 17:11 +0100, Oscar NIYONKURU a écrit :
> Rebonjour!
>
> Lors du passage des paramètres d'un template à un autre, par exemple:
>
> <!--Variable globale-->
> <xsl:variable nom="a" select="$num">
>
> <!--Paramètres globales-->
> <xsl:param name=""b" select="$a"/>
>
> <xsl:template match="/">
> <xsl:apply-template select="noeud1">
> <xsl:with-param name="c" select="$b">
> </xsl:apply-template>
> </xsl:template>
>
> <xsl:template match="noeud1">
> <xsl:param name="c"/>
> <trait>
> <xsl:value-of select="$c">
> </trait>
> <xsl:template>
>
> Est-il plus sage d'écrire de cette façon?
>
> Ou de déclarer le paramètre global "a" dans le template englobant (/)?
>
> Ou encore avez-vous une autre façon plus élégante de le faire?
Tout d'abord, une question de terminologie : XSLT ne permet pas
d'inclure des templates dans d'autres templates. Il n'y a donc que deux
niveaux : les variables ou paramètres sont soit globaux soit locaux à un
template (il n'y a pas de template englobant).
Les règles pour choisir entre l'un et l'autre sont similaires à celles
que l'on observe en programmation "classique" avec quelques bémols :
* les variables et paramètres n'étant pas modifiables, il n'y a
pas de risques d'effet de bord et l'argument de dire qu'il faut
exclure l'utilisation des variables globales parce que l'on ne
sait plus qui modifie quoi ne tient pas en XSLT.
* Le passage de paramètres (xsl:param/xsl:with-param) très verbeux
en XSLT.
C'est pourquoi je pense que l'on peut être un peu moins dogmatique sur
l'emploi des variables et paramètres globaux en XSLT qu'avec des
langages de programmations plus classiques et utiliser les passages de
paramètres essentiellement pour les valeurs qui doivent être différentes
lors des différentes exécutions d'un même template.
J'espère avoir répondu à la question !
Cordialement,
Eric van der Vlist
--
Lisez-moi sur XMLfr.
http://xmlfr.org/index/person/eric+van+der+vlist/
------------------------------------------------------------------------
Eric van der Vlist http://xmlfr.org http://dyomedea.com
(ISO) RELAX NG ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------
--
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)
Received on Wed Feb 16 13:04:08 2005