Create a table with sorting : table « XSLT stylesheet « XML






Create a table with sorting


File: Data.xml 



<?xml version="1.0" encoding="iso-8859-1"?>
<document>
    <author>author</author>
    <title>XSLT 2.0 Programmer's Reference</title>
    <copyright/>
    <date/>
    <abstract>abstract
    </abstract>
</document>


File: Transform.xslt
<html xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xsl:version="1.0">
  <head>
    <title>A list of books</title>
  </head>
  <body>
    <h1>A list of books</h1>
    <table border="2">
      <xsl:for-each select="//book">
        <xsl:sort select="author" />
        <tr>
          <td>
            <xsl:value-of select="author" />
          </td>
          <td>
            <xsl:value-of select="title" />
          </td>
          <td>
            <xsl:value-of select="@category" />
          </td>
          <td>
            <xsl:value-of select="price" />
          </td>
        </tr>
      </xsl:for-each>
    </table>
  </body>
</html>
Output:
<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>A list of books</title>
   </head>
   <body>
      <h1>A list of books</h1>
      <table border="2"></table>
   </body>
</html>

 








Related examples in the same category

1.Use xslt style sheet to output data in a table
2.Output to a table
3.for-each loop and table output
4.Sort a column
5.Use for-each to output table rows
6.select value for table cell
7.Get value with value-of for table cell
8.Use for-each to loop through nodes in certain level
9.Fill more one value into table cell
10.use
to format value in a table cell
11.Create table header and content in separated templates
12.One template per table row
13.Add row number
14.number column
15.Generate two tables
16.Create table header
17.Sort first then output to table