From: Bob (mlooo1@bobiciel.com)
Date: 09/03/2004 - 00:25
Givaja wrote:
>Bonjour, voici ce que j'aimerais faire:
>
>La partie XML:
><formulaire>
> <ligne2>
> <label>Nom (Nom de jeune fille pour madame):</label>
> <champ name="nom" type="text" size="20"/>
> </ligne2>
>...
>
>La partie XSL:
><xsl:template match="/">
> <table border="1">
> <xsl:for-each select="formulaire/ligne2">
> <tr>
> <td><xsl:value-of select="label"/></td>
> <td>
> <xsl:variable name="personnage">_mr</xsl:variable>
> <xsl:apply-templates select="champ"/>
> </td>
> <td>
> <xsl:variable name="personnage">_md</xsl:variable>
> <xsl:apply-templates select="champ"/>
> </td>
>...
><xsl:template match="champ">
> <xsl:choose>
> <xsl:when test='@type="text"'>
> <input type="text" name="{@name}{$personnage}"/>
> </xsl:when>
>...
>
>Je souhaiterais en fait définir la constante personnage dans le bloc
> supérieur pour que le code s'adapate tout seul puisqu'il est exactement
> identique à une constante prête.
>Je ne voudrais pas utiliser mode="" de <xsl:template puisque ca m'obligerais
> à dupliquer le code pour presque rien, sur quelques lignes c pas grave, la
> il va y en avoir plus de 200... :/
>
Utilise un modèle nommé
<xsl:for-each select="champ">
<xsl:call-template name="traiter_champ">
<xsl:with-param name="personnage" select="'_mr'"/>
</xsl:call-template>
</xsl:for-each>
...
<xsl:template name="traiter_champ">
<xsl:param name="personnage"/>
<xsl:choose>
<xsl:when test='@type="text"'>
<input type="text" name="{@name}{$personnage}"/>
</xsl:when>
...
>Donc si qunlqun à une idée je suis preneur :)
>
J'espère que je n'ai pas trop écrit de bétise, à cette heure tardive
c'est possible ...
>Merci à vous, hé pis bonne nuit!
>
Sur ce, je vais me coucher
A demain
Bob
--
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
|