<?xml version="1.0"?>

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

<xsl:output
	type="text"
	omit-xml-declaration="yes"
	media-type="text/plain"
	indent="no"/>

<xsl:include href="library.xsl"/>

<xsl:variable name="lf">
	<xsl:text disable-output-escaping="yes">&#xA;</xsl:text>
</xsl:variable>

<xsl:variable name="tab">
	<xsl:text disable-output-escaping="yes">&#x9;</xsl:text>
</xsl:variable>

<xsl:variable name="divider">
	<xsl:value-of select="$lf"/>
	<xsl:text>================================================================================</xsl:text>
	<xsl:value-of select="$lf"/>
</xsl:variable>

<xsl:template match="apos">&apos;</xsl:template>

<xsl:template match="page">
	<xsl:value-of select="$divider"/>
	<xsl:text>Profile</xsl:text>
	<xsl:value-of select="$divider"/>
	<xsl:apply-templates/>
</xsl:template>

<xsl:template match="content">
	<xsl:apply-templates select="section">
		<xsl:sort select="@position" data-type="number"/>
	</xsl:apply-templates>
</xsl:template>

<!-- suppress -->
<xsl:template match="related"/>

<xsl:template match="section">
	<xsl:value-of select="$lf"/>

	<xsl:if test="@name">
		<xsl:call-template name="capitalizor">
			<xsl:with-param name="text" select="@name"/>
		</xsl:call-template>
		<xsl:value-of select="$divider"/>
	</xsl:if>

	<xsl:apply-templates/>
</xsl:template>

<xsl:template match="section/title">
	<xsl:apply-templates/>
	<xsl:value-of select="translate($divider, '=', '-')"/>
</xsl:template>

<xsl:template match="project-list">
	<xsl:value-of select="$lf"/>

	<xsl:apply-templates select="/page/related/project[@type='project']">
		<xsl:sort select="@year" data-type="number" order="descending"/>
		<xsl:sort select="@month" data-type="number" order="descending"/>
		<xsl:sort select="@name"/>
	</xsl:apply-templates>	
</xsl:template>

<xsl:template match="/page/related/project[@type='project']">
	<xsl:text>- </xsl:text>
	<xsl:value-of select="@name"/>

	<xsl:value-of select="$lf"/>
	<xsl:text> </xsl:text>
	<xsl:call-template name="web-link">
		<xsl:with-param name="target">
			<xsl:value-of select="$site"/>
			<xsl:text>/work/</xsl:text>
			<xsl:value-of select="@path"/>
			<xsl:text>/</xsl:text>
		</xsl:with-param>
	</xsl:call-template>

	<xsl:value-of select="$lf"/>
</xsl:template>

<!-- suppression -->
<xsl:template match="blurb"/>

<xsl:template match="*[@web]" name="web-link">
<xsl:param name="target" select="@web"/>

	<xsl:apply-templates/>
	<xsl:text> [http://</xsl:text>
	<xsl:value-of select="$target"/>
	<xsl:text>] </xsl:text>
</xsl:template>

<xsl:template match="*/text()">
	<xsl:call-template name="tab-stripper"/>
</xsl:template>

<xsl:template name="tab-stripper">
	<xsl:value-of disable-output-escaping="yes" select="translate(., $tab, '')"/>
</xsl:template>

</xsl:stylesheet>
