<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",會以大寫字母優先的方式排序字串。
項目資訊
發生次數 |
無限制 |
父項目 |
|
項目子系 |
(沒有項目子系) |
備註
這種排序演算法會在排序時忽略破折號。 這是一種「字組排序」方法,會先排序 "coop",再排序 "co-op" 這種字。
例如,若要排序下列項目的順序:
30a-allow
30-allow
以這種方式,排序會將這些項目視為:
30aallow
30allow