<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:eb="http://elliottback.com/resume"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

	<xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes" indent="no"/>

	<xsl:variable name="lcletters">abcdefghijklmnopqrstuvwxyz</xsl:variable>
	<xsl:variable name="ucletters">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>

	<xsl:template match="/">
		<div class="span-24 last" style="background-color:#DDD;">
			<p style="padding:18px; margin:0; text-align:center; ">
				<xsl:call-template name="getName" />'s resume was generated from <a href="http://elliottback.com/resume/resume.xml">an XML file</a> and an <a href="http://elliottback.com/resume/resume-html.xsl">XSLT stylesheet</a> that automatically turned it into HTML.
			</p>
		</div>
		
		<hr></hr>
	
		<div class="column span-4">
			<h3>Objective</h3>
		</div>
		<div class="column span-20 last">
			<xsl:apply-templates select="eb:Resume/eb:Objective" />
		</div>

		<div class="column span-4">
			<h3>Education</h3>
		</div>
		<div class="column span-20 last">
			<xsl:apply-templates select="eb:Resume/eb:Education/child::node()[normalize-space()]" />
		</div>
		
		<xsl:apply-templates select="eb:Resume/eb:Skills/child::node()[normalize-space()]" />
		
		<div class="column span-4">
			<h3>Experience</h3>
		</div>
		<div class="column span-20 last">
			<xsl:for-each select="eb:Resume/eb:WorkExperience/eb:Employment">
				<div class="column span-20">
					<div class="column span-4">
						<h3 style="line-height:1.1em; font-weight:900;"><xsl:value-of select="eb:Date/@end"/></h3>
						<h4><xsl:value-of select="eb:Date/@start"/></h4>
					</div>
					<div class="column span-16 last">
						<p>
							<strong><xsl:value-of select="eb:Position"/><xsl:text>: </xsl:text></strong><xsl:value-of select="eb:Location"/>
							<br/><xsl:value-of select="eb:Description"/>
						</p>
					</div>
				</div>
			</xsl:for-each>
		</div>
		
		<div class="column span-4">
			<h3>Interests</h3>
		</div>
		<div class="column span-20 last" style="padding-bottom:18px;">
			<xsl:apply-templates select="eb:Resume/eb:Interests" />
		</div>
	</xsl:template>

	<xsl:template name="getName">
		<xsl:value-of select="//eb:Name/eb:First" /><xsl:text> </xsl:text><xsl:value-of select="//eb:Name/eb:Last" />
	</xsl:template>

	<xsl:template match="eb:Personal">
		<h2>
			<xsl:value-of select="eb:Contact/eb:Email" /> | <xsl:value-of select="eb:Contact/eb:Phone" />
		</h2>
	</xsl:template>

	<xsl:template match="eb:Objective">
		<p>
			<xsl:value-of select="." />
		</p>
	</xsl:template>

	<xsl:template match="eb:Technical">
		<div class="column span-4">
			<h3>Technical Skills</h3>
		</div>
		<div class="column span-20 last">
			<xsl:call-template name="getSkills" />
		</div>
	</xsl:template>

	<xsl:template match="eb:Language">
		<div class="column span-4">
			<h3>Language Skills</h3>
		</div>
		<div class="column span-20 last">
			<xsl:call-template name="getSkills" />
		</div>
	</xsl:template>

	<xsl:template name="getSkills">
		<p>
			<xsl:for-each select="child::node()[normalize-space()]">
				<strong><xsl:value-of select="local-name(.)" /><xsl:text>: </xsl:text></strong><xsl:value-of select="." /><xsl:text>. </xsl:text>
			</xsl:for-each>
		</p>
	</xsl:template>
	
	<xsl:template match="eb:Education/*">
		<div class="column span-20">
			<div class="column span-4">
				<h3 style="line-height:1.1em; font-weight:900;"><xsl:value-of select="eb:Date/@end"/></h3>
				<h4><xsl:value-of select="eb:Date/@start"/></h4>
			</div>
			<div class="column span-16 last">
				<p>
					<strong><xsl:value-of select="eb:Location"/><xsl:text>: </xsl:text></strong><xsl:value-of select="eb:College"/>
					<br/><xsl:value-of select="eb:Degree"/>
				</p>
			</div>
		</div>
	</xsl:template>
	
	<xsl:template match="eb:Interests">
		<xsl:for-each select="eb:Interest">
			<xsl:if test="position() > 1"><xsl:text>, </xsl:text><xsl:value-of select="translate(., $ucletters, $lcletters)"/></xsl:if>
			<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
		</xsl:for-each><xsl:text>.</xsl:text>
	</xsl:template>
</xsl:stylesheet>
