Élément <xsl:sort>
Spécifie les critères de tri pour les listes de nœuds sélectionnées par <xsl:for-each>
ou <xsl:apply-templates>
.
<xsl:sort
select = string-expression
lang = { nmtoken }
data-type = { "text" | "number" | QName }
order = { "ascending" | "descending" }
case-order = { "upper-first" | "lower-first" }
/>
Attributs
- select
Clé de tri du nœud. Expression évaluée avec le nœud spécifié ou le nœud actuel et avec la liste complète des nœuds en cours de traitement dans un ordre aléatoire en tant que liste de nœuds actuelle. L'objet résultant est converti en une chaîne utilisée comme clé de tri pour ce nœud. La valeur par défaut de l'attributselect
est"."
. La valeur de chaîne du nœud actuel est alors utilisée comme clé de tri.
- lang
Alphabet utilisé pour déterminer l'ordre de tri. Si aucune valeurlang
n'est spécifiée, la langue est déterminée par l'environnement système.
data-type
Type de données des chaînes. Le tableau suivant répertorie les valeurs autorisées pour l'attributdata-type
.text
Spécifie que les clés de tri doivent être triées alphabétiquement.
number
Spécifie que les clés de tri doivent être converties en nombres, puis triées par ordre de valeur numérique. La clé de tri est convertie en un nombre.
QName
Développé en un nom développé qui identifie le type de données.
Si aucun type de données n'est spécifié, le type de l'expression est utilisé comme valeur par défaut.
- order
Ordre de tri des chaînes. La valeur par défaut est"ascending"
.
- case-order
Ordre de tri des chaînes selon les majuscules et minuscules. La valeur par défaut est"upper-first"
, qui trie les chaînes en classant les majuscules en premier.
Informations sur l'élément
Nombre d'occurrences |
Illimité |
Éléments parents |
|
Éléments enfants |
(Pas d'éléments enfants) |
Notes
Cet algorithme de tri ignore les traits d'union lors du tri. Il s'agit de la méthode dite du « tri par mots », qui classe ensemble des mots tels que « ultra-chic » et « ultrachic ».
Par exemple, l'ordre de tri suivant est utilisé :
30a-allow
30-allow
Le tri traite donc les éléments comme s'il s'agissait de :
30aallow
30allow