Bonjour à tous,
J'ai beaucoup de mal a trouver après un tri quel est le premier élement,
Je m'explique
Soit le xml 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
 
<Files>
    <File >      
        <Season>2012</Season>
        <IssueDate>2012-03-02T00:00:00</IssueDate>
        <Number>95284</Number>
        <Link>https0</Link>
        <Name>DEV pdf</Name>
        <Language>FR-FR</Language>
        <Valid>1</Valid>
        <BeginDate>2012-03-02</BeginDate>
        <EndDate>2013-12-31</EndDate>
        <Service >
            <PK>21909986-81AD-4DF1-B2CA-618831C1E073</PK>
            <Name>Préparation - Distribution</Name>
        </Service>
    </File>
    <File >
 
        <Season>2012</Season>
        <IssueDate>2012-07-31T00:00:00</IssueDate>
        <Number>104878</Number>
        <Link>htt8</Link>
        <Name>DEV </Name>
        <Language>FR-FR</Language>
        <Valid>1</Valid>
        <BeginDate>2012-07-31</BeginDate>
        <EndDate>2013-12-31</EndDate>
        <Service >
            <PK>21909986-81AD-4DF1-B2CA-618831C1E073</PK>
            <Name>Préparation - Distribution</Name>
        </Service>
    </File>
    <File >
 
        <Season>2012</Season>
        <IssueDate>2012-02-23T00:00:00</IssueDate>
        <Number>93691</Number>
        <Link>httpl</Link>
        <Name>DEV </Name>
        <Language>FR-FR</Language>
        <Valid>1</Valid>
        <BeginDate>2012-02-23</BeginDate>
        <EndDate>2013-12-31</EndDate>
        <Service >
            <PK>21909986-81AD-4DF1-B2CA-618831C1E073</PK>
            <Name>Agriculture</Name>
        </Service>
    </File>
    <File >
 
        <Season>2012</Season>
        <IssueDate>2012-08-06T00:00:00</IssueDate>
        <Number>104883</Number>
        <Link>https:p</Link>
        <Name>DEV - Certificat AB V2.pdf</Name>
        <Language>EN-GB</Language>
        <Valid>1</Valid>
        <BeginDate>2012-08-06</BeginDate>
        <EndDate>2013-12-31</EndDate>
        <Service >
            <PK>21909986-81AD-4DF1-B2CA-618831C1E073</PK>
            <Name>Préparation - Distribution</Name>
        </Service>
    </File>
    <File >
 
        <Season>2012</Season>
        <IssueDate>2012-01-23T00:00:00</IssueDate>
        <Number>88589</Number>
        <Link>httpsv</Link>
        <Name>DEV </Name>
        <Language>FR-FR</Language>
        <Valid>1</Valid>
        <BeginDate>2012-01-23</BeginDate>
        <EndDate>2013-12-31</EndDate>
        <Service >
            <PK>21909986-81AD-4DF1-B2CA-618831C1E073</PK>
            <Name>Agriculture</Name>
        </Service>
    </File>
    <File >
 
        <Season>2012</Season>
        <IssueDate>2012-02-14T00:00:00</IssueDate>
        <Number>92049</Number>
        <Link>https:/P</Link>
        <Name>DEV </Name>
        <Language>FR-FR</Language>
        <Valid>1</Valid>
        <BeginDate>2012-02-14</BeginDate>
        <EndDate>2013-12-31</EndDate>
        <Service >
            <PK>21909986-81AD-4DF1-B2CA-618831C1E073</PK>
            <Name>Préparation - Distribution</Name>
        </Service>
    </File>
    <File >
 
        <Season>2012</Season>
        <IssueDate>2012-08-06T00:00:00</IssueDate>
        <Number>104882</Number>
        <Link>https:/O</Link>
        <Name>DEV</Name>
        <Language>FR-FR</Language>
        <Valid>1</Valid>
        <BeginDate>2012-08-06</BeginDate>
        <EndDate>2013-12-31</EndDate>
        <Service >
            <PK>21909986-81AD-4DF1-B2CA-618831C1E073</PK>
            <Name>Agriculture</Name>
        </Service>
    </File>
</Files>>
Je souhaiterai classer mes elmeent par Service/Name ET par langue
J'ai essayé d'adapter une méthode muench mais je n'y arrive pas du tout

Début de code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
    <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
   <xsl:key name="language" match="//Language" use="."/>
<!--    <xsl:key name="begindate" match="BeginDate" use="."/>
-->    <xsl:key name="name" match="Service/Name" use="."/><!--
    <xsl:key name="issuedate" match="IssueDate" use="."/>
    <xsl:key name="number" match="Number" use="."/>-->
 
 
    <xsl:template match="/">
Un peu plus loin..
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
 
 
                            <xsl:for-each select="//File">
                                <xsl:sort select="Service/Name" order="descending"/>
                                <xsl:sort select="Language" order="ascending"/>                                    
                                <xsl:sort select="Season" order="descending"/>
                                <xsl:sort select="BeginDate" order="descending"/>
 
 
 
 
                                <xsl:choose>
                                    <xsl:when test="substring(Service/Name, 0, 16) = 'EU 834/2007 Pré' and substring(BeginDate,0, 5) > substring(ex:date-time(),0, 5) - 4 and substring(Number,string-length(Number) - 1, 2) != 'AC'">
 
                                        <xsl:choose>
<!--                                            <xsl:when test="BeginDate[generate-id(.)=generate-id(key('begindate', .)[1])] and Number[not(x &lt; Number/x)]/x">-->
                                            <xsl:when test="Service/[generate-id(.)=generate-id(key('language', .)[1])]">
Si quelqu'un avait une idée...