use
to format value in a table cell : table « XSLT stylesheet « XML






use
to format value in a table cell



File: Data.xml


<employees>
  <employee eid="98145" dept="programming">
    <title>Java Programmer</title>
    <contact addInfo="info1">
      <name>
        <firstName>Joe</firstName>
        <middleName int="B">Brian</middleName>
        <lastName>Smith</lastName>
      </name>
      <address>
        <street>1 Drive</street>
        <city>Vancouver</city>
        <state>BC</state>
        <zipcode>80210</zipcode>
      </address>
      <phone>
        <tel type="wk">111-1111111</tel>
        <tel type="hm">222-222222</tel>
        <fax>303-4667357</fax>
      </phone>
      <email>a@a.com</email>
    </contact>
    <hireDate>2008-10-29</hireDate>
  </employee>

</employees>
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:template match="employees">
    <html>
      <head>
        <title>Employee Data</title>
      </head>
      <body>
        <table>
          <tr>
            <th>Name</th>
            <th>Hire Date</th>
            <th>Address</th>
            <th>Phone</th>
            <th>Fax</th>
            <th>Email</th>
          </tr>
          <xsl:for-each select="employee">
            <tr>
              <td>
                <xsl:value-of
                  select="contact/name/name" />
                <xsl:value-of
                  select="contact/name/middleName" />
                <xsl:value-of
                  select="contact/name/lastName" />
              </td>
              <td>
                <xsl:value-of select="hireDate" />
              </td>
              <td>
                <xsl:value-of
                  select="contact/address/street" />
                <br />
                <xsl:value-of
                  select="contact/address/city" />
                ,
                <xsl:value-of
                  select="contact/address/state" />
                <xsl:value-of
                  select="contact/address/zip" />
              </td>
              <td>
                WK:
                <xsl:value-of
                  select="contact/phone/tel[@type=wk]" />
                <br />
                HM:
                <xsl:value-of
                  select="contact/phone/tel[@type=hm]" />
              </td>
              <td>
                <xsl:value-of
                  select="contact/phone/fax" />
              </td>
              <td>
                <xsl:value-of select="contact/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>Employee Data</title>
   </head>
   <body>
      <table>
         <tr>
            <th>Name</th>
            <th>Hire Date</th>
            <th>Address</th>
            <th>Phone</th>
            <th>Fax</th>
            <th>Email</th>
         </tr>
         <tr>
            <td>BrianSmith</td>
            <td>2008-10-29</td>
            <td>1 Drive<br>Vancouver
                               ,
                               BC
            </td>
            <td>
                               WK:
                               <br>
                               HM:
                               
            </td>
            <td>303-4667357</td>
            <td>a@a.com</td>
         </tr>
      </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.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