<?xml version="1.0"?>
<!-- XSL stylesheet for resume.dtd -->
<!-- Copyright 2001 Paul Crook paul2007 at paulcrook.net -->
<!-- This version makes an HTML page 70% wide (with tables) -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                version="1.0">
<xsl:import href="resume_functions.xsl"/>
<xsl:output method="html" encoding="ISO-8859-1"/>
<xsl:param name="display_width">70%</xsl:param>

<xsl:template match="/">
 <html>
  <xsl:text>
</xsl:text>
  <xsl:comment>
   <xsl:text>Copyright 2001 Paul Crook</xsl:text>
  </xsl:comment>
  <xsl:text>
</xsl:text>
  <head>
   <title>
    <xsl:value-of select="./resume/contact/name/first"/>
    <xsl:text> </xsl:text>
    <xsl:value-of select="./resume/contact/name/last"/>
   </title>
  </head>
  <body bgcolor="#FFFFFF">
   <xsl:apply-templates/>
  </body>
 </html>
</xsl:template>

<xsl:template match="resume">
 <xsl:apply-templates select="contact">
  <xsl:with-param name="display_width">
   <xsl:value-of select="$display_width"/>
  </xsl:with-param>
 </xsl:apply-templates>
 <xsl:call-template name="table">
  <xsl:with-param name="width">
   <xsl:value-of select="$display_width"/>
  </xsl:with-param>
  <xsl:with-param name="content">
   <xsl:apply-templates select="./qual"/>
   <xsl:apply-templates select="./exper"/>
   <xsl:apply-templates select="./edu"/>
  </xsl:with-param>
 </xsl:call-template>
</xsl:template>

<!-- handler for contact (subject of this resume) info -->
<xsl:template match="contact">
 <xsl:param name="display_width"/>
 <h1>
  <xsl:value-of select="./name/first"/>
  <xsl:text> </xsl:text>
  <xsl:value-of select="./name/last"/>
 </h1>
 <xsl:for-each select="./address/street">
  <xsl:value-of select="."/>
  <xsl:text>, </xsl:text>
 </xsl:for-each>
 <xsl:value-of select="./address/city"/>
 <xsl:text>, </xsl:text>
 <xsl:value-of select="./address/state"/>
 <xsl:text> </xsl:text>
 <xsl:value-of select="./address/zip"/>
 <xsl:text> </xsl:text>
 <xsl:value-of select="'&amp;#183;'" disable-output-escaping="yes"/>
 <xsl:text> </xsl:text>
 <xsl:value-of select="./address/phone"/>
 <xsl:text> </xsl:text>
 <xsl:value-of select="'&amp;#183;'" disable-output-escaping="yes"/>
 <xsl:text> </xsl:text>
 <xsl:element name="a">
  <xsl:attribute name="href">
   <xsl:text>mailto:</xsl:text>
   <xsl:value-of select="./address/email"/>
  </xsl:attribute>
  <xsl:value-of select="./address/email"/>
 </xsl:element>
 <hr align="left" width="{$display_width}" />
</xsl:template>

<!-- qualification section. should be able to generalize. -->
<xsl:template match="qual">
 <xsl:param name="rowcount">
  <xsl:value-of select="count(child::qualseg)"/>
 </xsl:param>
 <xsl:call-template name="headrow">
  <xsl:with-param name="heading">
   <xsl:value-of select="./heading"/>
  </xsl:with-param>
  <xsl:with-param name="numrows">
   <xsl:value-of select="$rowcount"/>
  </xsl:with-param>
  <xsl:with-param name="content">
   <xsl:value-of select="./qualseg[1]"/>
   <br />
   <br />
  </xsl:with-param>
 </xsl:call-template>
 <xsl:if test="./qualseg[2]">
  <xsl:for-each select="./qualseg[position()>1]">
   <xsl:call-template name="subcellrow">
    <xsl:with-param name="content">
     <xsl:apply-templates/>
     <br />
     <br />
    </xsl:with-param>
   </xsl:call-template>
  </xsl:for-each>
 </xsl:if>
</xsl:template>

<!-- experience section. should be able to replace with generalized qual. -->
<!-- but don't replace now; look at call-template below -->
<xsl:template match="exper">
 <xsl:param name="rowcount">
  <xsl:value-of select="count(child::experseg)"/>
 </xsl:param>
 <xsl:call-template name="headrow">
  <xsl:with-param name="heading">
   <xsl:value-of select="./heading"/>
  </xsl:with-param>
  <xsl:with-param name="numrows">
   <xsl:value-of select="$rowcount"/>
  </xsl:with-param>
  <xsl:with-param name="content">
   <xsl:apply-templates select="./experseg[1]"/>
   <br />
   <br />
  </xsl:with-param>
 </xsl:call-template>
 <xsl:if test="./experseg[2]">
  <xsl:for-each select="./experseg[position()>1]">
   <xsl:call-template name="subcellrow">
    <xsl:with-param name="content">
     <xsl:call-template name="experseg"/>
     <br />
     <br />
    </xsl:with-param>
   </xsl:call-template>
  </xsl:for-each>
 </xsl:if>
</xsl:template>

<!-- education section. should be able to replace with generalized qual. -->
<xsl:template match="edu">
 <xsl:param name="rowcount">
  <xsl:value-of select="count(child::eduseg)"/>
 </xsl:param>
 <xsl:call-template name="headrow">
  <xsl:with-param name="heading">
   <xsl:value-of select="./heading"/>
  </xsl:with-param>
  <xsl:with-param name="numrows">
   <xsl:value-of select="$rowcount"/>
  </xsl:with-param>
  <xsl:with-param name="content">
   <xsl:apply-templates select="./eduseg[1]"/>
   <br />
   <br />
  </xsl:with-param>
 </xsl:call-template>
 <xsl:if test="./eduseg[2]">
  <xsl:for-each select="./eduseg[position()>1]">
   <xsl:call-template name="subcellrow">
    <xsl:with-param name="content">
     <xsl:call-template name="eduseg"/>
     <br />
     <br />
    </xsl:with-param>
   </xsl:call-template>
  </xsl:for-each>
 </xsl:if>
</xsl:template>

<xsl:template match="heading">
 <strong>
  <xsl:apply-templates/>
  <xsl:text>: </xsl:text>
 </strong>
</xsl:template>

<xsl:template match="title">
 <strong>
  <xsl:apply-templates/>
  <xsl:text>: </xsl:text>
 </strong>
</xsl:template>

<xsl:template match="experseg" name="experseg">
 <xsl:call-template name="generalseg"/>
</xsl:template>

<xsl:template match="eduseg" name="eduseg">
 <xsl:call-template name="generalseg"/>
</xsl:template>

<xsl:template name="generalseg">
 <xsl:call-template name="three_cell_table">
  <xsl:with-param name="arg1">
   <xsl:value-of select="./dates"/>
  </xsl:with-param>
  <xsl:with-param name="arg2">
   <xsl:value-of select="./venue"/>
  </xsl:with-param>
  <xsl:with-param name="arg3">
   <xsl:value-of select="./address/city"/>
   <xsl:text>, </xsl:text>
   <xsl:value-of select="./address/state"/>
  </xsl:with-param>
 </xsl:call-template>
 <xsl:if test="./heading">
  <strong>
   <xsl:value-of select="./heading"/>
  </strong>
  <br />
 </xsl:if>
 <xsl:value-of select="./content"/>
</xsl:template>

</xsl:stylesheet>
