Bonjour à vous tous,
Dans mon XSLT je veux trier mes éléments Personne d'après trois critères. Mon problème est que les personne qui ne contienne pas de Fonction (premier paramètre de tri) sont renvoyés avec celle qui en ont (le reste du tri est correcte). Y a t'il un moyen de les faire venir à la fin?
XSLT:
Merci
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 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:template match="/"> <xsl:apply-templates select="PersonneList"/> </xsl:template> <xsl:template match="PersonneList"> <xsl:element name="{local-name()}"> <xsl:apply-templates select="Personne"> <xsl:sort data-type="number" select="Fonction/F/@Number" order="ascending"/> <xsl:sort data-type="number" select="Signature/S/@Number" order="ascending"/> <xsl:sort data-type="text" select="Personnel/Nom" order="ascending"/> </xsl:apply-templates> </xsl:element> </xsl:template> <xsl:template match="Person"> <xsl:copy-of select="."/> </xsl:template> <xsl:template match="*"> <xsl:copy> <xsl:apply-templates select="@*"/> <xsl:apply-templates/> </xsl:copy> </xsl:template> <xsl:template match="@*"> <xsl:copy-of select="."/> </xsl:template> <xsl:template match="text()[normalize-space() = '']"/> </xsl:stylesheet>
Partager