Bonjour,

J'ai une petite question concernant l'écritue d'un HTML via un XSL à partir de XML.

1. Le but:
créer un tableau html à partir de plusieurs XML pour ensuite importer le tableau dans Excel
2. Les données
Elles peuvent être sous la forme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
<Root>
<blabla1></blabla1>
<blabla2></blabla2>
</Root>
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
<Root>
<blabla1></blabla1>
<blabla2></blabla2>
<blabla3></blabla3>
<blabla4></blabla4>
</Root>
Donc dans certains XML, il y a des données que l'on ne retrouve pas dans d'autres.

3. Ce que j'ai fait

je construit le header, la première ligne du tableau et ensuite j'appelle
le template.
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
<xsl:template match="Root">
    <html>
      <head>
        <title>Review</title>
      </head>
      <body bgColor="#FFFFFF">
	<table border="1">
	  <tr bgColor='#DDDDFF'>
	    <td>Id</td>
           <xsl:for-each select="$TemplateFile/Titre">
		<td><xsl:value-of select="@Name"/></td>
	    </xsl:for-each>
	  </tr>
	  <xsl:apply-templates/>
	</table>
      </body>
    </html>
  </xsl:template>
et mes templates sont de la forme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<xsl:template match="blabla1">
     <td><xsl:value-of select="."/></td>
  </xsl:template>
idem avec blabla2, 3 et 4

4. Le problème
Ben si un XML ne contient pas blabla3 par exemple, dans ce cas, mon tableau est raccourci
et j'ai:
Id..........blabla1........blabla2........blabla3...........blabla4
id1...........bla1...........bla2............bla4
id2...........bla1...........bla2............bla3...............bla4
au lieu de
Id..........blabla1........blabla2........blabla3...........blabla4
id1...........bla1...........bla2................................bla4
id2...........bla1...........bla2............bla3...............bla4
Quelqu'un aurait-il une idée à me proposer?

Merci beaucoup d'avance pour votre aide.
Amicalement.