Bonjour à tous,

Je voudrais savoir s'il y a quelqu'un qui peut m'aider à résoudre un problème d'écriture d'une boucle en XSLT, ma question est la suivante :
Comment je peux écrire une transformation XML vers TXT qui traitera le document XML afin de compter en son sein le nombre d’éléments
<Name> consécutifs qui ont la même valeur et d’afficher pour chacun des premiers de chaque série ce nombre, une tabulation et cette valeur
Le document XMl est le suivant :
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<Document>
   <Balise>
      <Name>A</Name>
   </Balise>
   <Balise>
      <Name>A</Name>
   </Balise>
   <Balise>
      <Name>A</Name>
   </Balise>
   <Balise>
      <Name>B</Name>
   </Balise>
   <Balise>
      <Name>B</Name>
   </Balise>
   <Njoueur>
      <Name>B</Name>
   </Balise>
   <Balise>
      <Name>B</Name>
   </Balise>
   <Balise>
      <Name>B<Name>
   </Balise>
   <Balise>
      <Name>B</Name>
   </Balise>
   <Balise>
      <Name>B</Name>
   </Balise>
   <Balise>
      <Name>C</Name>
   </Balise>
   <Balise>
      <Name>C</Name>
   </Balise>
   <Balise>
      <Name>C</sName>
   </Balise>
...
   <Balise>
      <Name>Z</Name>
   </Balise>
...
<Document>
et voici ce que j'ai pu écrire en XSLT :
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
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="1.0">
    <xsl:output method="texte"/>
    <xsl:template match="Balise">
       <xsl:choose>
           <xsl:when test="Name = not(preceding-sibling::Name)">
               <xsl:value-of select="Name [position()=1]"/>
               <xsl:value-of select="count(//Name [ position()='1'])"/>
           </xsl:when>
           <xsl:otherwise>
           </xsl:otherwise>
       </xsl:choose>
    </xsl:template>
</xsl:stylesheet>
Merci de votre réponse !

Cordialement,