XSLT排序核心是xsl:sort元素,须置于xsl:for-each或xsl:apply-templates内;支持按元素、属性、表达式排序,可指定data-type和order实现数值/字符串/日期等多类型升降序,允许多级排序。

用XSLT给XML排序,核心是 xsl:sort 元素,它必须放在 xsl:for-each 或 xsl:apply-templates 内部,用来指定排序依据和规则。
基本排序语法
最常用的是按元素文本内容升序排列:
这里 select="title" 表示按 子元素的文本值排序,默认升序(order="ascending"),不写也可省略。
控制排序方向和数据类型
数值、日期、字符串默认都按字符串比较,容易出错。需显式指定 data-type 和 order:
-
—— 按数字降序排价格 -
—— 强制按字符串升序(如 ISO 格式日期可直接比) -
—— 提取年份再数值排序
多级排序(主序+次序)
多个 xsl:sort 元素顺序即优先级顺序。例如先按作者姓氏、再按书名:
特色介绍: 1、ASP+XML+XSLT开发,代码、界面、样式全分离,可快速开发 2、支持语言包,支持多模板,ASP文件中无任何HTML or 中文 3、无限级分类,无限级菜单,自由排序 4、自定义版头(用于不规则页面) 5、自动查找无用的上传文件与空目录,并有回收站,可删除、还原、永久删除 6、增强的Cache管理,可单独管理单个Cache 7、以内存和XML做为Cache,兼顾性能与消耗 8、
-
-
-
by
注意:第二级排序只在第一级相同时生效,逻辑与 SQL 中 ORDER BY last_name, title 一致。
按属性或表达式排序
除了子元素,还能按属性值或任意 XPath 表达式排序:
-
—— 按 id属性数值排序 -
—— 拼接后按全名排序 -
—— 按标题长度降序
只要 select 返回一个有效值(字符串、数字或布尔值),就能作为排序键。









