From: Ziad EL KHATIB (z.elkhatib@vivacances.fr)
Date: 19/11/2003 - 09:25
Ok alors la j'ai plus d'erreurs, par contre ma liste de selection est vide, je n'arrive pas a le mettre en place:
<select>
<xsl:attribute name="name">CABIN</xsl:attribute>
<xsl:attribute name="checked"><xsl:value-of select="./CABIN_OUT/CODE"/></xsl:attribute>
<xsl:attribute name="class">content_listbox</xsl:attribute>
<xsl:call-template name="selection">
<xsl:with-param name="valeur">E</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="selection">
<xsl:with-param name="valeur">B</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="selection">
<xsl:with-param name="valeur">F</xsl:with-param>
</xsl:call-template>
</select>
<xsl:template name="selection">
<xsl:param name="valeur"/>
<option>
<xsl:attribute name="value"><xsl:value-of select="$valeur"/></xsl:attribute>
<xsl:if test="./CABIN_OUT/CODE = '$valeur'" >
<xsl:attribute name="selected">selected</xsl:attribute>
</xsl:if>
</option>
</xsl:template>
-----Message d'origine-----
De : Denis BAYARD [mailto:denis.bayard@edfgdf.fr]
Envoyé : mardi 18 novembre 2003 14:45
À : xml-tech@xmlfr.org
Objet : [xml-tech] Réf. : ÿso-8859-1?Q?RE_:_[xml-tech]_Réf._:_xsl:if_...?X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0
La règle ne doit pas être inclue dans une autre règle, elle doit être au
même niveau (pas de template dans un template).
En résumant le code :
<xsl:template match="il s'agit ici de votre template">
bla bla bla ... de votre règle
<select>
bla bla bla ... de ma proposition plus bas entre les 2
balises "select"
</select>
bla bla bla ... de votre règle
</xsl:template>
<xsl:template name="selection">
bla bla bla ... de la règle "selection" plus bas
</xsl:template>
Veuillez répondre à xml-tech@xmlfr.org
Envoyé par : xml-tech-bounce@xmlfr.org
Pour : xml-tech@xmlfr.org
cc : (ccc : Denis BAYARD/E/EDFGDF/FR)
Objet : [xml-tech] ÿso-8859-1?Q?RE_:_[xml-tech]_Réf._:_xsl:if_...?X-MimeOLE:
Produced By Microsoft Exchange V6.0.6249.0
Merci Denis,
J'ai créé le template mais le problème c'est que je fais pleins de
traitements dans cette page et toute la page est englobée dans un template
déjà. Du coup, j'ai une erreur qui dit que je n'ai pas le droit de créer
un template dans un template. Une idée ?
-----Message d'origine-----
De : Denis BAYARD [mailto:denis.bayard@edfgdf.fr]
Envoyé : mardi 18 novembre 2003 12:06
À : xml-tech@xmlfr.org
Objet : [xml-tech] Réf. : xsl:if ...
Bonjour
Il est possible de créer une règle (appelée ici abitrairement
"selection"), et de l'appeler pour chaque option.
Je n'ai pas testé le code suivant, mais l'idée y est présente.
<select>
<xsl:attribute name="name">CABIN</xsl:attribute>
<xsl:attribute name="checked"><xsl:value-of
select="./CABIN_OUT/CODE"/></xsl:attribute>
<xsl:attribute name="class">content_listbox</xsl:attribute>
<xsl:call-template name="selection">
<xsl:with-param name="valeur">E</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="selection">
<xsl:with-param name="valeur">B</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="selection">
<xsl:with-param name="valeur">F</xsl:with-param>
</xsl:call-template>
</select>
<!-- Et voici la règle -->
<xsl:template name="selection">
<xsl:param name="valeur"/>
<option>
<xsl:attribute name="value"><xsl:value-of
select="$valeur"/></xsl:attribute>
<xsl:if test="./CABIN_OUT/CODE = '$valeur'" >
<xsl:attribute
name="selected">selected</xsl:attribute>
</xsl:if>
</option>
</xsl:template>
Veuillez répondre à xml-tech@xmlfr.org
Envoyé par : xml-tech-bounce@xmlfr.org
Pour : xml-tech@xmlfr.org
Objet : [xml-tech] xsl:if ...
Bonjour tout le monde,
Dans mon xsl, j'ai pas mal de listes de selection (cf exemple ci-dessous).
Et pour chaque option du select, je fais un test if et je le mets a
selected=selected. Ce qui fait que je peux arriver a avoir pas mal de
boucles if(3 dans mon exemples deja...). Il y a surement un moyen d'eviter
ca et d'optimiser le code.
Je connais xsl:choose et xsl:when, est ce que c'est mieux ? y a-t-il autre
chose ?
Merci.
<select>
<xsl:attribute name="name">CABIN</xsl:attribute>
<xsl:attribute name="checked"><xsl:value-of
select="./CABIN_OUT/CODE"/></xsl:attribute>
<xsl:attribute name="class">content_listbox</xsl:attribute>
<option>
<xsl:attribute name="value">E</xsl:attribute>
<xsl:if test="./CABIN_OUT/CODE = 'E'" >
<xsl:attribute name="selected">selected</xsl:attribute>
</xsl:if>
Economique
</option>
<option>
<xsl:attribute name="value">B</xsl:attribute>
<xsl:if test="./CABIN_OUT/CODE = 'B'" >
<xsl:attribute name="selected">selected</xsl:attribute>
</xsl:if>
Business
</option>
<option>
<xsl:attribute name="value">F</xsl:attribute>
<xsl:if test="./CABIN_OUT/CODE = 'F'" >
<xsl:attribute name="SELECTED"/>
</xsl:if>
Première
</option>
</select>
--
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)
--
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)
--
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)
--
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
|