Bonjour

Je dois créer des tableaux dynamique en html a partir d'un fichier XML. j'ai réussi a créer mes tableaux mais lorsque les données ne sont pas présentees dans le fichier XML, j'obtiens des cases vide. Je voudrais mettre le caractère ':' lorsque la donnée n'existe pas dans le fichier XML

Voila un extrait de mon XML
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
 
<xml-yearbook>
	<document-header>
		<name>Yearbook data for the table T1A</name>
		<date>2009.11.24 17:44:01</date>
	</document-header>
	<data>
		<tablename>t1a</tablename>
		<ele-count>4024</ele-count>
		<list-country><code>4000</code><label>EU(2)</label></list-country>
		<list-country><code>EUXX</code><label>World(1)</label></list-country>
		...
		<list-country><code>0072</code><label>UKRAINE</label></list-country>
		<list-year><year>1958</year></list-year>
		...
		<list-year><year>2008</year></list-year>
		<list-ele>
			<ele declaring = "EUXX"  partner = "1000"  product = "TOTAL"  flow = "1"  year = "2007"  period = "52"  flag = "VALUE"  value = "1434009715.1100000" ></ele>
			<ele declaring = "EUXX"  partner = "1000"  product = "TOTAL"  flow = "2"  year = "2007"  period = "52"  flag = "VALUE"  value = "1241498059.5700000" ></ele>
			<ele declaring = "EUXX"  partner = "1000"  product = "TOTAL"  flow = "1"  year = "2008"  period = "52"  flag = "VALUE"  value = "1565034240.0100000" ></ele>
			<ele declaring = "EUXX"  partner = "1000"  product = "TOTAL"  flow = "2"  year = "2008"  period = "52"  flag = "VALUE"  value = "1306549465.5400000" ></ele>
			<ele declaring = "EUXX"  partner = "1000"  product = "TOTAL"  flow = "1"  year = "2004"  period = "52"  flag = "VALUE"  value = "1032358067.0700000" ></ele>
			...
Et voici le code XML que j'utilise

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
<xsl:template match="/">
  <html>
  <body>
  	<table border="1" cellspacing="0" cellpadding="5">
		<tr><td></td>
		<xsl:for-each select="//data/list-country">
			<td><xsl:value-of select="label"/></td>
		</xsl:for-each>
		</tr>
		<tr><td colspan="25">Value</td></tr>
 
		<xsl:for-each select="//data/list-year">
			<xsl:variable name="CurYear" select="year"/>
			<tr>
				<td><xsl:value-of select="year"/></td>
				<xsl:for-each select="//data/list-country">
					<td>					
					  	<xsl:call-template name="Find_Value">
					  	  <xsl:with-param name="Declaring" select="code" />
						  <xsl:with-param name="Year" select="$CurYear" />
				  	  	  <xsl:with-param name="Flow" select="1" />
				  	  	  <xsl:with-param name="Flag" select="'VALUE'" />
				  	  	  <xsl:with-param name="Coef" select="0.000001" />
					  	</xsl:call-template>
					</td>
				</xsl:for-each>
			</tr>
		</xsl:for-each>
	</table>
 
  </body>
  </html>
</xsl:template>
 
<xsl:template name="Find_Value">
  <xsl:param name="Declaring" select="XXX" />
  <xsl:param name="Year" select="XXX" />
  <xsl:param name="Flow" select="XXX" />
  <xsl:param name="Flag" select="XXX" />
  <xsl:param name="Coef" select="0" />
 
  	<xsl:for-each select="//data/list-ele/ele">	
    	<xsl:if test="@declaring = $Declaring and @year = $Year and @flow = $Flow and @flag = $Flag ">
			<xsl:value-of select="format-number(@value * $Coef, '### ##0,0', 'european')"/>
	 	</xsl:if> 
  	</xsl:for-each> 
</xsl:template>
 
</xsl:stylesheet>
je n'arrive pas a intégrer dans ma fonction "Find_Value", le fait qu'il a trouver ou non une valeur.

Auriez-vous une solution a me proposer?

La seule solution que je vois pour le moment est de rajouter les lignes manquantes dans le fichier XML avec pour valeur ':' mais cette solution ne m'arrange pas du tout...

Merci d'avance