Bonjour,

J'ai un petit problème avec du code XSL.
Je suis débutant à ce niveau et ne comprends pas tout.
Néanmoins il me semblait que mon code était plutôt bon.
j'ai un XML parfaitement valide qui contient:
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
<Metiers Name='Metiers'>
      <Metier Name='Software' Order='1'></Metier>
      <Metier Name='Validation' Order='2'></Metier>
      <Metier Name='Hardware' Order='3'></Metier>
      <Metier Name='Project' Order='1'></Metier>
      <Metier Name='Integration' Order='2'></Metier>
      <Metier Name='System Test' Order='3'></Metier>
      <Metier Name='Technical Support' Order='1'></Metier>
      <Metier Name='Marketing' Order='2'></Metier>
      <Metier Name='Quality' Order='3'></Metier>
      <Metier Name='Subcontracter' Order='1'></Metier>
      <Metier Name='Client' Order='2'></Metier>
      <Metier Name='Architecture' Order='3'></Metier>
      <Metier Name='Tools' Order='1'></Metier>
    </Metiers>
je veux créer une table qui contient 3 colonne avec des <select>
(d'où les Order pour ordonner les lignes/colonnes
je fais donc:
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
31
  <table>
  <tr align="left">
  <xsl:template match="Metiers">
     <xsl:for-each select="Metier">
       <xsl:if test="@Order='3'">
         </tr><tr align="left">
       </xsl:if>
	<xsl:choose>
	  <xsl:when test="$InputFile/Review/Metiers/Metier[@Name=$Name]='N'">
	     <td style="font-size:10pt;font-weight:bold">@Name</td>
	     <td>
	     <select id="@Name" name="@Name" style="font-size:8pt">
	     <option value="N" selected></option>
	     <option value="Y">Yes</option>
	     </select>
	     </td>
          </xsl:when>
	  <xsl:when test="$InputFile/Review/Metiers/Metier[@Name=$Name]='Y'">
	    <td style="font-size:10pt;font-weight:bold">@Name</td>
	    <td>
	    <select id="@Name" name="@Name" style="font-size:8pt">
	    <option value="N"></option>
	    <option value="Y" selected>Yes</option>
	    </select>
	    </td>
          </xsl:when>
	</xsl:choose>
     </xsl:for-each>
  </xsl:template>
</tr>
</table>
ce qui me semble logique...

$inputFile est un fichier XML contenant une sauvegarde du formulaire.
Que l'on veut récupérer en construisant le <select>
Pour le code qui nous intéresse:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<Metier Name='Software'>Y</Metier>
<Metier Name='Project'>Y</Metier>
<Metier Name='System Test'>N</Metier>
<Metier Name='Technical Support'>N</Metier>
<Metier Name='Subcontracter'>N</Metier>
or j'ai l'erreur suivante:
Fatal Error at (file /.../fic.xsl, line 294, column 32): Expected end of tag 'xsl:if'
SAXParseException Message is: Expected end of tag 'xsl:if' (/.../fic.xsl, line 294, column 32)
qui correspond à la ligne en rouge.

Tout le reste du xls fontionne.
Si je supprime le code écrit ci-dessus, j'ai mon document.

Je ne vois pas d'où vient l'erreur.

Quelqu'un la voit-il?

Merci d'avance pour votre aide.