Hello,
Je cherche a produire un formulaire HTML en 2 transformations XSL successive.
La première génère le code html des éléments du formulaires regroupé en zone et la seconde organise le code de ces zones (pour faire du templating, ie en changant la seconde XSL, on peut avoir une organisation du formulaire en 1 colonne, 2 colonnes, 3 colonnes...).
Dans mon XML, j'ai des définitions de champ regroupé par zone.
ex :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <form> <zone> <name>z1</name> <fields> <field> <name>field1</name> <type>text</name> <size>32</name> </field> <field> <name>field2</name> <type>text</name> <size>10</name> </field> ... </fields> </zone> ... </form>
Dans la première transformation (la xsl ne changera pas), je génère le code html pour chaque zone.
ex :
<zone>
<name>z1</name>
<htmlForZone>
field1 <input type="text" name="field1" size="32">
field2 <input type="text" name="field2" size="10">
</htmlForZone>
</zone>
<zone>
<name>z2</name>
<htmlForZone>
field3 <input type="text" name="field3" size="32">
field4 <input type="text" name="field4" size="10">
</htmlForZone>
</zone>
<zone>
<name>z3</name>
<htmlForZone>
field5 <input type="text" name="field5" size="32">
field6 <input type="text" name="field6" size="10">
</htmlForZone>
</zone>
et dans la seconde transformation (ici on peut changer la xsl), j'organise ces zones.
Z1
____
Z2|Z3
ou
Z1|Z2|Z3
etc...
Comment feriez vous ?
Je pensais faire comme cela :
générer le code html de la première transformation dans une section CDATA
puis reprendre le contenu de ces sections cdata dans la seconde transformation pour l'organiser comme je veux.
le truc, c'est que pour avoir dans le résultat de la transformation le texte :
<![CDATA[
]]>
ben je n'y arrive pas
si je met
<![CDATA[
ca me sort <![CDATA[ dans le résultat de la transformation.
si je met <![CDATA[ ben ca désactive mon code xsl..
bref, comment puis-je faire ?
et après comment je récupère le contenu de la section cdata dans ma seconde transfo ?
c'est une bonne idée de faire comme ca ou y'a plus simple ?
paquerette.
Partager