Listing B (example.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" version="1.0" encoding="UTF-8" indent="yes"/>
  <xsl:param name="date" select="2003"/>
  <xsl:template match="/person">
    <html>
      <head>
        <title>XML and XSLT Example</title>
      </head>
      <body>
        <table>
          <tr>
            <td>Personal Information:</td>
            <td><xsl:value-of select="name/firstname" /></td>
            <td><xsl:value-of select="name/middlename" /></td>
            <td><xsl:value-of select="name/lastname" /></td>
          </tr>
          <tr>
            <td>Email Address:</td>
            <td colspan="3"><xsl:value-of select="email" /></td>
          </tr>
          <tr>
            <td>Department:</td>
            <td colspan="3"><xsl:value-of select="department" /></td>
          </tr>
          <tr>
            <td>Position:</td>
            <td colspan="3"><xsl:value-of select="position"/></td>
          </tr>
          <tr>
            <td>Date:</td>
            <td colspan="3"><xsl:value-of select="$date"/></td>
          </tr>
        </table>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>