<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcq="http://purl.org/dc/qualifiers/1.0/" xmlns:math="http://exslt.org/math" xmlns:set="http://exslt.org/sets" xmlns:date="http://exslt.org/dates-and-times" xmlns:exsl="http://exslt.org/common" extension-element-prefixes="rdf dc dcq exsl date math set" exclude-result-prefixes="rdf dc dcq exsl date math set" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:import href="/www/ximsroot/skins/default/stylesheets/referencelibrary_default.xsl"/>
<xsl:import href="nanobio.xsl"/>

<xsl:output method="xml" encoding="iso-8859-1" media-type="text/html" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" indent="no"/>

<xsl:param name="year" select="date:year()"/>
<xsl:param name="navparam"/>
<xsl:param name="request.uri"/>
<xsl:param name="style"/>

<xsl:variable name="refarticle" select="/document/reference_types/reference_type[name='Article']/@id"/>
<xsl:variable name="refbookitem" select="/document/reference_types/reference_type[name='Bookitem']/@id"/>
<xsl:variable name="refproceeding" select="/document/reference_types/reference_type[name='Proceeding']/@id"/>

<xsl:variable name="titlepropid" select="/document/reference_properties/reference_property[name='title']/@id"/>
<xsl:variable name="btitlepropid" select="/document/reference_properties/reference_property[name='btitle']/@id"/>
<xsl:variable name="datepropid" select="/document/reference_properties/reference_property[name='date']/@id"/>
<xsl:variable name="volumepropid" select="/document/reference_properties/reference_property[name='volume']/@id"/>
<xsl:variable name="issuepropid" select="/document/reference_properties/reference_property[name='issue']/@id"/>
<xsl:variable name="spagepropid" select="/document/reference_properties/reference_property[name='spage']/@id"/>
<xsl:variable name="epagepropid" select="/document/reference_properties/reference_property[name='epage']/@id"/>
<xsl:variable name="identifierpropid" select="/document/reference_properties/reference_property[name='identifier']/@id"/>
<xsl:variable name="urlpropid" select="/document/reference_properties/reference_property[name='url']/@id"/>
<xsl:variable name="url2propid" select="/document/reference_properties/reference_property[name='url2']/@id"/>
<xsl:variable name="workgrouppropid" select="/document/reference_properties/reference_property[name='workgroup']/@id"/>
<xsl:variable name="projectpropid" select="/document/reference_properties/reference_property[name='project']/@id"/>
<xsl:variable name="reprintrefpropid" select="/document/reference_properties/reference_property[name='preprint_identifier']/@id"/>
<xsl:variable name="placepropid" select="/document/reference_properties/reference_property[name='place']/@id"/>
<xsl:variable name="publisherpropid" select="/document/reference_properties/reference_property[name='pub']/@id"/>

<xsl:variable name="jahre">
    <xsl:for-each select="/document/context/object/children/object[substring(reference_values/reference_value[property_id=$datepropid]/value,1,4)!=$year]">
        <jahr><xsl:value-of select="substring(reference_values/reference_value[property_id=$datepropid]/value,1,4)"/></jahr>
    </xsl:for-each>
</xsl:variable>

<xsl:template match="/document/context/object">
    <html>
        <head>
            <xsl:call-template name="meta"/>
            <link rel="stylesheet" href="/www/ximsroot/skins/default/stylesheets/reference_library.css" type="text/css"/>
            <link type="text/css" rel="stylesheet" href="http://www.uibk.ac.at/stylesheets/default.css"/>
        <title>
            <xsl:value-of select="title"/> - Institut für Ionenphysik und Angewandte Physik - Universität Innsbruck
        </title>
        </head>
	<body>
            <table width="100%">
                <xsl:call-template name="iap_header_xims">
                    <xsl:with-param name="location" select="location" />
                    <xsl:with-param name="style" select="$style" />
                </xsl:call-template>
                <tr><td>
                    <h1><xsl:value-of select="substring-before(title,'J')"/> - <xsl:value-of select="$year"/></h1>
                </td></tr>
            </table>
            <p>Other years: 
                <xsl:choose>
                <xsl:when test="contains($request.uri,'nanobiopubl2010')">
                    <xsl:for-each select="set:distinct(exsl:node-set($jahre)/jahr)">
                        <xsl:sort select="." order="descending"/>
                        <a href="?style=lop_default;year={.}"><xsl:value-of select="." /></a>
                        <xsl:if test="position() != last()">, </xsl:if>
                    </xsl:for-each>
                </xsl:when>
                <xsl:otherwise>
                <a href="http://xims.uibk.ac.at/gopublic/content/uniweb/ionen-angewandte-physik/nanobio/publ/nanobiopubl2010?style=lop_default">2012-2010</a>
                </xsl:otherwise>
                </xsl:choose>
                <xsl:text> , </xsl:text>
                <xsl:choose>
                <xsl:when test="contains($request.uri,'nanobiopubl2005')">
                    <xsl:for-each select="set:distinct(exsl:node-set($jahre)/jahr)">
                        <xsl:sort select="." order="descending"/>
                        <a href="?style=lop_default;year={.}"><xsl:value-of select="." /></a>
                        <xsl:if test="position() != last()">, </xsl:if>
                    </xsl:for-each>
                </xsl:when>
                <xsl:otherwise>
                <a href="http://xims.uibk.ac.at/gopublic/content/uniweb/ionen-angewandte-physik/nanobio/publ/nanobiopubl2005?style=lop_default;year=2009">2009-2005</a>
                </xsl:otherwise>
                </xsl:choose>
                <xsl:text> , </xsl:text>
                <xsl:choose>
                <xsl:when test="contains($request.uri,'nanobiopubl2000')">
                <xsl:for-each select="set:distinct(exsl:node-set($jahre)/jahr)">
                    <xsl:sort select="." order="descending"/>
                    <a href="?style=lop_default;year={.}"><xsl:value-of select="." /></a>
                    <xsl:if test="position() != last()">, </xsl:if>
                </xsl:for-each>
                </xsl:when>
                <xsl:otherwise>
                <a href="http://xims.uibk.ac.at/gopublic/content/uniweb/ionen-angewandte-physik/nanobio/publ/nanobiopubl2000?style=lop_default;year=2004">2004-2000</a>
                </xsl:otherwise>
                </xsl:choose>
                <xsl:text> , </xsl:text>
                <xsl:choose>
                <xsl:when test="contains($request.uri,'nanobiopubl1995')">
                <xsl:for-each select="set:distinct(exsl:node-set($jahre)/jahr)">
                    <xsl:sort select="." order="descending"/>
                    <a href="?style=lop_default;year={.}"><xsl:value-of select="." /></a>
                    <xsl:if test="position() != last()">, </xsl:if>
                </xsl:for-each>
                </xsl:when>
                <xsl:otherwise>
                <a href="http://xims.uibk.ac.at/gopublic/content/uniweb/ionen-angewandte-physik/nanobio/publ/nanobiopubl1995?style=lop_default;year=1999">1999-1995</a>
                </xsl:otherwise>
                </xsl:choose>
                <xsl:text> , </xsl:text>
               <a href="http://www.uibk.ac.at/ionen-angewandte-physik/nanobio/publ/">Earlier years (complete lists of 1994-1999)</a>
            </p>
            <xsl:if test="$year &gt;= 2000">
                Total impact of <xsl:value-of select="$year" />:
                <xsl:value-of select="sum(children/object[substring(reference_values/reference_value[property_id=$datepropid]/value,1,4)=$year]/notes)"/>
            </xsl:if>
            <h3>
                <xsl:value-of select="/document/reference_types/reference_type[@id=$refarticle]/name"/>s
            </h3>
            <ol>
                <xsl:for-each select="children/object[substring(reference_values/reference_value[property_id=$datepropid]/value,1,4)=$year and reference_type_id=$refarticle]">
                    <xsl:sort select="title" order="ascending"/> 
                    <xsl:apply-templates select="." mode="pdfurllist"/>
                </xsl:for-each>
            </ol>
            <h3>
                <xsl:value-of select="/document/reference_types/reference_type[@id=$refbookitem]/name"/>s
            </h3>
            <ol>
                <xsl:for-each select="children/object[substring(reference_values/reference_value[property_id=$datepropid]/value,1,4)=$year and reference_type_id=$refbookitem]">
                    <xsl:sort select="title" order="ascending"/> 
                    <xsl:apply-templates select="." mode="pdfurllist"/>
                </xsl:for-each>
            </ol>
            <h3>
                <xsl:value-of select="/document/reference_types/reference_type[@id=$refproceeding]/name"/>s
            </h3>
            <ol>
                <xsl:for-each select="children/object[substring(reference_values/reference_value[property_id=$datepropid]/value,1,4)=$year and reference_type_id=$refproceeding]">
                    <xsl:sort select="title" order="ascending"/> 
                    <xsl:apply-templates select="." mode="pdfurllist"/>
                </xsl:for-each>
            </ol>
        </body>
    </html>
</xsl:template>

<xsl:template match="children/object" mode="pdfurllist">
<!--    <xsl:variable name="referencenumber"><xsl:number count="object" /></xsl:variable>-->
    <xsl:variable name="date" select="reference_values/reference_value[property_id=$datepropid]/value"/>
    <xsl:variable name="btitle" select="reference_values/reference_value[property_id=$btitlepropid]/value"/>
    <xsl:variable name="volume" select="reference_values/reference_value[property_id=$volumepropid]/value"/>
    <xsl:variable name="issue" select="reference_values/reference_value[property_id=$issuepropid]/value"/>
    <xsl:variable name="verlag" select="reference_values/reference_value[property_id=$publisherpropid]/value"/>
    <xsl:variable name="ort" select="reference_values/reference_value[property_id=$placepropid]/value"/>
<!--    <xsl:variable name="pages" select="reference_values/reference_value[property_id=$pagespropid]/value"/>-->
    <xsl:variable name="spage" select="reference_values/reference_value[property_id=$spagepropid]/value"/>
    <xsl:variable name="epage" select="reference_values/reference_value[property_id=$epagepropid]/value"/>
    <xsl:variable name="identifier" select="reference_values/reference_value[property_id=$identifierpropid]/value"/>
    <xsl:variable name="url" select="reference_values/reference_value[property_id=$urlpropid]/value"/>
    <xsl:variable name="url2" select="reference_values/reference_value[property_id=$url2propid]/value"/>
<!--    <xsl:variable name="artnum" select="reference_values/reference_value[property_id=$artnumrefpropid]/value"/>
    <xsl:variable name="conf_title" select="reference_values/reference_value[property_id=$conftitlerefpropid]/value"/>
    <xsl:variable name="conf_date" select="reference_values/reference_value[property_id=$confdaterefpropid]/value"/>
    <xsl:variable name="conf_venue" select="reference_values/reference_value[property_id=$confvenuerefpropid]/value"/>
    <xsl:variable name="conf_url" select="reference_values/reference_value[property_id=$confurlrefpropid]/value"/>-->
    <xsl:variable name="reprint" select="reference_values/reference_value[property_id=$reprintrefpropid]/value"/>
    <xsl:variable name="serial_id" select="serial_id"/>
    <li>
        <xsl:choose>
            <xsl:when test="authorgroup/author">
                <xsl:apply-templates select="authorgroup/author">
                    <xsl:sort select="./position" order="ascending" data-type="number"/>
                </xsl:apply-templates>
            </xsl:when>
            <xsl:otherwise>Anonymous</xsl:otherwise>
        </xsl:choose>,
        <xsl:value-of select="reference_values/reference_value[property_id=$titlepropid]/value"/>.
        <xsl:if test="$serial_id != '' or $btitle != ''">
            <em><xsl:choose>
                <xsl:when test="$serial_id != ''">
                    <xsl:value-of select="/document/context/vlserials/serial[id=$serial_id]/title"/>
                </xsl:when>
                <xsl:otherwise>
                    in: <xsl:value-of select="$btitle"/>
                </xsl:otherwise>
            </xsl:choose>&#xa0;</em>
        </xsl:if>
        <xsl:if test="$issue != ''"><xsl:value-of select="$issue"/>/</xsl:if>
        <xsl:if test="$volume != ''"><strong><xsl:value-of select="$volume"/></strong></xsl:if>
        <xsl:if test="editorgroup/author"> (Ed<xsl:if test="count(editorgroup/author) &gt; 1">s</xsl:if>.:
            <xsl:apply-templates select="editorgroup/author">
                <xsl:sort select="./position" order="ascending" data-type="number"/>
            </xsl:apply-templates>)
        </xsl:if>
        <xsl:if test="$verlag != ''"><xsl:text> </xsl:text><xsl:value-of select="$verlag"/></xsl:if>
        <xsl:if test="$ort != ''">, <xsl:value-of select="$ort"/></xsl:if>
        <xsl:if test="$date != ''">&#xa0;(<xsl:value-of select="substring($date,1,4)"/>)</xsl:if>
        <xsl:choose>
            <xsl:when test="$spage != ''">&#xa0;<xsl:value-of select="$spage"/> <xsl:if test="$epage != ''">-<xsl:value-of select="$epage"/></xsl:if>
            </xsl:when>
<!--
                <xsl:when test="$pages != ''">,
                    <span class="reflib_page"><xsl:value-of select="$pages"/></span>
                </xsl:when>
-->
        </xsl:choose>
<!--            <xsl:if test="$artnum != ''">, <span class="reflib_artnum"><xsl:value-of select="$artnum"/></span></xsl:if>-->
        <xsl:call-template name="url_identifier">
            <xsl:with-param name="url" select="$url"/>
            <xsl:with-param name="url2" select="$url2"/>
            <xsl:with-param name="identifier" select="$identifier"/>
            <xsl:with-param name="impact" select="notes"/>
            <xsl:with-param name="reprint" select="$reprint"/>
            <xsl:with-param name="date" select="$date"/>
        </xsl:call-template>
    </li>
</xsl:template>

<xsl:template match="authorgroup/author|editorgroup/author">
    <xsl:if test="firstname != ''"><xsl:choose><xsl:when test="contains(firstname,'.')"><xsl:value-of select="firstname"/></xsl:when><xsl:otherwise><xsl:value-of select="substring(firstname, 1,1)"/>.</xsl:otherwise></xsl:choose><xsl:text> </xsl:text></xsl:if><xsl:if test="middlename != ''"><xsl:choose><xsl:when test="contains(middlename,'.')"><xsl:value-of select="middlename"/></xsl:when><xsl:otherwise><xsl:value-of select="substring(middlename, 1,1)"/>.</xsl:otherwise></xsl:choose><xsl:text> </xsl:text></xsl:if><xsl:value-of select="lastname"/>
        <xsl:if test="position()!=last()"><xsl:text>, </xsl:text></xsl:if>
</xsl:template>

</xsl:stylesheet>