共用方式為


<xsl:sort> 元素

指定 <xsl:for-each> 或 <xsl:apply-templates> 所選取之節點清單的排序準則。

<xsl:sort
  select = string-expression 
  lang = { nmtoken }
  data-type = { "text" | "number" | QName }
  order = { "ascending" | "descending" }
  case-order = { "upper-first" | "lower-first" }
  /> 

屬性

  • select
    節點的排序鍵。 一種運算式,它以指定的節點評估做為目前的節點、並使用以未排序的順序進行處理之節點的完整清單評估,做為目前的節點清單。 結果物件會轉換為字串,以做為該節點的排序鍵使用。 select 屬性的預設值為 "."。 它可讓目前節點的字串值當作排序鍵使用。

  • lang
    用來決定排序順序的語言字母。 若未指定 lang 值,則會從系統環境來決定語言。

  • data-type
    字串的資料型別。 下表列出 data-type 屬性所允許的值。

    text

    指定排序鍵應依字母順序排序。

    number

    指定排序鍵應轉換為數字,然後再依數值排序。 排序鍵會轉換為數字。

    QName

    展開為展開名稱。 展開名稱可識別資料型別。

    若未指定資料型別,則會將運算式的型別當作預設值。

  • 順序
    字串的排序順序。 預設值是 "ascending"。

  • case-order
    依大小寫排序字串的順序。 預設值為 "upper-first",會以大寫字母優先的方式排序字串。

項目資訊

發生次數

無限制

父項目

xsl:apply-templatesxsl:for-each

項目子系

(沒有項目子系)

備註

這種排序演算法會在排序時忽略破折號。 這是一種「字組排序」方法,會先排序 "coop",再排序 "co-op" 這種字。

例如,若要排序下列項目的順序:

30a-allow

30-allow

以這種方式,排序會將這些項目視為:

30aallow

30allow