个性化阅读
专注于IT技术分析

XSLT xsl:sort元素

本文概述

XSLT <xsl:sort>元素用于在节点上指定排序条件。它以排序形式显示输出。

在XSL文件的<xsl:for-each>元素内添加了<xml:sort>元素, 以对输出进行排序。

<xsl:sort 
   select = string-expression  
   lang = { nmtoken } 
   data-type = { "text" | "number" | QName } 
   order = { "ascending" | "descending" } 
   case-order = { "upper-first" | "lower-first" } > 
</xsl:sort>

参数说明

Index Name Description
1) select 用于节点的排序键。
2) lang 它指定用于确定排序顺序的语言字母。
3) data-type 它指定文本的数据类型。
4) order 用于指定排序顺序。默认情况下, 排序顺序为升序。
5) case-order 用于通过大写指定字符串的排序顺序。默认值为”高优先级”。

XSLT <xsl:sort>元素示例

让我们以创建一个<employee>元素表为例, 该表的属性为” id”并为其子元素<firstname>, <lastname>, <nickname>和<salary>遍历每个学生, 并按姓氏对其进行排序。

employee.xml

<?xml version = "1.0"?>
<?xml-stylesheet type = "text/xsl" href = "employee.xsl"?> 
<class> 
   <employee id = "001">
      <firstname>Aryan</firstname> 
      <lastname>Gupta</lastname> 
      <nickname>Raju</nickname> 
      <salary>30000</salary>
   </employee> 
   <employee id = "024"> 
      <firstname>Sara</firstname> 
      <lastname>Khan</lastname> 
      <nickname>Zoya</nickname> 
      <salary>25000</salary>
   </employee> 
   <employee id = "056"> 
      <firstname>Peter</firstname> 
      <lastname>Symon</lastname> 
      <nickname>John</nickname> 
      <salary>10000</salary> 
   </employee> 
</class>

员工.xsl

<?xml version = "1.0" encoding = "UTF-8"?>
<xsl:stylesheet version = "1.0" 
xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">   
   <xsl:template match = "/"> 
      <html> 
         <body> 
            <h2>Employee</h2> 
            <table border = "1"> 
               <tr bgcolor = "pink"> 
                  <th>ID</th> 
                  <th>First Name</th> 
                  <th>Last Name</th> 
                  <th>Nick Name</th> 
                  <th>Salary</th> 
               </tr> 
               <xsl:for-each select = "class/employee"> 
               <xsl:sort select = "lastname"/> 
                     <tr> 
                     <td><xsl:value-of select = "@id"/></td> 
                     <td><xsl:value-of select = "firstname"/></td> 
                     <td><xsl:value-of select = "lastname"/></td> 
                     <td><xsl:value-of select = "nickname"/></td> 
                     <td><xsl:value-of select = "salary"/></td>   
                  </tr> 
               </xsl:for-each> 
            </table> 
         </body> 
      </html>
  </xsl:template>  
</xsl:stylesheet>

输出

XSLT Xsl排序元素1

注意:上表按姓氏排序。

赞(0)
未经允许不得转载:srcmini » XSLT xsl:sort元素

评论 抢沙发

评论前必须登录!