Output to a table : table « XSLT stylesheet « XML






Output to a table


File: Data.xml

<?xml version="1.0" encoding="utf-8"?>
<emailList>
  <person>
    <name>person1</name>
    <email>p@hotmail.com</email>
  </person>
  <person>
    <name>person2</name>
    <email>p@hotmail.com</email>
  </person>
  <person>
    <name>person3</name>
    <email>p3@hotmail.com</email>
  </person>
</emailList>


File: Transform.xslt

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
          version="1.0"
          xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
  <xsl:template match="/">
    <html>
      <head>
        <title>Email Listing</title>
      </head>
      <body>
        <table>
          <tr>
            <th>Name</th>
            <th>E-mail Address</th>
          </tr>
          <xsl:for-each select="emailList/person">
            <tr>
              <td><xsl:value-of select="name"/></td>
              <td><xsl:value-of select="email"/></td>
            </tr>
          </xsl:for-each>
        </table>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>
Output:

<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>Email Listing</title>
   </head>
   <body>
      <table>
         <tr>
            <th>Name</th>
            <th>E-mail Address</th>
         </tr>
         <tr>
            <td>person1</td>
            <td>p@hotmail.com</td>
         </tr>
         <tr>
            <td>person2</td>
            <td>p@hotmail.com</td>
         </tr>
         <tr>
            <td>person3</td>
            <td>p3@hotmail.com</td>
         </tr>
      </table>
   </body>
</html>

 








Related examples in the same category

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