[XML][debutant] reference sur arborescence d'un autre fichier xml
Bonjour,
J'ai deux fichiers .xml ayant la synthaxe suivante :
Code:
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:
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:
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:
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:
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