<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" です。
要素情報
出現回数 |
無制限 |
親要素 |
|
子要素 |
(子要素はありません) |
解説
この並べ替えアルゴリズムでは、並べ替えを行うときにダッシュ記号を無視します。 これは、たとえば "co-op" の順位を "coop" の下にすることを意図した「単語ソート」法です。
たとえば、次のような並べ替え順が生成されたとします。
30a-allow
30-allow
並べ替えではこれらの項目が次のように扱われます。
30aallow
30allow