Bonjours, voila, pour une gestion de catalogue j'ai besoin de modifier mon document xml qui est de la forme :

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
<catalogue>
    <produit>
        <nom></nom>
        <prix></prix>
        <champ></champ>
        <champ></champ>
        <categories>
            <sous-categorie></sous-categorie>
            <sous-categorie></sous-categorie>
        </categories>
    </produit>
    <produit>
        <nom></nom>
        <prix></prix>
        <champ></champ>
        <champ></champ>
        <categories>
            <sous-categorie></sous-categorie>
            <sous-categorie></sous-categorie>
            <sous-categorie></sous-categorie>
        </categories>
    </produit>
</catalogue>


en :
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
<catalogue>
    <produit>
        <nom_1></nom_1>
        <prix_1></prix_1>
        <champ_1></champ_1>
        <champ_2></champ_2>
        <categories_sous-categorie_1></categories_sous-categorie_1>
        <categories_sous-categorie_2></categories_sous-categorie_2>
    </produit>
    <produit>
        <nom_1></nom_1>
        <prix_1></prix_1>
        <champ_1></champ_1>
        <champ_2></champ_2>
        <categories_sous-categorie_1></categories_sous-categorie_1>
        <categories_sous-categorie_2></categories_sous-categorie_2>
        <categories_sous-categorie_3></categories_sous-categorie_3>
    </produit>
</catalogue>

je debute en xml, je parviens à remonter tous les descendants de produit à la même profondeur que les fils direct de produit, ainsi qu'a concatener les noms des balises en les separant par des '_'
par contre je n'arrive pas à numéroter mes balises comme je le voudrai, c'est à dire incrémenter un compteur lorsqu'il rencontre d'autre occurence du même nom de balise au sein du même produit, sachant que la structure de chaque produit peut varier.
Est-ce possible de le faire directement en xsl ? si oui par quel moyen?
Merci d'avance.