Bonjour,

J'ai deux fichiers .xml ayant la synthaxe suivante :
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
 
fichier : a.xml
<rapport date="01/01/2006">
	<rubrique id="rubrique_1">
		<element id="M" actuel="1" />
		<element id="C" actuel="2" />
		<element id="D" actuel="3" />
	</rubrique>
</rapport>
 
fichier : b.xml
<rapport date="01/01/2006">
	<rubrique id="rubrique_1">
		<element id="M" actuel="4" />
		<element id="C" actuel="5" />
		<element id="D" actuel="6" />
	</rubrique>
</rapport>
Je souhaite afficher une synthèse :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
[Rubrique :  rubrique_1]
 
elements | 01/01/2006 | 01/02/2006 | Evolution |
------------------------------------------------
 M       |      1     |      2     |   + 1     |
------------------------------------------------
 C       |      2     |      4     |   + 2     |
------------------------------------------------
 D       |      3     |      6     |   + 3     |
------------------------------------------------
Pour ce faire, soit je fais dans le fichier "b.xml" reference à "a.xml"
Soit, je cree un fichier tiers avec reference sur "a.xml" et "b.xml"
ce qui est plus propre.

Maintenant le probléme :
Je dois parcourir l'arborescence d'un fichier (par exemple celui de "a.xml")
et pour chaque element de celui ci, je dois aller chercher le noeud equivalent dans "b.xml"

j'essaye d'utiliser les variables :

Lorsque je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
	<xsl:variable name="a">
		<xsl:value-of select="document('a.xml')/rapport/@date"/>
	</xsl:variable>
	<xsl:value-of select="$a" />
j'obtiens bien : 01/01/2006

mais lorsque j'essaye :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
	<xsl:variable name="a">
		<xsl:value-of select="document('a.xml')/rapport"/>
	</xsl:variable>
	<xsl:value-of select="$a/@date" />
j'obtiens le message d'erreur suivant : La référence à une variable ou un paramètre « a » doit correspondre à une liste de noeuds.

j'ai essaye d'utiliser
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
	<xsl:variable name="a">
		<xsl:copy-of select="document('a.xml')/rapport" />
	</xsl:variable>
mais sans resultat.

Merci pour votre aide