[xslt] Variable et pattern

Variable et pattern [xslt] - XML/XSL - Programmation

Marsh Posté le 05-11-2004 à 00:26:20    

Bonjour g un petit probleme avec les pattern :
 
je voudrais faire ce qui suit mais evidement ca arche pas :)
 

Code :
  1. <xsl:variable name="l">
  2.     <xsl:value-of select="$var1" />
  3. </xsl:variable>
  4. <xsl:apply-templates select="//archive/child::*/$l"/>


 
En fait dans $var1 il y a le nom d'un noeud je voudrais donc traiter tout les noeud ayant comme nom $var1 a ce niveau du document xml : //archive/child::*/
 
pour etre claire si $var1 contient Voiture je voudrais obtenir ceci
 

Code :
  1. <xsl:apply-templates select="//archive/child::*/Voiture"/>


 
Merci de votre aide


Message édité par touxe le 05-11-2004 à 00:28:50
Reply

Marsh Posté le 05-11-2004 à 00:26:20   

Reply

Marsh Posté le 05-11-2004 à 16:34:31    

et si tu fais un  
<xsl:for-each select="//archive/*">
<xsl-if test="name(.)=$var1">
<xsl:for-each>

Reply

Marsh Posté le 05-11-2004 à 16:35:09    

ouai enfin apres le if tu met ton call template et tu ferme bien sur

Reply

Marsh Posté le 05-11-2004 à 16:40:44    

Code :
  1. <?xml version="1.0"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:template match="/">
  4. <xsl:variable name = "za">azaz</xsl:variable>
  5.   <xsl:for-each select = "zz/aa/*">
  6.   <xsl:if test = "name(.)=$za">
  7.   <xsl:value-of select="." />
  8.   </xsl:if>
  9.   </xsl:for-each>
  10.  
  11. </xsl:template>
  12. </xsl:stylesheet>
  13. avec comme xml
  14. <zz>
  15. <aa>
  16. <azaz>
  17. yes print me
  18. </azaz>
  19. <azazs>
  20. no get out
  21. </azazs>
  22. </aa>
  23. <bb>
  24. </bb>
  25. </zz>

Reply

Marsh Posté le 05-11-2004 à 16:53:05    

Et ca marcherait pas un :
<xsl:apply-templates select="//archive/child::*/*[name() = $l]"/>   ?


Message édité par mixoumix le 08-11-2004 à 10:08:38
Reply

Marsh Posté le 05-11-2004 à 16:59:34    

avec tout ca s'il y arrive pas ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed