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:
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>
la deuxième façon étant donné que j'ai plusieurs combos
c'est d'éclater les options et de tester chaque cas:
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>
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.

Merci par avance pour votre aide inestimable.
Amicalement
Gojira