<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