XSL 对输出元素排序方法

有两种方法:

1.使用 order-by 属性
IE5 & IE6 都适用:可以使用 xsl:for-each 和 xsl:apply-templates 两个元素的 order-by 属性来控制XSL处理器对元素的处理顺序,排序显示XML资料.
< xsl:for-each  select ="//BOOK"  order-by ="+NAME" >

</ xsl:for-each >

< xsl:for-each  select ="//BOOK"  order-by ="+NAME;-AUTHOR>

</xsl:for-each>

其中, +元素 为升序, -元素 为降序.如果要多个元素依次排列,中间用;号.


2.使用 xsl:sort 元素
IE6 适用,功能比上者更加强大. xsl:sort 同样需要和 xsl:for-each 和 xsl:apply-templates 两个元素配合使用,只是它不再作为这两个元素的属性,而是作为这两个元素的子元素出现.

它有几个重要属性:
data-type:如果为number,表示按数字格式排序;如果为text,表示按文本格式排序.
case-order:表示大写在前还是小写在前.可以设为 upper-first 或 lower-first.
lang:可以设为一个 NMTOKEN 值来表示按照该种语言排序.
order:可以设为ascending或descending,表示按升序还是降序排序.
< xsl:for-each  select ="//BOOK" >
    
< xsl:sort  select ="NAME"  data-type ="text" />
    
</ xsl:for-each >

你可能感兴趣的:(XSL)