Bonjour

Je suis un débutant en Xpath. J'essaye depuis d'extraire un partie d'un fichier XML à l'aide de XPath, mais je n'arrive pas au résultat souhaité.

Voici un peu à quoi ressemble le contenu de mon fichier 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
24
25
 
      <niveau1>
	  <niveau1>
		  <u1>
                  <ustext>Mon Titre 1</ustext>
                  </u1>
                  <rz>39</rz>
                  <para>MonParagraphe 1</para>
                  <rz>40</rz>
                  <para>MonParagraphe 2</para>
                  <rz>41</rz>
                  <para> MonParagraphe 3</para>
         </niveau1>
	 <niveau1>
                 <u1>
                  <ustext>Mon Titre 2</ustext>
                  </u1>
                  <rz>39</rz>
                  <para>MonParagraphe 4</para>
                  <rz>40</rz>
                  <para>MonParagraphe 5</para>
                  <rz>41</rz>
                  <para>MonParagraphe 6</para>
         </niveau1>
      </niveau1>
Je voudrais extraire rien que les parties comprises entre les <niveau1> pour obtenir un truc de ce genre:
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
 
                  <u1>
                  <ustext>Mon Titre 1</ustext>
                  </u1>
                  <rz>39</rz>
                  <para>MonParagraphe 1</para>
                  <rz>40</rz>
                  <para>MonParagraphe 2</para>
                  <rz>41</rz>
                  <para> MonParagraphe 3</para>
 
                  <u1>
                  <ustext>Mon Titre 2</ustext>
                  </u1>
                  <rz>39</rz>
                  <para>MonParagraphe 4</para>
                  <rz>40</rz>
                  <para>MonParagraphe 5</para>
                  <rz>41</rz>
                  <para>MonParagraphe 6</para>
Voici à quoi ressemble mon code Xpath:
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
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" indent="yes"/>
 
<xsl:template match="@*">
  <xsl:copy />
</xsl:template>
<xsl:template match="*">
  <xsl:element name="{name()}" >
    <xsl:apply-templates select="* | text() | @*"/>
  </xsl:element>
</xsl:template>
 
<xsl:template match="niveau1">
	<xsl:copy-of select="./*"/>
    <xsl:copy-of select="/niveau1/following::*"/>
</xsl:template>
 
</xsl:stylesheet>
Quelqu'un pourrait-il me donner une orientation?

Merci d'avance