Appeler un template dynamiquement

Appeler un template dynamiquement - XML/XSL - Programmation

Marsh Posté le 16-05-2006 à 18:10:38    

Ca fait un bout de temps que je cherche à pouvoir appeler un template suivant la valeur d'un attribut d'une balise. Voici un ex de mon xml :


<document>
  <section name="toto">
  ...
  </section>
  <section name="titi">
  ...
  </section>
</document>


 
dans mon xsl, j'ai une boucle :


<xsl:for-each select="section">
  ->ici, je veux appeler le bon template en fonction de al valeur de l'attribut "name"
</xsl:for-each>


 
et 2 templates : 1 quand name de section vaut "toto" et 1 quand name de section vaut "titi".
 
Sauf que je n'arrive pas à appeler les templates :( J'ai pourtant essayé avec un  


<xsl:apply-templates select="@name" />
ou <xsl:call-template name="@name" />


 
mais ça ne marche pas. Qq'un pourrait m'aider svp? Merci :)

Reply

Marsh Posté le 16-05-2006 à 18:10:38   

Reply

Marsh Posté le 17-05-2006 à 10:46:10    

c'est possible au moins ce que je demande à faire où personne ne connait le réponse?

Reply

Marsh Posté le 17-05-2006 à 10:57:04    

Genre avec :

<xsl:apply-templates select="section" />


 
Puis :

<xsl:template match="select[@name='titi']">

Reply

Marsh Posté le 18-05-2006 à 14:13:49    

ça, j'avais pas encore essayé. Je teste de suite. Merci :jap:

Reply

Marsh Posté le 18-05-2006 à 14:31:22    

ça marche :)

Reply

Sujets relatifs:

Leave a Replay

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