<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
展開名に展開されます。展開名はデータ型を識別します。
データ型が指定されていない場合は、既定で式の型が使用されます。
- order
文字列の並べ替え順。既定値は"ascending"
です。
- case-order
大文字小文字を基準として文字列を並べ替える方法。既定値は、大文字の順位が上になる"upper-first"
です。
要素情報
出現回数 |
無制限 |
親要素 |
|
子要素 |
(子要素はありません) |
解説
この並べ替えアルゴリズムでは、並べ替えを行うときにダッシュ記号を無視します。これは、たとえば "co-op" の順位を "coop" の下にすることを意図した「単語ソート」法です。
たとえば、次のような並べ替え順が生成されたとします。
30a-allow
30-allow
並べ替えではこれらの項目が次のように扱われます。
30aallow
30allow