Partager via


É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'attribut select 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 valeur lang 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'attribut data-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

xsl:apply-templates, xsl:for-each

É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