Condividi tramite


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

xsl:apply-templates, xsl:for-each

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