From: Benoît Barré (benoitbarre@free.fr)
Date: 12/03/2004 - 16:26
Et il y raison...
Ce que je proposais, c'est de déplacer la récupération de la valeur dans le
template pas dans le apply-templates ;))
bB
Selon Givaja <giviz@pyronux.net>:
>
> On Friday 12 March 2004 16:17, Benoît Barré wrote:
>
> <td>
> <xsl:variable name="personnage">_mr</xsl:variable>
> <xsl:apply-templates select="champ">
> <xsl:variable name="valeur"><xsl:value-of
> select="champ/mr"/></xsl:variable>
> <xsl:with-param name="personnage"
> select="$personnage"/>
> <xsl:with-param name="valeur" select="$valeur"/>
> </xsl:apply-templates>
> </td>
>
>
> giviz@jupiter:~/work/xml$ xsltproc -o ncc.htm ncc.xsl ncc.xml
> xsl:apply-template: misplaced xsl:variable
>
>
> Lui il pense pas :(
>
> :)
>
>
>
> > Je pense qu'il faut déplacer la récupération de $valeur dans le
> > template "champ".
> >
> > bB
> >
> > Selon Givaja <giviz@pyronux.net>:
> > > On Friday 12 March 2004 16:02, MARTIN Brice (DSIT-EX) wrote:
> > >
> > > A quel endroit ? si c'est juste après le <td> non puisque l'appel du
> > > template
> > >
> > > va tous les traiter d'un coup :/
> > >
> > > > Je ne sais pas si j'ai tout compris ce que tu souhaites faire, mais ça
> > > > ne serait pas un truc du style <xsl:for-each select="champ"> qu'il
> > > > faudrait utiliser ?
> > > >
> > > > -----Message d'origine-----
> > > > De : Givaja [mailto:giviz@pyronux.net]
> > > > Envoyé : vendredi 12 mars 2004 15:28
> > > > À : xml-tech@xmlfr.org
> > > > Objet : [xml-tech] recharger les paramètres d'un template avant
> > > > repassage
> > > >
> > > >
> > > >
> > > > Voila mon nouveau petit problème:
> > > >
> > > > J'ai créer le bout de code suivant (XML):
> > > > <ligne type="2">
> > > > <label>Date de naissance (jour/mois/annee):</label>
> > > > <champ name="jour_naiss" type="text" size="2" after=" / ">
> > > > <mr>10</mr>
> > > > <md>07</md>
> > > > </champ>
> > > > <champ name="mois_naiss" type="text" size="2" after=" / ">
> > > > <mr>05</mr>
> > > > <md>05</md>
> > > > </champ>
> > > > <champ name="anne_naiss" type="text" size="4">
> > > > <mr>83</mr>
> > > > <md>85</md>
> > > > </champ>
> > > > </ligne>
> > > >
> > > > Qui est traité par ce passage de ma feuille XSL:
> > > > <xsl:if test="@type=2">
> > > > <tr>
> > > > <td><xsl:value-of select="label"/></td>
> > > > <td>
> > > > <xsl:variable name="personnage">_mr</xsl:variable>
> > > > <xsl:variable name="valeur"><xsl:value-of
> > > > select="champ/mr"/></xsl:variable>
> > > > <xsl:apply-templates select="champ">
> > > > <xsl:with-param name="personnage"
> > > > select="$personnage"/>
> > > > <xsl:with-param name="valeur"
> > > > select="$valeur"/> </xsl:apply-templates>
> > > > </td>
> > > > ...
> > > > </tr>
> > > > </xsl:if>
> > > >
> > > > (J'ai supprimer le traitement de "md" qui est identique)
> > > >
> > > > Le hic c'est que la variable valeur est définie avant l'appel de la
> > > > templates
> > > > "champ", si la ligne ne contient qu'un <champ> ca ne pose pas de
> > > > problème, mais si elle en contient au moins 2 alors $valeur n'est pas
> > > > recharger avec la
> > > > valeur du champ suivant, c'est celle du premier qui reste chargée (ce
> > > > qui vu
> > > >
> > > > le code est plutot normal).
> > > >
> > > > Mais je ne vois pas comment faire autrement pour la recharger pour
> > > > chaque <champ>, il faudrait la définir entre les 2 balises d'appel à
> la
> > > > template mais comment ??
> > > >
> > > > Merci pour votre aide!
--
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:05 UTC
webmaster@xmlfr.org
|