Mega Code Archive

 
Categories / XML / XSLT StyleSheet
 

Format table cell during transforming

File: Data.xml <?xml version="1.0"?> <employees>   <employee eid="98145" dept="programming">     <title>Java Programmer</title>     <contact addInfo="info1">       <name>         <firstName>J</firstName>         <middleName int="B">Brian</middleName>         <lastName>S</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 cellpadding="5" bgcolor="#cccccc">           <tr>             <th>Number</th>             <th>Name</th>             <th>Hire Date</th>             <th>Address</th>             <th>Phone</th>             <th>Fax</th>             <th>Email</th>           </tr>           <xsl:apply-templates/>         </table>       </body>     </html>   </xsl:template>   <xsl:template match="employee">     <tr>       <td><xsl:number/></td>       <xsl:apply-templates select="contact"/>     </tr>       </xsl:template>   <xsl:template match="contact">     <td><xsl:value-of select="name/firstName"/> <xsl:value-of select="name/middleName"/> <xsl:value-of select="name/lastName"/></td>     <td><xsl:value-of select="../hireDate"/></td>     <td><xsl:value-of select="address/street"/>         <br />         <xsl:value-of select="address/city"/>, <xsl:value-of select="address/state"/> <xsl:value-of select="address/zip"/>     </td>     <td>WK: <xsl:value-of select="phone/tel[@type=wk]"/>             <br />         HM: <xsl:value-of select="phone/tel[@type=hm]"/>     </td>     <td><xsl:value-of select="phone/fax"/></td>     <td><xsl:value-of select="email"/></td>   </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 cellpadding="5" bgcolor="#cccccc">          <tr>             <th>Number</th>             <th>Name</th>             <th>Hire Date</th>             <th>Address</th>             <th>Phone</th>             <th>Fax</th>             <th>Email</th>          </tr>                      <tr>             <td>1</td>             <td>JBrianS</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>