<?xml version="1.0" ?>

<!-- 
	Full citation for an eprint. 
-->

<xsl:stylesheet
	version="1.0"
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:ept="http://eprints.org/ep2/xslt/1.0"
	xmlns:ep="http://eprints.org/ep2/data/2.0"
>

<xsl:output method="xml" indent="yes" encoding="utf-8"/>

<xsl:template match="/">
<xsl:choose>

  <xsl:when test="ept:value('type') = 'book'">
  	<xsl:choose>
		<xsl:when test="ept:is_set('creators') = true">
			<xsl:copy-of select="ept:render_value('creators_name')"/>
		</xsl:when>
		<xsl:otherwise>
			<xsl:copy-of select="ept:render_value('editors_name')"/>, ed<xsl:if test="count(ept:render_value('editors_name')) &gt; 1">s</xsl:if>.
		</xsl:otherwise>
	</xsl:choose>
  </xsl:when>

  <xsl:when test="ept:value('type') = 'patent'">
    <xsl:copy-of select="ept:render_value('patent_applicant')"/>
  </xsl:when>

  <xsl:otherwise>
    <xsl:copy-of select="ept:render_value('creators_name')"/>
  </xsl:otherwise>

</xsl:choose>

<xsl:if test="ept:is_set('date')"> (<xsl:copy-of select="ept:render_value('date', 'res', 'year')" />)</xsl:if>

<xsl:text> </xsl:text>
<em>
<xsl:choose>
<xsl:when test="ept:param('url')">
<a><xsl:attribute name="href"><xsl:value-of select="ept:param('url')"/></xsl:attribute><xsl:copy-of select="ept:render_value('title','magicstop',1)"/></a>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="ept:render_value('title','magicstop',1)"/>
</xsl:otherwise>
</xsl:choose>
</em>

<xsl:choose>

  <xsl:when test="ept:one_of(ept:value('type'),'book','book_section')">
    <xsl:if test="ept:value('type') = 'book_section'">
      In: <xsl:if test="not(ept:is_set('creators'))"><xsl:copy-of select="ept:render_value('editors_name')"/>, (ed<xsl:if test="count(ept:value('editors_name')) &gt; 1">s</xsl:if>.)</xsl:if> 
      <xsl:copy-of select="ept:render_value('book_title','magicstop',1)"/>
    </xsl:if>
    <xsl:if test="ept:is_set('series')">
      <xsl:copy-of select="ept:render_value('series')"/><xsl:if test="ept:is_set('volume')">, <xsl:copy-of select="ept:render_value('volume')"/></xsl:if>
      <xsl:if test="ept:is_set('number')"> (<xsl:copy-of select="ept:render_value('number')"/>)</xsl:if>.
    </xsl:if>
    <xsl:copy-of select="ept:render_value('publisher')"/><xsl:if test="ept:is_set('place_of_pub')">, <xsl:copy-of select="ept:render_value('place_of_pub')"/></xsl:if><xsl:if test="ept:is_set('pagerange')">, <xsl:copy-of select="ept:render_value('pagerange')"/></xsl:if>.
    <xsl:if test="ept:is_set('isbn')"> ISBN <xsl:copy-of select="ept:render_value('isbn')"/></xsl:if>
  </xsl:when>

  <xsl:when test="ept:value('type') = 'article'">
    <xsl:if test="ept:is_set('publication')"><xsl:copy-of select="ept:render_value('publication')"/><xsl:if test="ept:is_set('volume')">, <xsl:copy-of select="ept:render_value('volume')"/></xsl:if><xsl:if test="ept:is_set('number')"> (<xsl:copy-of select="ept:render_value('number')"/>)</xsl:if>.</xsl:if>
    <xsl:if test="ept:is_set('pagerange')"> <xsl:copy-of select="ept:render_value('pagerange')"/>.</xsl:if>
    <xsl:if test="ept:is_set('issn')"> ISSN <xsl:copy-of select="ept:render_value('issn')"/></xsl:if>
  </xsl:when>

  <xsl:when test="ept:value('type') = 'monograph'">
    <xsl:copy-of select="ept:render_value('monograph_type')"/>.
    <xsl:copy-of select="ept:render_value('publisher')"/><xsl:if test="place_of_pub">, <xsl:copy-of select="ept:render_value('place_of_pub')"/></xsl:if>.
  </xsl:when>

  <xsl:when test="ept:value('type') = 'conference_item'">
    In: <xsl:copy-of select="ept:render_value('event_title')"/><xsl:if test="event_dates">, <xsl:copy-of select="ept:render_value('event_dates')"/></xsl:if><xsl:if test="event_location">, <xsl:copy-of select="ept:render_value('event_location')"/></xsl:if>.
  </xsl:when>

  <xsl:when test="ept:value('type') = 'thesis'">
    <xsl:copy-of select="ept:render_value('thesis_type')"/> thesis, <xsl:copy-of select="ept:render_value('institution')"/>.
  </xsl:when>

  <xsl:when test="ept:value('type') = 'patent'">
    <xsl:copy-of select="ept:render_value('id_number')"/>.
  </xsl:when>

  <xsl:when test="ept:value('type') = 'other'">
    <xsl:copy-of select="ept:render_value('publisher')"/><xsl:if test="place_of_pub">, <xsl:copy-of select="ept:render_value('place_of_pub')"/></xsl:if>.
  </xsl:when>

  <xsl:otherwise>
    [<xsl:copy-of select="ept:render_value('type')"/>]
  </xsl:otherwise>

</xsl:choose>

<xsl:if test="not(ept:one_of(ept:value('type'),'patent','thesis'))">
  <xsl:if test="ept:one_of(ept:value('ispublished'),'unpub','submitted','inpress')"> (<xsl:copy-of select="ept:render_value('ispublished')"/>)</xsl:if>
</xsl:if>

</xsl:template>

<xsl:template match="text()" />

</xsl:stylesheet>
