Bonjour,

je souhaiterai recuperer une partie d'un flux XML. toutes balises XML aillant une class="secure" comme attribut ainsi que les noeuds qu'elle contient.

voici mon code XML :

Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0"?>
<Test>touctouc
	<balise1 class="secure">alors!
		<b1> test1 <autre>tiens tiens!</autre></b1>
		<b2> test2 </b2>
		<b3> test3 </b3>
	</balise1>
	<balise2>rien de special</balise2>
	<balise3 class="secure">
		<b5> donnee1 </b5>
		<b6> donnee2 </b6>
	</balise3>
</Test>

et le code XSLT que j'ai "bricollé"

Code xml : 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
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0"
encoding="UTF-8" indent="yes"/>
 
 <xsl:template match="node()[@class='secure']">
 <xsl:copy>
	<xsl:apply-templates select="descendant-or-self::node()" />
 </xsl:copy>
 </xsl:template>
 
	<xsl:template match="node()">
	<xsl:for-each select="node()[@class ='secure']">
		<xsl:copy>
		<xsl:value-of select="descendant-or-self::node()" />
		</xsl:copy>
	</xsl:for-each>
	</xsl:template>
 
</xsl:stylesheet>
PS: ça m'affiche bien les balises contenant l'attribut class="secure" mais pas celle des noeuds qu'elle contient.

Merci d'avance à celui qui poura m'aider