<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
	<HTML>
		<BODY>
			<FONT FACE="Arial Narrow">
				<xsl:apply-templates select="*/person">
					<xsl:sort select="name/surname"/>
					<xsl:sort select="name/firstname"/>
					<xsl:sort select="email"/>
				</xsl:apply-templates> 
			</FONT>
		</BODY>
	</HTML>
</xsl:template>
<xsl:template match="person">
	<HR/>
	<xsl:apply-templates select="name"/>
	<xsl:apply-templates select="affiliation"/>
	<xsl:apply-templates select="address"/>
	<xsl:apply-templates select="phone"/>
	<xsl:apply-templates select="email"/>
	<xsl:apply-templates select="url"/>
	<BR/>
</xsl:template>

<xsl:template match="name">
	<FONT COLOR="red" SIZE="6" FACE="Arial Narrow">
	<B>
		<xsl:value-of select="@title"/>
		<xsl:text> </xsl:text>
		<xsl:value-of select="firstname"/>
		<xsl:text> </xsl:text>
		<xsl:value-of select="surname"/>
	</B>
	</FONT>
	<HR/>
</xsl:template>

<xsl:template match="email">
	<xsl:element name="a">
		<xsl:attribute name="href">
			<xsl:text>mailto: </xsl:text><xsl:value-of select="."/>
		</xsl:attribute>
		<xsl:value-of select="."/>
	</xsl:element>
	<br/>
</xsl:template>

<xsl:template match="affiliation">
	<xsl:value-of select="."/><br/>
</xsl:template>
<xsl:template match="address">
	<xsl:for-each select="line">
		<xsl:sort select="number" data-type="number"/>
		<xsl:value-of select="."/><br/>
	</xsl:for-each>
	<xsl:apply-templates select="zipcode|postcode|citycode"/>
	<xsl:value-of select="country"/><br/>
</xsl:template>

<xsl:template match="citycode">
	<xsl:value-of select="."/>
	<xsl:text> </xsl:text>
	<xsl:value-of select="../town"/>
	<br/>
</xsl:template>

<xsl:template match="postcode">
	<xsl:value-of select="../town"/>
	<xsl:text> </xsl:text>
	<xsl:value-of select="."/>
	<br/>
	<xsl:apply-templates select="../county"/>
</xsl:template>
	
<xsl:template match="county">
	<xsl:value-of select="."/>
	<br/>
</xsl:template>

<xsl:template match="zipcode">
	<xsl:value-of select="../town"/>
	<xsl:text>, </xsl:text>
	<xsl:value-of select="../state"/>
	<xsl:text> </xsl:text>
	<xsl:value-of select="."/>
	<br/>
</xsl:template>

<xsl:template match="phone">
	<xsl:text>+</xsl:text><xsl:value-of select="countrycode"/><xsl:text> </xsl:text>
	<xsl:value-of select="number"/>
	<xsl:text> (</xsl:text><xsl:value-of select="@type"/><xsl:text>)</xsl:text><BR/>
</xsl:template>

<xsl:template match="url">
	<xsl:element name="a">
		<xsl:attribute name="href">
			<xsl:value-of select="."/>
		</xsl:attribute>
		<xsl:value-of select="."/>
	</xsl:element>
	<br/>
</xsl:template>

</xsl:stylesheet>

