<?xml version="1.0" ?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="/">
      <xsl:apply-templates />
    </xsl:template>

  <!-- 
    suppress the display of all text nodes that are not specifically requested
  -->
    <xsl:template match="text()" /> 


  <!-- 
	match the dinosaur element and begin processing content
  -->
    <xsl:template match="dinosaurs">
      <!-- Begin standard header -->
      <html>
      <head>
        <title>Same but using pure XML</title>
        <style type="text/css">
          body { font-family: Verdana, Times, Serif; }
       </style>
      </head>
      <body>

        <table style="border: solid thin black">
          <tr>
            <td><a href="mammoth.html">Visit the Mammoth zone!</a> - </td>
            <td><a href="play.html">Play Pteranodon Poker</a></td>
          </tr>
        </table>
      <!-- End standard header -->

        <h1>My big list of dinosaurs</h1>

        <xsl:apply-templates />		<!-- apply template to each child -->

      <!-- Begin standard footer -->
        <hr/>
        Copyright 2003 DinosaurOrg.
      <!-- End standard footer -->

    </body>
    </html>
  </xsl:template>

  <xsl:template match="dinosaur">
    <h2><xsl:value-of select="@name"/></h2>
    <xsl:value-of select="description/text()"/>
    <ul>
        <xsl:apply-templates />		<!-- apply template to each child -->
    </ul>
  </xsl:template>

 <xsl:template match="weight">
    <li><b>Weight: </b><xsl:value-of select="text()" /> tons</li>
  </xsl:template>

  <!-- Almost exactly the same as "weight" -->
  <xsl:template match="length">
    <li><b>Length: </b><xsl:value-of select="text()" /> m</li>
  </xsl:template>

  <!-- Again, almost exactly the same as "weight" -->
  <xsl:template match="color">
    <li><b>Color: </b><xsl:value-of select="text()" /></li>
  </xsl:template>

</xsl:stylesheet>