Ce que j'aimerais c'est pouvoir utiliser "param1" pour soit aller chercher le
contenu d'une balise <b> fille de <a> ou fille de <a2>, respectivement si
"param1" vaut "/a" ou "/a2".
Je ne peut pas enlever les quotes autour "/b" sinon "/b" est évaluation au
moment de la création de mon chemin ce qui ne donne rien lorsque que l'on est
au niveau du noeud <test>.
Je ne sais pas s'il est possible de résoudre le problème sans changer de
méthode, peut-être qu'il existe une autre façons pour obtenir le résultat
voulut.
Pour plus de clarté j'ai réécrit et testé mon exemple :
________XML________________________________________________________
<?xml version="1.0" encoding="UTF-8"?>
<exemple>
<test>
<a>
<b>texte</b>
</a>
<a2>
<b>texte</b>
</a2>
</test>
</exemple>
____________________________________________________________________
_______XSL__________________________________________________________
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="exemple">
<xsl:apply-templates select="test">
<xsl:with-param name="param1" select="'/a'" />
</xsl:apply-templates>
</xsl:template>
<xsl:template match="test">
<xsl:param name="param1" />
<xsl:variable name="var1" select="concat($param1,'/b')" />
Sortie : [<xsl:value-of select="$var1" />]
</xsl:template>
</xsl:stylesheet>
_________________________________________________________________________
Bourgois Guillaume
Selon COLLET Herve <Herve.COLLET@gemplus.com>:
>
>
> BOnjour,
>
> je pense que la syntaxe qui fonctionne est plutôt:
>
> <xsl:template match="test">
> <xsl:param name="param1" />
> <xsl:variable name="var1" select="concat($param1,./a/b)" />
> Sortie : [<xsl:value-of select="$var1" />]
> </xsl:template>
>
> En quotant '/b' je pense que tu n'évalue pas le noeud <b> de ton XML
> d'entrée.
>
> De plus <b> est en sous neoud de <a> donc de <test> tu ne peux l'atteind
> que par test/a/b et pas directement /b.
>
> Me trompes-je ??
>
> Amicalement
>
> Hervé
>
> > -----Original Message-----
> > From: xml-tech-bounce@xmlfr.org [mailto:xml-tech-bounce@xmlfr.org]On
> > Behalf Of osopardo@free.fr
> > Sent: lundi 6 septembre 2004 12:23
> > To: xml-tech@xmlfr.org
> > Subject: [xml-tech] creation de chemins dynamiquement
> >
> >
> >
> > Bonjour,
> >
> > J'ai besoin de créer des chemins dynamiquement selon des
> > paramètres passées a un
> > template, j'ai donc essayer ce qui suis (version simplifiée)
> >
> > ___________XSL_______________________________________________
> >
> > [...]
> > <xsl:apply-templates select="test">
> > <xsl:with-param name="param1" select="'a'" />
> > </xsl:apply-templates>
> > [...]
> >
> >
> > <xsl:template match="test">
> > <xsl:param name="param1" />
> > <xsl:variable name="var1" select="concat($param1,'/b')" />
> > Sortie : [<xsl:value-of select="$var1" />]
> > </xsl:template>
> >
> > ___________XML___________________________________________________
> >
> > <test>
> > <a>
> > <b>texte</b>
> > </a>
> > </test>
> >
> > Le chemin est bien créer comme je le souhaite mais je me retrouve avec
> > "Sortie[a/b]" au lieu de "Sortie[texte]"
> > (tout fonctionne bien si je remplace "concat($param1,'/b'" par "a/b")
> >
> > Bourgois Guillaume
> >
> > --
> > 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)
Received on Mon Sep 6 14:31:07 2004