[XSLT] erreur incompréhensible
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:
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:
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:
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:
Citation:
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.