Elemento <xsl:sort>
Specifica i criteri di ordinamento, per <xsl:for-each> o per <xsl:apply-templates>, per gli elenchi di nodi selezionati.
<xsl:sort
select = string-expression
lang = { nmtoken }
data-type = { "text" | "number" | QName }
order = { "ascending" | "descending" }
case-order = { "upper-first" | "lower-first" }
/>
Attributi
select
La chiave di ordinamento per il nodo. Un'espressione valutata considerando il nodo specificato come nodo corrente e l'elenco completo dei nodi elaborato in ordine casuale come elenco dei nodi corrente. L'oggetto risultante viene convertito in una stringa utilizzata come chiave di ordinamento per il nodo. Il valore predefinito dell'attributo select è ".". Ne deriva che il valore di stringa del nodo corrente viene utilizzato come chiave di ordinamento.lang
L'alfabeto utilizzato per determinare l'ordinamento. Se non è specificato alcun valore lang, il linguaggio è determinato dall'ambiente di sistema.data-type
Il tipo di dati delle stringhe. Nella tabella seguente sono elencati i valori per l'attributo data-type.text
Specifica che le chiavi di ordinamento devono essere in ordine alfabetico.
number
Specifica che le chiavi di ordinamento devono essere convertite in numeri e quindi ordinate in base al rispettivo valore numerico. La chiave di ordinamento verrà convertita in un numero.
QName
Espanso in un nome espanso. Il nome espanso identifica il tipo di dati.
Se non è specificato alcun tipo di dati, verrà utilizzato il tipo dell'espressione.
order
L'ordinamento per le stringhe. Il valore predefinito è "ascending".case-order
L'ordinamento delle stringhe in base alla combinazione di maiuscole e minuscole. Il valore predefinito è "upper-first", che prevede l'ordinamento delle stringhe dando la precedenza alle maiuscole.
Informazioni sull'elemento
Numero di occorrenze |
Illimitato |
Elementi padre |
|
Elementi figlio |
(Nessun elemento figlio) |
Note
Questo algoritmo di ordinamento ignora i trattini. Si tratta di un metodo di ordinamento per parola, progettato per ordinare parole come "co-op" vicino a "coop".
Ad esempio, potrebbe risultare il seguente ordinamento:
30a-allow
30-allow
Pertanto, gli elementi vengono trattati così come sono:
30aallow
30allow