Bonjour!
Merci à tous ceux qui m'ont aidé!
Eric ta solution marche très bien (comme d'hab)...
J'ai une autre petite question à poser:
J'ai un fragment d'un document XML suivant :
<banque-client>
<num-compte>4521700001K65</num-compte>
<ref>2004000001LM526</ref>
</banque-client>
Que je dois transformer de cette façon:
<compteno><xsl-value-of select="substring(num-compte,1,11)"/></compteno>
<cle><xsl-value-of select="substring(num-compte,11,2)"/></cle>
<ref-client><xsl-value-of select="substring(ref,1,12)"/></ref-client>
Pour éviter d'écrire des substring de façon répétitive, j'ai une idée d'écrire un template nommé que j'appelerai ensuite par call-template (le résultat de l'appel étant placé dans les varibles v1,v2,v3) pour arriver au résultat suivant:
<xsl:template match="/">
<xsl:apply-templates select="banque-client"/>
</xsl:template >
<xsl:template match="banque-client">
<compteno><xsl-value-of select="$v1"/></compteno>
<cle><xsl-value-of select="$v3"/></cle>
<ref-client><xsl-value-of select="$v3"/></ref-client>
</xsl:template>
J'ai essayé de faire le template nommé avec des xsl:param, que j'ai appelé dans call-template (en fournissant au modèle des paramètres avec with-param) mais j'ai vite abandonner vu mon XSLT!
Avez-vous des pistes?
Je sais qu'en XSLT une variable ne peut pas évoluer au courant du temps!
Si je déclare une variable de cette façon:
<xsl:variable nom="sous_chaine">
<xsl:call-template nom="sub">
<xsl:with-param name="chaine1" select="num-compte"/>
<xsl:with-param name="indice1" select="1"/>
<xsl:with-param name="indice2" select="11"/>
</xsl:variable>
Question: je peux changer des valeurs de paramètres comme je veux (par exemple je mets la valeur de indice1 à 5 et de indice2 à 7)?
Si oui, la variable n'aura plus son sens en XSLT car on aura donc le droit de changer sa valeur (rien qu'en changeant la valeur de l'un des paramètres)comme on veut ce qui apparemment est interdit ?
Je vous remercie d'avance et bonne journée!
---------------------------------
Découvrez le nouveau Yahoo! Mail : 250 Mo d'espace de stockage pour vos mails !
Créez votre Yahoo! Mail
--
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 2 17:56:17 2005