Bonjour,
Je reviens avec une chose que je ne comprends pas.
J'ai un deux XML.
L'un contient les options d'un select.
L'autre contient la valeur sauvegardée du select.
Avec un xslt je veux pouvoir créer mon select à partir du premier XML mais lui donner la valeur du second XML (valeur qui appartient à l'ensemble des valeurs du premier)
Donc j'opère de deux façons:
la première consiste en:
la deuxième façon étant donné que j'ai plusieurs combos
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <xsl:template match="Node1"> <xsl:variable name="Name"><xsl:value-of select="@Name"/></xsl:variable> <xsl:for-each select="Node2"> <option> <xsl:if test="$InputFile/Node1/Node2/option[@Name=$Name]!=''"> <xsl:attribute name="selected">1</xsl:attribute> </xsl:if> <xsl:attribute name="value"> <xsl:value-of select="@Name" /> </xsl:attribute> <xsl:value-of select="@Name" /> </option> </xsl:for-each>
c'est d'éclater les options et de tester chaque cas:
Bon, c'est très moche... c'est pas du tout dans l'optique du xsl.. mais je débute là-dedans... et surtout pour mon cas particulier les tutoriaux du site ne m'ont pas beaucoup aidé dans le sens où je n'a pas réussi à les adapter à mon histoire.
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
20
21
22
23
24
25
26
27
28
29
30 <xsl:template match="Node2"> <xsl:variable name="Node2"><xsl:value-of select="@Name"/></xsl:variable> <td style="font-size:10pt;font-weight:bold"> <xsl:value-of select="@Name"/> </td> <td> <select id="{$Name}" name="{$Name}" style="font-size:8pt"> <xsl:choose> <xsl:when test="$InputFile/Node1/Node2[@Name=$Name]='Y'"> <option value=""></option> <option value="Y" selected="selected">Y</option> <option value="N">N</option> <option value="N/A">N/A</option> </xsl:when> <xsl:when test="$InputFile/Node1/Node2[@Name=$Name]='N'"> <option value=""></option> <option value="Y">Y</option> <option value="N" selected="selected">N</option> <option value="N/A">N/A</option> </xsl:when> <xsl:otherwise> <option value="" selected="selected"></option> <option value="Y">Y</option> <option value="N">N</option> <option value="N/A">N/A</option> </xsl:otherwise> </xsl:choose> </select> </td> </xsl:template>
Merci par avance pour votre aide inestimable.
Amicalement
Gojira
Partager