File: Data.xml
<?xml version="1.0" encoding="UTF-8"?>
<provinces>
<province id="AB">
<name>Alberta</name>
<abbreviation>AB</abbreviation>
</province>
<province id="BC">
<name>British Columbia</name>
<abbreviation>BC</abbreviation>
</province>
</provinces>
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:output doctype-system="http://www.w3.org/TR/html4/strict.dtd" />
<xsl:output doctype-public="-//W3C//DTD HTML 4.01//EN" />
<xsl:template match="provinces">
<html>
<head>
<title>Provinces of Canada and Abbreviations</title>
</head>
<body>
<h3>
Provinces of Canada and Abbreviations
</h3>
<table>
<thead>
<tr>
<td>Province</th>
<td>Abbreviation</th>
</tr>
</thead>
<tbody align="center">
<xsl:apply-templates select="province" />
</tbody>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="province">
<tr>
<xsl:apply-templates select="name|abbreviation" />
</tr>
</xsl:template>
<xsl:template match="name|abbreviation">
<td>
<xsl:apply-templates />
</td>
</xsl:template>
</xsl:stylesheet>
Output:
<!DOCTYPE html
PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Provinces of Canada and Abbreviations</title>
</head>
<body>
<h3>
Provinces of Canada and Abbreviations
</h3>
<table>
<thead>
<tr>
<td>Province</th>
<td>Abbreviation</th>
</tr>
</thead>
<tbody align="center">
<tr>
<td>Alberta</td>
<td>AB</td>
</tr>
<tr>
<td>British Columbia</td>
<td>BC</td>
</tr>
</tbody>
</table>
</body>
</html>