Valeur d'une fonction - XML/XSL - Programmation
Marsh Posté le 21-10-2006 à 18:46:30
Ben ouais, tu sélectionnes un truc, mais dans le sélect tu fait un concat... Donc tu va récupérer le résultat du concat ![[:petrus75] [:petrus75]](https://forum-images.hardware.fr/images/perso/petrus75.gif) 
 
 
Il faut que le chemin soit un noeud. Là t'as une string (!)
Marsh Posté le 21-10-2006 à 19:05:25
Oui j'avais bien imaginé, mais y a-t-il un moyen de le transformer en noeud afin de pouvoir apres recuperer sa valeur? 
Mon probleme sans faire un concat, c'est que  
<xsl:value-of select="../../items/item/(current()/name)/value)"/>  
Est illegal ... J'ai aussi essayé en mettant current()/name dans une variable et après la mettre dans le string mais c'est aussi interdit.. Du coup je commance a secher 
Marsh Posté le 22-10-2006 à 10:47:27
Idem  Mais ça fait depuis hier soir je que lis de la doc sur xsl , xpath & co et j'ai toujours rien trouvé
 Mais ça fait depuis hier soir je que lis de la doc sur xsl , xpath & co et j'ai toujours rien trouvé 
Marsh Posté le 22-10-2006 à 10:51:30
Ah attend, j'me souvient d'un truc, style : 
| <xsl:template name="pouet">  | 
 
Et 
| <xsl:call-template name="pouet">  | 
 
 
C'est un truc dans le genre...
Marsh Posté le 22-10-2006 à 10:56:48
J'ai déjà essayé  Quand je fais un :
 Quand je fais un : 
<xsl:value-of select="../../items/item/$truc/name/value"/> 
Mais ce con me pond un  
Error in expression ../../items/item/$truc/name/value: Unexpected token [$] in path expression
Marsh Posté le 22-10-2006 à 11:06:49
http://www.jeunesliberaux.ch/upload/tmp.xsl 
http://www.jeunesliberaux.ch/upload/tmp.xml 
 
Merci 
Marsh Posté le 22-10-2006 à 11:58:57
[précision entre deux recherches] 
 
T'as pas besoin de tout préfixer avec current(), genre : 
| Code : 
 | 
 
Peut-être réécrit 
| Code : 
 | 
Marsh Posté le 22-10-2006 à 12:05:20
merci 
Marsh Posté le 22-10-2006 à 12:15:07
Done ! 
 
Bon, va falloir un peu revoir ton XSL qui est un peu en bordel ![[:dawak] [:dawak]](https://forum-images.hardware.fr/images/perso/dawak.gif) 
 
 
 
Donc j'ai modifié là où t'as mis le <!-- ICI --> : 
| Code : 
 | 
 
J'ai fait une template en-dessous du coup : 
| Code : 
 | 
 
Et ouala ![[:dawak] [:dawak]](https://forum-images.hardware.fr/images/perso/dawak.gif) J'ai bien 215 dans en valeur de id... Maintenant faut faire les autres, d'où une réorganisation nécessaire de ta XSLT.
 J'ai bien 215 dans en valeur de id... Maintenant faut faire les autres, d'où une réorganisation nécessaire de ta XSLT. 
 
Donc le truc, c'est qu'on peut pas mettre comme ça de variable dans un xpath. T'es obligé d'utiliser : 
| Code : 
 | 
Marsh Posté le 22-10-2006 à 12:15:33
Au passage si tu te fais chier : http://www.dpawson.co.uk/xsl/sect2/sect21.html
Marsh Posté le 22-10-2006 à 12:36:05
Merci beaucoup Florent, je connaissais pas le coup du *[name()=$name]   
 
 
Je vais lire ton site web. 
 
Encore merci
Marsh Posté le 21-10-2006 à 18:44:13
Bonjour, le problème est simple à expliquer. J'ai :
<xsl:value-of select="concat('../../items/item/',current()/name,'/value')"/>
Et au lieu d'obtenir la valeur du noeux value, j'obtiens le path (c'est à dire ../../items/item/idvalue dans le cas ou current/name = id)
Je ne comprend pas bien pourquoi, on dirait que value-of me retourne directement ce qui est retourné par concat, au lieu de le prendre comme un noeud.
Est-ce que qqn peut m'éclairer?
Merci beaucoup
---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait