XSLT排序核心是xsl:sort元素,须置于xsl:for-each或xsl:apply-templates内;支持按元素、属性、表达式排序,可指定data-type和order实现数值/字符串/日期等多类型升降序,允许多级排序。
用XSLT给XML排序,核心是
xsl:sort
元素,它必须放在
xsl:for-each
或
xsl:apply-templates
内部,用来指定排序依据和规则。
基本排序语法
最常用的是按元素文本内容升序
排列
:
这里
select="title"
表示按
子元素的文本值排序,默认升序(
),不写也可省略。
控制排序方向和数据类型
数值、日期、字符串默认都按字符串比较,容易出错。需显式指定
data-type
和
order
:
—— 按数字降序排价格
—— 强制按字符串升序(如 ISO 格式日期可直接比)
—— 提取年份再数值排序
多级排序(主序+次序)
多个
xsl:sort
元素顺序即优先级顺序。例如先按作者姓氏、再按书名:
jQuery缩略图网格排列大图切换代码
jQuery缩略图网格排列大图切换代码是一款将所有缩略图以网格形式排列,当用户点击某张缩略图时,会以九宫格切片组合动画的方式组合出高清大图,效果非常棒。
下载
by
注意:第二级排序只在第一级相同时生效,逻辑与 SQL 中
一致。
按属性或表达式排序
除了子元素,还能按属性值或任意 XPath 表达式排序:
—— 按
属性数值排序
—— 拼接后按全名排序
—— 按标题长度降序
只要
select
返回一个有效值(字符串、数字或布尔值),就能作为排序键。
order="ascending"ORDER BY last_name, titleid