XSLT <xsl:sort> 元素
定义和用法
<xsl:sort> 元素用于对输出结果进行排序。
注意:<xsl:sort> 总是位于 <xsl:for-each> 或 <xsl:apply-templates> 内部。
语法
<xsl:sort select="expression" lang="language-code" data-type="text|number|qname" order="ascending|descending" case-order="upper-first|lower-first"/>
属性
属性 | 值 | 描述 |
---|---|---|
select | XPath-expression | 可选。规定节点的排序关键字,即根据哪个节点或节点集来排序。 |
lang | language-code | 可选。规定排序所用的语言。 |
data-type | text number qname | 可选。规定被排序的数据的数据类型。默认是 "text"。 |
order | ascending descending | 可选。规定排序顺序。默认是 "ascending"。 |
case-order | upper-first lower-first | 可选。规定是首先按大写字母顺序还是小写字母顺序进行排序。 |
实例
下面的例子将以 artist 为关键字进行排序:
实例
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr style="background-color: #9acd32;"> <th>Title</th> <th>Artist</th> </tr> <xsl:for-each select="catalog/cd"> <xsl:sort select="artist"/> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>尝试一下 »