Bonjour à tous d'un petit nouveau

J'ai un problème sur lequel je planche depuis 4 jours et pour lequel je n'ai toujours pas trouvé de solution.
Bon c'est un problème de débutant que je souhaitais résoudre tout seul dans mon coin mais j'ai vraiment du mal!

J'ai la dtd suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<!ELEMENT enseignement (matiere*,etudiant)> 
<!ELEMENT matiere (libelle)>
<!ATTLIST matiere ident ID #REQUIRED
            responsable IDREF #IMPLIED>
<!ELEMENT libelle (#PCDATA)>
 
<!ELEMENT etudiant(nom*,prenom*,note)>
<!ATTLIST etudiant ident ID #REQUIRED>
<!ElEMENT nom (#PCDATA)>
<!ELEMENT prenom (#PCDATA)>
<!ELEMENT note (#PCDATA)>
<!ATTLIST note ident ID #REQUIRED
		 matiere IDREF #IMPLIED>
Je souhaite récupérer le min et le max des notes concernant chaque matière. Il m'a donc semblé judicieux décrire dans un fichier xsl les requêtes suivantes :

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
<xsl:for-each select="enseignement/matiere">
 
		<xsl:variable name="mat" select="@ident"/>
 
		<xsl:value-of select="libelle"/>
 
		<xsl:for-each select="../etudiant/note[@matiere=$mat]">
				<xsl:sort select="."/>
 
				<xsl:if test="position()=1"> Note maximale : <xsl:value-of select="."/></xsl:if>
 
			</xsl:for-each>
 
 
			<xsl:for-each select="../etudiant/note[@matiere=$mat]">
				<xsl:sort select="." order="descending"/>
 
				<xsl:if test="position()=1"> Note minimale : <xsl:value-of select="."/></xsl:if>
 
			</xsl:for-each>
 
		</xsl:for-each>
Hélas ça ne marche pas du tout, et j'ai vraiment tout tenté ! Il semblerait que mon xsl:sort ne me donne pas les notes d'une même matières dans un ordre croissant (ou décroissant quand je le demande d'ailleurs).
Voilà, si parmis vous quelqu'un a perçoit mon problème, je lui serais éternellemnt reconnaissant