<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:output indent="yes" encoding="ISO-8859-1" media-type="text/xml; charset=ISO-8859-1" method="xml" omit-xml-declaration="no" standalone="yes" version="1.0" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" doctype-public="-//W3C//DTD XHTML 1.1//EN" />

<xsl:include href="cv_MarkWatkins_Common.xml" />

<xsl:variable name="destination" select="'html'" />
<xsl:variable name="table" select="'table'" />
<xsl:variable name="tablehead" select="'thead'" />
<xsl:variable name="tablebody" select="'tbody'" />
<xsl:variable name="tablerow" select="'tr'" />
<xsl:variable name="tablecell" select="'td'" />
<xsl:variable name="tablecellhead" select="'th'" />
<xsl:variable name="block" select="'div'" />
<xsl:variable name="inline" select="'span'" />

<xsl:variable name="marginleft" select="'margin-left'" />
<xsl:variable name="align" select="'align'" />


<xsl:template match="cv" name="cv">
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
	<meta http-equiv="Content-Style-Type" content="text/css" />
	<meta name="author" content="Mark Watkins" />
	<meta name="description" content="Mark Watkins' Curriculum Vitae, currently looking for a job in the Cork area, ideally creating websites.  Some relevant acronyms are: XML, XSL, XHTML, XSL, XSL:FO, SQL, VB, JavaScript/ECMAScript, VBScript, ASP, Perl, Java, ML" />
	<meta name="keywords" content="XML, XSL, XHTML, XSL, XSL:FO, SQL, VB, JavaScript/ECMAScript, VBScript, ASP, Perl, Java, ML" />
	<meta name="rating" content="General" />
	<!-- Need three separate tags as IE6 doesn't recognise @import url(blah.css) mediatype; -->
	<!--style type="text/css" media="all"><xsl:text disable-output-escaping="yes">&lt;!- -</xsl:text>@import url("../incs/cv.css");<xsl:text disable-output-escaping="yes">- -&gt;</xsl:text></style>
	<style type="text/css" media="print"><xsl:text disable-output-escaping="yes">&lt;!- -</xsl:text>@import url("../incs/cv_Print.css");<xsl:text disable-output-escaping="yes">- -&gt;</xsl:text></style>
	<style type="text/css" media="screen"><xsl:text disable-output-escaping="yes">&lt;!- -</xsl:text>@import url("../incs/cv_Screen.css");<xsl:text disable-output-escaping="yes">- -&gt;</xsl:text></style-->
	<link rel="Stylesheet" title="Primary Style" type="text/css" media="all" href="../incs/cv.css" />
	<link rel="Stylesheet" type="text/css" media="print" href="../incs/cv_Print.css" />
	<link rel="Stylesheet" type="text/css" media="screen" href="../incs/cv_Screen.css" />
	<link rel="Alternate Stylesheet" title="Only page layout, no other style" type="text/css" media="all" href="../incs/noStyle.css" />
	<link href="../gfx/SmartMe8_Disembodied16.png" rel="icon" />
	<link rel="Start" href="../" title="My home page" />
	<link rel="Section" title="Header" href="#header" />
	<link rel="Section" title="Page Content" href="#content" />
	<link rel="Section" title="Footer" href="#footer" />
	<xsl:for-each select="formats/url[@visibility='show' or @visibility='html' or not(@visibility)]">
	<link rel="Show" title="The {@description} version of my CV" href="{string(.)}" />
	</xsl:for-each>
	<title><xsl:value-of select="title" /></title>
	<!-- base target="_top" /--><!-- Validator doesn't like this for XHTML Script.  Harumph.  Add it to all the links.  -->
	<script type="text/javascript">
		<xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>// this page should never load inside of another frame
		if (top.location != self.location)
		{
			top.location = self.location;
		};
		//<xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
	</script>
</head>
<body>
	<!--h1 class="hidden">REMOVED THIS BECAUSE THE VIRGIN SITE ISN'T FINDING .css FILES SO THIS ALWAYS APPEARS!
		This site will look much better in a browser that supports recent
		<a href="http://www.webstandards.org/upgrade/" title="Download a browser that complies with Web standards.">web standards</a>,
		but it is accessible to any browser or Internet device.
	</h1-->
	<div class="ScreenOnly" id="PageHeader" style="clear : both;" title="Header: Site Navigation">
		<a id="header" title="The start of the header"><xsl:text> </xsl:text></a>
		<div class="ScreenOnly" style="float : left; clear : left; text-align : left;">
			<div title="Site Navigation">
				<strong><xsl:value-of select="title" /></strong>
				<a href="#content" title="Skip headers and go to page content"><img src="../gfx/0.gif" style="width: 0px;height: 0px;" alt="Skip headers and go to page content" /></a>
				(<a href="javascript:history.go(-1)" title="Return to the last page you were on">Go Back</a>)
				(<a href="../" rel="Start" title="Go to this site's front page">Home</a>)
				(<a title="Send Mark Watkins an email" href="mailto:{string(vitalstats/contacts/contact[@type='email']/email[@type='primary'])}">Email</a>)
			</div>
			<div title="Links to my CV">
				<strong>CV Versions:</strong>
				<xsl:for-each select="formats/url[@visibility='show' or @visibility='html' or not(@visibility)]">
				(<a href="{string(.)}" title="The {@description} version of my CV"><xsl:value-of select="@description" /></a>)<xsl:text> </xsl:text>
				</xsl:for-each>
			</div>
		</div>
		<script type="text/javascript">
			<xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>//
			if (window.print <xsl:text disable-output-escaping="yes">&amp;&amp;</xsl:text> (navigator.appName != "Netscape" || parseInt(navigator.appVersion) != "4")) {
				document.write('<div class="ScreenOnly" style="float : right; clear : right; text-align : right;" title="Print this page">');
				document.write('<a href="javascript:window.print();">');
				document.write('<img style="float: left;" alt="Click to print this page" src="../gfx/printer.gif" />Print<br />this page</a>')
				document.write('</div>');
			};
			//<xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
		</script>
	</div>

	<div class="PageContent" style="clear : both;" title="{title}">
		<a id="content" title="The start of the page content"><xsl:text> </xsl:text></a>
		<xsl:apply-templates select="vitalstats" />
		<xsl:apply-templates select="experience[@type='positions']" />
		<xsl:apply-templates select="experience[@type='products']" />
		<xsl:apply-templates select="experience[@type='education']" />
		<xsl:apply-templates select="experience[@type='positions']/pastwork" />
		<xsl:apply-templates select="experience[@type='leisure']" />
		<xsl:call-template name="references" />
	</div>

	<div class="ScreenOnly" id="PageFooter" style="clear : both;" title="Footer: Useful Links and Date Last Altered">
		<a id="footer" title="The start of the footer"><xsl:text> </xsl:text></a>
		<div class="ScreenOnly" style="float : right; clear : right; text-align : right;">
			<div  title="This site validates to current W3C markup and accessibility standards">
				|	<a href="http://validator.w3.org/check/referer" title="Validate this page's XHTML"><img style="width : 88px ; height : 31px;" src="../gfx/valid-xhtml11.gif" alt="Valid XHTML 1.1" /></a>
				|	<a href="http://jigsaw.w3.org/css-validator/check/referer" title="Validate this page's stylesheets"><img style="width : 88px ; height : 31px;" src="../gfx/valid-css.gif" alt="Valid CSS" /></a>
				|	<a href="http://bobby.watchfire.com/" title="Bobby's Home Page"><img style="width : 88px ; height : 31px;" src="../gfx/approved_aaa.gif" alt="Bobby WorldWide Approved AAA" /></a>
				|
			</div>
			<div title="Useful Downloads">
				|	<a href="http://www.adobe.com/products/acrobat/readstep2.html" title="Get Adobe Acrobat Reader (tm)"><img style="width : 88px ; height : 31px;" src="../gfx/getacro.gif" alt="Get Adobe Acrobat Reader (tm)" /></a>
				|	<a href="http://www.ghostgum.com.au/" title="Get GSView for PS files"><img style="width : 32px ; height : 32px;" src="../gfx/gsview2.gif" alt="Get GSView for PS files" /></a>
				|
			</div>
		</div>
		<div style="float : left; clear : left; text-align : left;" class="ScreenOnly">
			<div title="Mirrors">
				<strong>Mirrors:</strong>
				<xsl:for-each select="mirrors/url[@visibility='show' or @visibility='html' or not(@visibility)]">
				(<a href="{string(.)}" title="A mirror of this site: {@description}"><xsl:value-of select="@description" /></a>)<xsl:text> </xsl:text>
				</xsl:for-each>
			</div>
			<div title="Last Altered">Last altered <xsl:value-of select="@date" /></div>
		</div>
	</div>
</body>
</html>
</xsl:template>


<xsl:template name="attribs">
<xsl:param name="attribs" />
	<xsl:if test="string-length($attribs) &gt; 0">
		<xsl:attribute name="style">
			<xsl:if test="contains($attribs, 'indent')">text-indent : 1cm;</xsl:if>
			<xsl:if test="contains($attribs, 'bold')">font-weight : bold;</xsl:if>
			<xsl:if test="contains($attribs, 'italic')">font-style : italic;</xsl:if>
			<xsl:if test="contains($attribs, 'nowrap')">white-space :nowrap;</xsl:if>
			<xsl:if test="contains($attribs, 'mtop')">margin-top : 10px;</xsl:if>
			<xsl:if test="contains($attribs, 'mbottom')">margin-top : 5px;</xsl:if>
			<xsl:if test="contains($attribs, 'tleft')">text-align : left;</xsl:if>
			<xsl:if test="contains($attribs, 'tright')">text-align : right;</xsl:if>
			<xsl:if test="contains($attribs, 'tjustify')">text-align : justify;</xsl:if>
			<xsl:if test="contains($attribs, 'tcenter')">text-align : center;</xsl:if>
			<xsl:if test="contains($attribs, 'top')">vertical-align : top;</xsl:if>
			<xsl:if test="contains($attribs, 'bottom')">vertical-align : bottom;</xsl:if>
			<xsl:if test="contains($attribs, 'padl')">padding-left : .1cm;</xsl:if>
			<xsl:if test="contains($attribs, 'padr')">padding-right : .1cm;</xsl:if>
			<xsl:if test="contains($attribs, 'padt')">padding-top : .1cm;</xsl:if>
			<xsl:if test="contains($attribs, 'padb')">padding-bottom : .1cm;</xsl:if>
		</xsl:attribute>
	</xsl:if>
</xsl:template>


<xsl:template name="tableattr">
	<xsl:attribute name="border">0</xsl:attribute>
	<xsl:attribute name="cellpadding">0</xsl:attribute>
	<xsl:attribute name="cellspacing">0</xsl:attribute>
	<!--xsl:attribute name="style">width : 100%;</xsl:attribute-->
</xsl:template>


<xsl:template name="cell">
<xsl:param name="attribs" />
<xsl:param name="border" /><!-- not used -->
<xsl:param name="padding" />
<xsl:param name="bold">0</xsl:param>
<xsl:param name="italic">0</xsl:param>
<xsl:param name="nowrap">0</xsl:param>
<xsl:param name="pad">0</xsl:param>
<xsl:param name="pre">0</xsl:param>
<xsl:param name="content" />
<xsl:param name="rowspan" />
<xsl:param name="colspan" />

	<xsl:variable name="attr">
		<xsl:value-of select="$attribs" />
		<xsl:if test="$bold != 0">bold </xsl:if>
		<xsl:if test="$italic != 0">italic </xsl:if>
		<xsl:if test="$nowrap != 0">nowrap </xsl:if>
		<xsl:if test="$italic != 0">italic </xsl:if>
	</xsl:variable>

	<td>
		<xsl:call-template name="attribs"><xsl:with-param name="attribs" select="$attr" /></xsl:call-template>
		<xsl:if test="$rowspan and $rowspan &gt; 1"><xsl:attribute name="rowspan"><xsl:value-of select="$rowspan" /></xsl:attribute></xsl:if>
		<xsl:if test="$colspan and $colspan &gt; 1"><xsl:attribute name="colspan"><xsl:value-of select="$colspan" /></xsl:attribute></xsl:if>
		<xsl:copy-of select="$content" />
		<!--Left padding <xsl:if test="($align='c' or $align='r' or $pad!=0) and $pre=0"><xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text></xsl:if> -->
		<!--Right padding <xsl:if test="($align='l' or $align='c' or $pad!=0) and $pre=0"><xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text></xsl:if> -->
	</td>
</xsl:template>


<xsl:template name="cellhead">
<xsl:param name="attribs" />
<xsl:param name="border" /><!-- not used -->
<xsl:param name="padding" />
<xsl:param name="bold">0</xsl:param>
<xsl:param name="italic">0</xsl:param>
<xsl:param name="nowrap">0</xsl:param>
<xsl:param name="pad">0</xsl:param>
<xsl:param name="pre">0</xsl:param>
<xsl:param name="content" />
<xsl:param name="rowspan" />
<xsl:param name="colspan" />

	<xsl:variable name="attr">
		<xsl:value-of select="$attribs" />
		<xsl:if test="$bold != 0">bold </xsl:if>
		<xsl:if test="$italic != 0">italic </xsl:if>
		<xsl:if test="$nowrap != 0">nowrap </xsl:if>
		<xsl:if test="$italic != 0">italic </xsl:if>
	</xsl:variable>

	<th>
		<xsl:call-template name="attribs"><xsl:with-param name="attribs" select="$attr" /></xsl:call-template>
		<xsl:if test="$rowspan and $rowspan &gt; 1"><xsl:attribute name="rowspan"><xsl:value-of select="$rowspan" /></xsl:attribute></xsl:if>
		<xsl:if test="$colspan and $colspan &gt; 1"><xsl:attribute name="colspan"><xsl:value-of select="$colspan" /></xsl:attribute></xsl:if>
		<xsl:copy-of select="$content" />
		<!--Left padding <xsl:if test="($align='c' or $align='r' or $pad!=0) and $pre=0"><xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text></xsl:if> -->
		<!--Right padding <xsl:if test="($align='l' or $align='c' or $pad!=0) and $pre=0"><xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text></xsl:if> -->
	</th>
</xsl:template>


<xsl:template name="heading1">
<xsl:param name="title" />
<xsl:param name="moretitle" />
	<xsl:variable name="t"><xsl:choose><xsl:when test="string-length($title) &gt; 0"><xsl:value-of select="$title" /></xsl:when><xsl:otherwise><xsl:value-of select="@title" /></xsl:otherwise></xsl:choose></xsl:variable>
	<xsl:variable name="mt"><xsl:choose><xsl:when test="string-length($moretitle) &gt; 0"><xsl:value-of select="$moretitle" /></xsl:when><xsl:otherwise><xsl:value-of select="@moretitle" /></xsl:otherwise></xsl:choose></xsl:variable>
	<h1><xsl:value-of select="$t" /><xsl:if test="string-length($mt) &gt; 0"><span class="subhead">, <xsl:value-of select="$mt" /></span></xsl:if></h1>
</xsl:template>


<xsl:template name="heading2">
<xsl:param name="title" />
<xsl:param name="moretitle" />
<xsl:param name="righttext" />
	<xsl:variable name="t"><xsl:choose><xsl:when test="string-length($title) &gt; 0"><xsl:value-of select="$title" /></xsl:when><xsl:otherwise><xsl:value-of select="@title" /></xsl:otherwise></xsl:choose></xsl:variable>
	<xsl:variable name="mt"><xsl:choose><xsl:when test="string-length($moretitle) &gt; 0"><xsl:value-of select="$moretitle" /></xsl:when><xsl:otherwise><xsl:value-of select="@moretitle" /></xsl:otherwise></xsl:choose></xsl:variable>
	<h2><xsl:value-of select="$t" /><xsl:if test="string-length($mt) &gt; 0"><span class="subhead">, <xsl:value-of select="$mt" /></span></xsl:if><xsl:if test="string-length($righttext) &gt; 0"><span class="subheadright" ><xsl:value-of select="$righttext" /></span></xsl:if></h2>
</xsl:template>


<xsl:template name="subhead">
<xsl:param name="title" />
<xsl:param name="moretitle" />
	<xsl:variable name="t"><xsl:choose><xsl:when test="string-length($title) &gt; 0"><xsl:copy-of select="$title" /></xsl:when><xsl:otherwise><xsl:value-of select="@title" /></xsl:otherwise></xsl:choose></xsl:variable>
	<xsl:variable name="mt"><xsl:choose><xsl:when test="string-length($moretitle) &gt; 0"><xsl:copy-of select="$moretitle" /></xsl:when><xsl:otherwise><xsl:value-of select="@moretitle" /></xsl:otherwise></xsl:choose></xsl:variable>
	<h3><xsl:value-of select="$t" /><xsl:if test="string-length($mt) &gt; 0"> - <span class="subhead"><xsl:copy-of select="$mt" /></span></xsl:if></h3>
	<!--div style="padding-top : .1cm; padding-left : 1cm;">
		<span style="font-weight : bold;"><xsl:value-of select="$t" /></span>
		<xsl:if test="string-length($mt) &gt; 0"> -
		<span style="font-size:9pt;"><xsl:copy-of select="$mt" /></span></xsl:if>
	</div-->
</xsl:template>


<xsl:template name="link">
<xsl:param name="url" />
<xsl:param name="description" />
<xsl:param name="title" />
	<xsl:variable name="desc1">
		<xsl:choose>
			<xsl:when test="starts-with($description, 'http://')"><xsl:value-of select="substring-after($description, 'http://')" /></xsl:when>
			<xsl:otherwise><xsl:value-of select="$description" /></xsl:otherwise>
		</xsl:choose>
	</xsl:variable>
	<xsl:variable name="desc">
		<xsl:choose>
			<xsl:when test="substring($desc1, string-length($desc1), 1) = '/'"><xsl:value-of select="substring($desc1, 1, string-length($desc1) - 1)" /></xsl:when>
			<xsl:otherwise><xsl:value-of select="$desc1" /></xsl:otherwise>
		</xsl:choose>
	</xsl:variable>
	<xsl:variable name="t">
		<xsl:choose>
			<xsl:when test="string-length($title) &gt; 0"><xsl:value-of select="$title" /></xsl:when>
			<xsl:otherwise><xsl:value-of select="$desc" /></xsl:otherwise>
		</xsl:choose>
	</xsl:variable>
	<a href="{$url}" style="color : navy;" title="{$t}"><xsl:value-of select="$desc" /></a>
</xsl:template>


<xsl:template name="acronym">
<xsl:param name="short" />
<xsl:param name="long" />
	<acronym title="{$long}"><xsl:value-of select="$short" /></acronym>
</xsl:template>


<xsl:template name="abbrev">
<xsl:param name="short" />
<xsl:param name="long" />
	<abbr title="{$long}"><xsl:value-of select="$short" /></abbr>
</xsl:template>


<xsl:template name="img">
<xsl:param name="src" />
<xsl:param name="x" />
<xsl:param name="y" />
<xsl:param name="xcm" />
<xsl:param name="ycm" />
<xsl:param name="description" />
	<xsl:if test="string-length($src) &gt; 0">
		<img src="{$src}" style="width : {$xcm}; height : {$ycm}" alt="{$description}" /><!--width="{$x}" height="{$y}"-->
	</xsl:if>
</xsl:template>

</xsl:stylesheet>