Bonjour,

Je souhaite effectué un 1er regroupement (celui la j'y arrive), puis ensuite un 2nd en plus du premier (et la ça bloque) pour au final afficher les titres trié pa LIEU puis par CAT

voici un exemple de code XML sur lequel j'aimerais appliqué ce procédé :

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
<BIBLIO>
 
	<LIVRES>
 
		<LIVRE isbn="i_123" cat="NR">
			<TITRE>Les fourmis</TITRE>
			<AUTEUR>Bernard Werber</AUTEUR>
			<EDITEUR>Albin Michel</EDITEUR>
			<LIEU>ex_biblio1</LIEU>
		</LIVRE>
 
		<LIVRE isbn="i_762" cat="P">
			<TITRE>Capitaine Hornblower</TITRE>
			<AUTEUR>C.S Forester</AUTEUR>
			<LIEU>ex_biblio2</LIEU>
		</LIVRE>
 
		<LIVRE isbn="i_521" cat="NR">
			<TITRE>Hercule Poirot</TITRE>
			<AUTEUR>Agatha CHRISTIE</AUTEUR>
			<EDITEUR>Bodley Head</EDITEUR>
			<LIEU>ex_biblio1</LIEU>
		</LIVRE>

et voici mon code XSLT pour le 1er regroupement (peut-être moche car c'est la 1ère fois que j'utilise la méthode muench...)

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
<xsl:key name="regrouperL" match="LIEU" use="."/>
 
    <xsl:template match="/BIBLIO">
     ...                    
                    <xsl:apply-templates select="LIVRES/LIVRE"/> 
     ...
    </xsl:template>
 
 
    <xsl:template match="LIVRE">
        <td>
            <xsl:apply-templates select="LIEU[generate-id(.)=generate-id(key('regrouperL',.)[1])]"/>
        </td>    
    </xsl:template>
 
 
    <xsl:template match="LIEU">
        <tr>
            <td>
                <xsl:copy-of select="."/>
            </td>
            <td>
                <xsl:apply-templates select="//LIVRE/TITRE[../LIEU = current()]"/>
            </td>
        </tr>
    </xsl:template>
 
 
    <xsl:template match="TITRE">      
    <li>
        <xsl:value-of select="."/>
    </li>
    </xsl:template>

En sortie, j'ai un tableau avec 2 colonnes, 1 pour chaque lieu, et ls livres sont bien dans leur bonne colonne.
Maintenant il me faut réitiré ce procédé sur le nouvelle arbre en triant par l'attribut "cat"...

J'ai beau rééssayer d'appliqué Muench, j'obtiens un tableau vide à la fin...

Merci pour vos remarques.

PS: JE N'AI PAS LE DROIT AU FOR EACH POUR CETTE APPLICATION ^^