Bonjour, j'ai deux fichiers XML, les voici :

book1.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
 
<livre>
<chapitre name="Chap1" num="1" lu="0">
<page num="1" lue="0">
</page>
<page num="2" lue="0">
</page>
<page num="3" lue="0">
</page>
<page num="4" lue="0">
</page>
<page num="5" lue="0">
</page>
</chapitre>
</livre>
book2.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
 
<livre>
<chapitre name="Chap1" num="1" lu="TRUE">
<page num="1" lue="TRUE">
</page>
<page num="2" lue="TRUE">
</page>
<page num="3" lue="TRUE">
</page>
<page num="4" lue="FALSE">
</page>
<page num="5" lue="FALSE">
</page>
</chapitre>
</livre>
Mon but est de copier entièrement le fichier book1.xml tout en mettant à jour la valeur des attributs "lue" des éléments <page> après vérification dans book2.xml, pour avoir une version du fichier xml mise à jour.
Voici ma feuille xsl, mais ça ne marche pas, je me suis inspiré d'un exemple que j'ai trouvé sur le site, ici :http://xml.developpez.com/sources/?page=modifs#I_maj.

xsl:
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
 
<xsl:template match="node()">
	<xsl:copy>
		<xsl:apply-templates select="node()|@*"/>
	</xsl:copy>
</xsl:template>
 
 
<xsl:template match="@*">
		<xsl:choose>
			<xsl:when test="document('book2.xml')/livre/chapitre/page/@lue='TRUE'">
				<xsl:attribute name="lue">
					<xsl:value-of select="replace(.,'0','TRUE')"/>
				</xsl:attribute>	
			</xsl:when>
			<xsl:otherwise>
				<xsl:attribute name="{name()}">
					<xsl:value-of select="."/>
				</xsl:attribute>
			</xsl:otherwise>
		</xsl:choose>			
	</xsl:template>
 
 
</xsl:stylesheet>
J'utilise Saxon8 avec java si ça peut aider.

D'avance merci.