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
    可选。指定是先对大写字母还是小写字母排序
  • 示例

    下面的示例将按艺术家对输出进行排序:
    <?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>My CD Collection</h2>
        <table border="1">
          <tr bgcolor="#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>