From: Sandrine Cordonnier (scordonnier@silicom.fr)
Date: 06/05/2003 - 10:24
Bonjour,
J'utilise un template qui affiche une serie de valeurs dans un tableau:
<xsl:template name="formatTable">
<xsl:param name="valeurs"/>
<table>
<xsl:for-each select="$valeurs/valeur">
<tr>
<td>
<xsl:value-of select="."/>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
Imaginons maintenant que je veuille appliquer un autre template de
formattage à chacune de ces valeurs (la methode de formattage suivante
ne fait rien):
<xsl:template name="formatDefault">
<xsl:param name="x"/>
<xsl:value-of select="$x">
</xsl:template>
Je rajoute l'utilisation de "formatDefault" dans "formatTable":
<xsl:template name="formatTable">
<xsl:param name="valeurs"/>
<table>
<xsl:for-each select="$valeurs/valeur">
<tr>
<td>
<xsl:call-template name="formatDefault">
<xsl:with-param name="x" select="."/>
</xsl:call-template>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
Jusqu'ici tout va bien, ça fonctionne, par contre je voudrais pouvoir
changer de methode de formattage de valeur dynamiquement, donc j'ai
encore modifié "formatTable" de la façon suivante:
<xsl:template name="formatTable">
<xsl:param name="valeurs"/>
<xsl:param name="formatValeur" select="formatDefault"/>
<table>
<xsl:for-each select="$valeurs/valeur">
<tr>
<td>
<xsl:call-template name="$formatValeur">
<xsl:with-param name="x" select="."/>
</xsl:call-template>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
Et là, ça ne fonctionne plus. Donc ma question est en plusieures parties:
- Peut-on utiliser des noms de paramètres ("$<nom_de_parametre>") dans
le parametre "name" de "xsl:call-template" ?
- Si oui, qu'est-ce qui n'est pas bon dans le code précédent ?
- Si non, y'a t-il un autre moyen de réaliser ce que j'essaie de faire
ci-dessus ?
Merci,
Sandrine
--
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
|