number column : table « XSLT stylesheet « XML






number column


File: Data.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="Transform.xslt" type="text/xsl"?>
<employees xmlns="http://www.domain.com/namespace/employee">
  <title>Employee Data File</title>
  <employee eid="1" dept="programming">
    <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
<xsl:stylesheet
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        version="1.0">
<xsl:template match="employees">
  <html>
    <head>
      <title>Employee Data Output</title>
    </head>
    <body>
      <table>
        <tr>
          <th>Number</th>
          <th>Name</th>
          <th>Email</th>
        </tr>
        
          <xsl:for-each select="employee">
          <tr>
            <td><xsl:number/></td>
            <td><xsl:value-of select="contact/name/firstName"/></td>
            <td><xsl:value-of select="contact/email"/></td>
            </tr>
          </xsl:for-each>
        
      </table>
    </body>
  </html>
</xsl:template>

</xsl:stylesheet>

Output:

<?xml version="1.0" encoding="UTF-8"?>
  Employee Data File
  
    
      
        Joe
        Brian
        Smith
      
      
        1 Drive
        Vancouver
        BC
        80210
      
      
        111-1111111
        222-222222
        303-4667357
      
      a@a.com
    
    2008-10-29
  

 








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.Create a table with sorting
15.Generate two tables
16.Create table header
17.Sort first then output to table