XSL : Création de balise dynamique ?

XSL : Création de balise dynamique ? - XML/XSL - Programmation

Marsh Posté le 08-06-2004 à 11:41:42    

Bonjour,
 
Je chercher à creer un arbre XML à laquelle j'applique une feuille XSL.
Je souhaiterais pouvoir créer des balises à la volée exemple :
 

Code :
  1. <xsl:for-each select='z:row'>
  2. <'{@NOM_FCT}'>
  3.             <toto />
  4.         </'{@NOM_FCT}'>
  5. </xsl:for-each>


 
Cela est il possible ? Si oui comment faire ? Il me semble que dans la doc officielle, il est interdit d'avoir ce genre de caractere, mais je suis persuadé que je ne suis pas le 1er à avoir ce genre de soucis, et que d'autres ont dut le resoudre !
 
Merci de votre aide !

Reply

Marsh Posté le 08-06-2004 à 11:41:42   

Reply

Marsh Posté le 08-06-2004 à 12:35:57    

Je ne suis pas sur de comprendre, mais le nom de la balise que tu veux créer, il vient d'où ? Si c'est la valeur de row, par exemple, tu peux le faire, en remplaçant le caractère < par &lt;. Ca va résulter le caractere < dans ton fichier de sortie, et générer alors tes balises pour ton nouveau XML.
 
Mais je ne sais pas si j'ai bien compris ta question...
 
edit:XML pas XSLT ;-)


Message édité par ucl-madcow le 08-06-2004 à 12:37:13
Reply

Marsh Posté le 08-06-2004 à 13:08:24    

Ca ne marche pas :(
Je confirme que j'ai bien @NOM_FCT dans mon xml de base car j'ai :
 

Code :
  1. <z:row NOM_FCT="NOM_Func_01" ID_FCT="4" />
  2. <z:row NOM_FCT="NOM_Func_02" ID_FCT="6" />


 
Voici mon XSL :
 

Code :
  1. <root indice_bd="BD">
  2.   <xsl:for-each select='z:row'>
  3.     &lt;'{@NOM_FCT}'/&gt;
  4.   </xsl:for-each>
  5. </root>


 
Voici ce que j'aimerais avoir :

Code :
  1. <NOM_Func_01 />
  2. <NOM_Func_02 />


 
Voici le résultat que j'ai :
 

Code :
  1. <root indice_bd="BD"><{@NOM_FCT}/> <{@NOM_FCT}/></root>


 
Que faire ?


Message édité par wishy le 08-06-2004 à 13:11:57
Reply

Marsh Posté le 08-06-2004 à 13:30:44    

Essaie d'utiliser la balise <xsl:element> pour créer tes balises :
 
http://www.laltruiste.com/document [...] olution=30

Reply

Marsh Posté le 08-06-2004 à 13:52:53    

Ca fonctionne merci bcp !

Reply

Sujets relatifs:

Leave a Replay

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