From 06e25503c74ca5cd5cd3d6a60e79a77ee419d3c2 Mon Sep 17 00:00:00 2001 From: jensp Date: Mon, 2 Jun 2014 11:04:26 +0000 Subject: [PATCH] - Mandalay support for the content types from the ccm-sci-publications-dramaticarts module - Some bugfixes for the ccm-sci-publications-dramaticarts module git-svn-id: https://svn.libreccm.org/ccm/trunk@2663 8810af33-2d31-482b-a856-94f89814c4df --- .../mandalay/lang/de/SciPublications.xml | 38 + .../mandalay/lang/en/SciPublications.xml | 41 +- .../mandalay/settings/SciPublications.xml | 55 +- .../settings/SciPublicationsDefaultFormat.xml | 8 + .../user/includes/types/SciPublications.xsl | 2 + .../types/SciPublications/Proceedings.xsl | 7 +- .../SciPublications/SciPublicationsMovie.xsl | 574 ++ .../SciPublications/SciPublicationsPlay.xsl | 613 ++ .../types/SciPublications/formatParser.xsl | 5445 +++++++++-------- ...blicationsDramaticArtsResources.properties | 1 + ...cationsDramaticArtsResources_de.properties | 1 + .../ui/SciPublicationsMovieDirectorSheet.java | 8 +- ...blicationsMovieProductionCompanySheet.java | 8 +- ...ublicationsPlayProductionTheaterSheet.java | 8 +- .../ui/SciPublicationsPlayPropertyForm.java | 2 + 15 files changed, 4162 insertions(+), 2649 deletions(-) create mode 100644 ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications/SciPublicationsMovie.xsl create mode 100644 ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications/SciPublicationsPlay.xsl diff --git a/ccm-sci-bundle/web/themes/mandalay/lang/de/SciPublications.xml b/ccm-sci-bundle/web/themes/mandalay/lang/de/SciPublications.xml index 2b3d758c0..ab00d6ec2 100644 --- a/ccm-sci-bundle/web/themes/mandalay/lang/de/SciPublications.xml +++ b/ccm-sci-bundle/web/themes/mandalay/lang/de/SciPublications.xml @@ -216,6 +216,44 @@ Band Jahr Erste Veröffentlichung + + Zusammenfassung + Autorin/Autor + Autorinnen/Autoren + Regie + Sprache + + Nummer + Anzahl der Seiten + Organisation + Ort + Produktionsgesellschaft + Reihe + + + Jahr + Erste Veröffentlichung + + Zusammenfassung + Autorinnen/Autoren + Autorin/Autor + Auflage + Erstes Theater + Erste Produktionsjahr + ISBN + Sprache + + Anzahl der Seiten + Anzahl der Bände + Verlag + Referiert + Erschienen in der Reihe + + + Weitere Informationen + Band + Jahr + Erste Veröffentlichung Zusammenfassung Autorinnen/Autoren diff --git a/ccm-sci-bundle/web/themes/mandalay/lang/en/SciPublications.xml b/ccm-sci-bundle/web/themes/mandalay/lang/en/SciPublications.xml index abb221fa5..544cd8397 100644 --- a/ccm-sci-bundle/web/themes/mandalay/lang/en/SciPublications.xml +++ b/ccm-sci-bundle/web/themes/mandalay/lang/en/SciPublications.xml @@ -96,8 +96,8 @@ Issue Volume Year - Articles - Reviewed article + Articles + Reviewed article First published Abstract @@ -209,6 +209,43 @@ Volume Year First published + + Abstract + Author + Authors + Director + Language + Miscellaneous + Number + Number of pages + Organization + Place + Production company + Series + + + Year + First published + + Abstract + Authors + Author + Edition + First production theatre + First production year + ISBN + Miscellaneous + Language + Number of pages + Number of volumes + Publisher + Reviewed + In series + Further informations + Volume + Year + First published + Abstract Authors diff --git a/ccm-sci-bundle/web/themes/mandalay/settings/SciPublications.xml b/ccm-sci-bundle/web/themes/mandalay/settings/SciPublications.xml index 031b255b3..9b25b661f 100644 --- a/ccm-sci-bundle/web/themes/mandalay/settings/SciPublications.xml +++ b/ccm-sci-bundle/web/themes/mandalay/settings/SciPublications.xml @@ -123,7 +123,7 @@ true true true - true + true true @@ -246,6 +246,57 @@ true true + + true + true + + + + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + + + true + true + + + + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true true @@ -303,6 +354,8 @@ true true + + true true diff --git a/ccm-sci-bundle/web/themes/mandalay/settings/SciPublicationsDefaultFormat.xml b/ccm-sci-bundle/web/themes/mandalay/settings/SciPublicationsDefaultFormat.xml index c23b44982..3e19ce9de 100644 --- a/ccm-sci-bundle/web/themes/mandalay/settings/SciPublicationsDefaultFormat.xml +++ b/ccm-sci-bundle/web/themes/mandalay/settings/SciPublicationsDefaultFormat.xml @@ -88,6 +88,14 @@ This file defines the format for bibliographic references in lists. <edition before=", "/><publisher before=", "/><misc before=", "/> </bibrefMonographFormat> + + <bibrefMovieFormat> + <authors after=" "/><year before=" (" after=") "/><title/><place before=", "/><organization before=": "/><series /><number before=" "/><misc before=", "/> + </bibrefMovieFormat> + + <bibrefPlayFormat> + <authors after=" "/><year before=" (" after=") "/><title/><edition before=", "/><publisher before=", "/><misc before=", "/> + </bibrefPlayFormat> <bibrefProceedingsFormat> <title/><year before=" (" after=") " ifEmpty=" "/><publisher after=". "/><misc after=". "/><series after=". "/> diff --git a/ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications.xsl b/ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications.xsl index 8b1ebad9e..c914c6371 100644 --- a/ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications.xsl +++ b/ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications.xsl @@ -52,6 +52,8 @@ <xsl:import href="SciPublications/Review.xsl"/> <xsl:import href="SciPublications/ResearchReport.xsl"/> <xsl:import href="SciPublications/SciAuthor.xsl"/> + <xsl:import href="SciPublications/SciPublicationsMovie.xsl"/> + <xsl:import href="SciPublications/SciPublicationsPlay.xsl"/> <xsl:import href="SciPublications/Series.xsl"/> <xsl:import href="SciPublications/UnPublished.xsl"/> <xsl:import href="SciPublications/WorkingPaper.xsl"/> diff --git a/ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications/Proceedings.xsl b/ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications/Proceedings.xsl index 692102bc4..b302a9b89 100644 --- a/ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications/Proceedings.xsl +++ b/ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications/Proceedings.xsl @@ -60,7 +60,8 @@ <!-- DE Bild --> <!-- EN image --> - <xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.Proceedings']" mode="image"> + <xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.Proceedings']" + mode="image"> <!-- DE Hole alle benötigten Einstellungen--> <!-- EN Getting all needed setting--> @@ -102,7 +103,9 @@ </xsl:if> </xsl:template> - <xsl:template name="CT_Proceedings_graphics" match="cms:item[objectType='com.arsdigita.cms.contenttypes.Proceedings']" mode="detailed_view"> + <xsl:template name="CT_Proceedings_graphics" + match="cms:item[objectType='com.arsdigita.cms.contenttypes.Proceedings']" + mode="detailed_view"> <xsl:variable name="setAbstract"> <xsl:call-template name="mandalay:getSetting"> diff --git a/ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications/SciPublicationsMovie.xsl b/ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications/SciPublicationsMovie.xsl new file mode 100644 index 000000000..29007d1c0 --- /dev/null +++ b/ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications/SciPublicationsMovie.xsl @@ -0,0 +1,574 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE stylesheet [<!ENTITY nbsp ' '>]> + +<!-- + Copyright 2014 Jens Pelzetter + + + This file is part of Mandalay. + + Mandalay is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + Mandalay is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Mandalay. If not, see <http://www.gnu.org/licenses/>. +--> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:bebop="http://www.arsdigita.com/bebop/1.0" + xmlns:nav="http://ccm.redhat.com/navigation" + xmlns:cms="http://www.arsdigita.com/cms/1.0" + xmlns:mandalay="http://mandalay.quasiweb.de" + exclude-result-prefixes="xsl bebop cms nav" + version="1.0"> + + <!-- + + ************************************************* + ** Templates for the SciPublicationsMovie type ** + ************************************************* + --> + + <!-- + Lead View + --> + <xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.SciPublicationsMovie']" + mode="lead"> + <xsl:variable name="setLeadText"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'movie/setLeadText'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + + <xsl:if test="./lead and ($setLeadText = 'true')"> + <div class="lead"> + <xsl:value-of disable-output-escaping="yes" select="./lead"/> + </div> + </xsl:if> + </xsl:template> + + <!-- Image --> + <xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.SciPublicationsMovie']" + mode="image"> + + </xsl:template> + + <!-- Detail view --> + <xsl:template name="CT_SciPublicationsMovie_graphics" + match="cms:item[objectType='com.arsdigita.cms.contenttypes.SciPublicationsMovie']" + mode="detailed_view"> + <xsl:variable name="setImage"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'movie/setImage'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setImageCaption"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'movie/setImageCaption'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setImageMaxHeight"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'movie/setImageMaxHeight'"/> + <xsl:with-param name="default" select="''"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setImageMaxWidth"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'movie/setImageMaxWidth'"/> + <xsl:with-param name="default" select="''"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="setAbstract"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'movie/setAbstract'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setAuthors"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'movie/setAuthors'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setAssignedTerms"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'movie/setAssignedTerms'" /> + <xsl:with-param name="default" select="'false'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setDirector"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'movie/setDirector'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setLanguageOfPublication"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'movie/setLanguageOfPublication'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setMisc"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'movie/setMisc'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setNumber"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'movie/setNumber'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setNumberOfPages"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'movie/setNumberOfPages'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setOrganization"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'movie/setPages'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setPlace"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'movie/setPlace'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setProductionCompany"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'movie/setProductionCompany'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setSeries"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'movie/setSeries'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setSeriesLink"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'movie/setSeriesLink'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setSeriesVolume"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'movie/setSeriesVolume'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setYear"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'movie/setYear'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setYearFirstPublished"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'movie/setYearFirstPublished'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + + <div class="mainBody publication publicationDetails publicationGreyLiteratureDetails"> + <xsl:if test="$setImage = 'true'"> + <xsl:call-template name="mandalay:imageAttachment"> + <xsl:with-param name="showCaption" select="$setImageCaption" /> + <xsl:with-param name="maxHeight" select="$setImageMaxHeight" /> + <xsl:with-param name="maxWidth" select="$setImageMaxWidth" /> + </xsl:call-template> + </xsl:if> + + <dl> + <xsl:if test="($setAuthors = 'true') and (string-length(./authors) > 0)"> + <xsl:call-template name="scipublicationsAuthors"> + <xsl:with-param name="authors" select="./authors/author"/> + <xsl:with-param name="authorText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="id" select="'movie/author'"/> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="authorsText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="id" select="'movie/authors'"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:if> + + <xsl:if test="($setDirector = 'true') and (string-length(./director) > 0)"> + <xsl:call-template name="scipublicationsAuthors"> + <xsl:with-param name="authors" select="./director"/> + <xsl:with-param name="authorText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="id" select="'movie/director'"/> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="authorsText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="id" select="'movie/director'"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:if> + + <xsl:if test="($setYear = 'true') and (string-length(./yearOfPublication) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="id" select="'movie/year'"/> + </xsl:call-template> + </dt> + <dd> + <xsl:value-of select="./yearOfPublication"/> + </dd> + </xsl:if> + + <xsl:if test="($setYearFirstPublished = 'true') and (string-length(./yearFirstPublished) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="id" select="'monograph/yearFirstPublished'"/> + </xsl:call-template> + </dt> + <dd> + <xsl:value-of select="./yearFirstPublished" /> + </dd> + </xsl:if> + <xsl:if test="($setLanguageOfPublication = 'true') and (string-length(./languageOfPublication) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'movie/languageOfPublication'" /> + </xsl:call-template> + </dt> + <dd> + <xsl:variable name="langText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'languageCodes'" /> + <xsl:with-param name="id" select="./languageOfPublication" /> + </xsl:call-template> + </xsl:variable> + <xsl:choose> + <xsl:when test="(string-length($langText) > 0) and (contains($langText, 'Missing Translation') = false())"> + <xsl:value-of select="$langText"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="./languageOfPublication"/> + </xsl:otherwise> + </xsl:choose> + </dd> + </xsl:if> + + <xsl:if test="($setProductionCompany = 'true') and (string-length(./productionCompany/title) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="id" select="'movie/productionCompany'"/> + </xsl:call-template> + </dt> + <dd> + <xsl:value-of select="./productionCompany/title"/> + </dd> + </xsl:if> + + <xsl:if test="($setOrganization = 'true') and (string-length(./organization/title) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="id" select="'movie/organization'"/> + </xsl:call-template> + </dt> + <dd> + <xsl:value-of select="./organization/title"/> + </dd> + </xsl:if> + + <xsl:if test="($setPlace = 'true') and (string-length(./place) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="id" select="'movie/place'"/> + </xsl:call-template> + </dt> + <dd> + <xsl:value-of select="./place"/> + </dd> + </xsl:if> + + <xsl:if test="($setNumber = 'true') and (string-length(./number) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="id" select="'movie/number'"/> + </xsl:call-template> + </dt> + <dd> + <xsl:value-of select="./number"/> + </dd> + </xsl:if> + + <xsl:if test="($setNumberOfPages = 'true') and (string-length(./numberOfPages) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="id" select="'movie/numberOfPages'"/> + </xsl:call-template> + </dt> + <dd> + <xsl:value-of select="./numberOfPages"/> + </dd> + </xsl:if> + + <xsl:if test="($setSeries = 'true') and (string-length(./series) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="id" select="'movie/series'"/> + </xsl:call-template> + </dt> + <dd> + <xsl:choose> + <xsl:when test="$setSeriesLink = 'true'"> + <a> + <xsl:attribute name="href">/redirect/?oid=<xsl:value-of select="./series/series/@oid" /></xsl:attribute> + <xsl:value-of select="./series/series/title" /> + + <xsl:if test="$setSeriesVolume = 'true'"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'movie/seriesVolumePre'" /> + </xsl:call-template> + <xsl:value-of select="./series/series/@volume" /> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'movie/seriesVolumePost'" /> + </xsl:call-template> + </xsl:if> + </a> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="./series/series/title" /> + <xsl:if test="$setSeriesVolume = 'true'"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'movie/seriesVolumePre'" /> + </xsl:call-template> + <xsl:value-of select="./series/series/@volume" /> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'movie/seriesVolumePost'" /> + </xsl:call-template> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </dd> + </xsl:if> + <xsl:if test="$setAssignedTerms = 'true'"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="id" select="'assignedTerms'" /> + </xsl:call-template> + </dt> + <dd> + <xsl:call-template name="scipublications_assigned_terms"/> + </dd> + </xsl:if> + </dl> + + <xsl:if test="($setAbstract = 'true') and (string-length(./abstract) > 0)"> + <div class="publicationAbstract"> + <h3> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="id" select="'movie/abstract'"/> + </xsl:call-template> + </h3> + <div class="abstract"> + <xsl:value-of disable-output-escaping="yes" select="./abstract" /> + </div> + </div> + </xsl:if> + + <xsl:if test="($setMisc = 'true') and (string-length(normalize-space(./misc)) > 0)"> + <div class="publicationMisc"> + <h3> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="id" select="'movie/misc'"/> + </xsl:call-template> + </h3> + <xsl:value-of disable-output-escaping="yes" + select="./misc"/> + </div> + </xsl:if> + + </div> + + </xsl:template> + + <!-- List View --> + + <xsl:template match="publications[objectType='com.arsdigita.cms.contenttypes.SciPublicationsMovie']" + mode="list_view"> + <xsl:param name="useRelativeUrl" select="'false'"/> + <xsl:call-template name="CT_SciPublicationsMovie_List"> + <xsl:with-param name="useRelativeUrl" select="$useRelativeUrl"/> + </xsl:call-template> + </xsl:template> + + <xsl:template match="publication[objectType='com.arsdigita.cms.contenttypes.SciPublicationsMovie']" + mode="list_view"> + <xsl:param name="useRelativeUrl" select="'false'"/> + <xsl:call-template name="CT_SciPublicationsMovie_List"> + <xsl:with-param name="useRelativeUrl" select="$useRelativeUrl"/> + </xsl:call-template> + </xsl:template> + + <xsl:template name="CT_SciPublicationsMovie_List" + match="nav:item[nav:attribute[@name='objectType'] = 'com.arsdigita.cms.contenttypes.SciPublicationsMovie']" + mode="list_view"> + <xsl:param name="useRelativeUrl" select="'false'"/> + + <!-- EN Get all settings needed --> + <xsl:variable name="formatDefFile"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'formatDefFile'"/> + <xsl:with-param name="default" select="'SciPublicationsDefaultFormat.xml'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setLinkToDetails"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'listView/setLinkToDetails'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setLeadText"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'listView/setLeadText'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setLeadTextLength"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'listView/setLeadTextLength'"/> + <xsl:with-param name="default" select="'0'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setMoreButton"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'listView/setMoreButton'"/> + <xsl:with-param name="default" select="'false'"/> + </xsl:call-template> + </xsl:variable> + + <!-- + Process authors first, and store the result (complete author part) + in a variable. The format for the authors part is defined in a + seperate XML file, which is also processed + here. + --> + <xsl:variable name="authors"> + <xsl:for-each select="./authors/author"> + <xsl:sort select="./@order" data-type="number"/> + <xsl:apply-templates select="document(concat($theme-prefix, '/settings/', $formatDefFile))/bibrefFormat/bibrefAuthorFormat"> + <xsl:with-param name="surname" select="./surname"/> + <xsl:with-param name="givenName" select="./givenname"/> + <xsl:with-param name="isEditor" select="./@isEditor"/> + <xsl:with-param name="authorsCount" select="count(../author)"/> + <xsl:with-param name="position" select="position()"/> + </xsl:apply-templates> + </xsl:for-each> + </xsl:variable> + + <xsl:variable name="director"> + <xsl:for-each select="./director"> + <xsl:apply-templates select="document(concat($theme-prefix, '/settings/', $formatDefFile))/bibrefFormat/bibrefAuthorFormat"> + <xsl:with-param name="surname" select="./surname"/> + <xsl:with-param name="givenName" select="./givenname"/> + <xsl:with-param name="isEditor" select="'false'"/> + <xsl:with-param name="authorsCount" select="count(../director)"/> + <xsl:with-param name="position" select="position()"/> + </xsl:apply-templates> + </xsl:for-each> + </xsl:variable> + + <!-- + Procecess the format specification and use the values from the XML + --> + <xsl:apply-templates select="document(concat($theme-prefix, '/settings/', $formatDefFile))/bibrefFormat/bibrefMovieFormat"> + <xsl:with-param name="authors" select="$authors"/> + <xsl:with-param name="director" select="$director"/> + <xsl:with-param name="misc" select="./misc"/> + <xsl:with-param name="number" select="./number"/> + <xsl:with-param name="numberOfPages" select="./numberOfPages"/> + <xsl:with-param name="organization" select="./organization/title"/> + <xsl:with-param name="place" select="./place"/> + <xsl:with-param name="productionCompany" select="./productionCompany/title"/> + <xsl:with-param name="series" select="./series/series/title"/> + <xsl:with-param name="title" select="./title"/> + <xsl:with-param name="year" select="./yearOfPublication"/> + <xsl:with-param name="oid" select="./@oid"/> + <xsl:with-param name="useRelativeUrl" select="$useRelativeUrl"/> + </xsl:apply-templates> + </xsl:template> + + + <!-- link view --> + <xsl:template + name="CT_WorkingPaper_Link" + match="*/cms:item/links[targetItem/objectType = 'com.arsdigita.cms.contenttypes.SciPublicationsMovie']" + mode="link_view"> + <!-- Simply call template for Publications, because there is not difference for list view between these + two types --> + <xsl:call-template name="CT_Publication_Link"/> + </xsl:template> +</xsl:stylesheet> \ No newline at end of file diff --git a/ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications/SciPublicationsPlay.xsl b/ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications/SciPublicationsPlay.xsl new file mode 100644 index 000000000..e9828e2ea --- /dev/null +++ b/ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications/SciPublicationsPlay.xsl @@ -0,0 +1,613 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE stylesheet [<!ENTITY nbsp ' '>]> + +<!-- + Copyright 2014 Jens Pelzetter + + + This file is part of Mandalay. + + Mandalay is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + Mandalay is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Mandalay. If not, see <http://www.gnu.org/licenses/>. +--> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:bebop="http://www.arsdigita.com/bebop/1.0" + xmlns:nav="http://ccm.redhat.com/navigation" + xmlns:cms="http://www.arsdigita.com/cms/1.0" + xmlns:mandalay="http://mandalay.quasiweb.de" + exclude-result-prefixes="xsl bebop cms nav" + version="1.0"> + + <!-- + *************************************** + ** Templates for SciPublicationsPlay ** + *************************************** + --> + + <!-- Lead view --> + <xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.SciPublicationsPlay']" + mode="lead"> + <xsl:variable name="setLeadText"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'play/setLeadText'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + + <xsl:if test="./lead and $setLeadText = 'true'"> + <div class="lead"> + <xsl:value-of disable-output-escaping="yes" select="./lead"/> + </div> + </xsl:if> + </xsl:template> + + <!-- Image view --> + <xsl:template match="cms:item[objectType='com.arsdigita.cms.contenttypes.SciPublicationsPlay']" + mode="image"> + <xsl:variable name="setImage"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'play/setImage'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setImageMaxHeight"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'play/setImageMaxHeight'"/> + <xsl:with-param name="default" select="''"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setImageMaxWidth"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'play/setImageMaxWidth'"/> + <xsl:with-param name="default" select="''"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setImageCaption"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="setting" select="'play/setImageCaption'"/> + <xsl:with-param name="default" select="'true'"/> + </xsl:call-template> + </xsl:variable> + + <xsl:if test="$setImage = 'true'"> + <xsl:call-template name="mandalay:imageAttachment"> + <xsl:with-param name="showCaption" select="$setImageCaption"/> + <xsl:with-param name="maxHeight" select="$setImageMaxHeight" /> + <xsl:with-param name="maxWidth" select="$setImageMaxWidth" /> + </xsl:call-template> + </xsl:if> + + </xsl:template> + + <xsl:template name="CT_SciPublicationsPlay_graphics" + match="cms:item[objectType='com.arsdigita.cms.contenttypes.SciPublicationsPlay']" + mode="detailed_view"> + <xsl:variable name="setAbstract"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setAbstract'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setAssignedTerms"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setAssignedTerms'" /> + <xsl:with-param name="default" select="'false'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setAuthors"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setAuthors'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setEdition"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setEdition'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setFirstProductionTheatre"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setFirstProductionTheatre'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setFirstProductionYear"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setFirstYear'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setIsbn"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setIsbn'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setLanguageOfPublication"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setLanguageOfPublication'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setMisc"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setMisc'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setNumberOfPages"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setNumberOfPages'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setNumberOfVolumes"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setNumberOfVolumes'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setPublisher"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setPublisher'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setReviewed"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setReviewed'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setSeries"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setSeries'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setSeriesLink"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setSeriesLink'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setSeriesVolume"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setSeriesVolume'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setUrl"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setUrl'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setVolume"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setVolume'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setYear"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setYear'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="setYearFirstPublished"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'play/setYearFirstPublished'" /> + <xsl:with-param name="default" select="'true'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="formatDefFile"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'formatDefFile'" /> + <xsl:with-param name="default" select="'SciPublicationsDefaultFormat.xml'" /> + </xsl:call-template> + </xsl:variable> + + <div class="mainBody publication publicationDetails publicationPlayDetails"> + + <dl> + <xsl:if test="($setAuthors = 'true') and (string-length(./authors) > 0)"> + <xsl:call-template name="scipublicationsAuthors"> + <xsl:with-param name="authors" select="./authors/author" /> + <xsl:with-param name="authorText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/author'" /> + </xsl:call-template> + </xsl:with-param> + <xsl:with-param name="authorsText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/authors'" /> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> + </xsl:if> + <xsl:if test="($setYear = 'true') and (string-length(./yearOfPublication) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/year'" /> + </xsl:call-template> + </dt> + <dd> + <xsl:value-of select="./yearOfPublication" /> + </dd> + </xsl:if> + <xsl:if test="($setYearFirstPublished = 'true') and (string-length(./yearFirstPublished) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="id" select="'play/yearFirstPublished'"/> + </xsl:call-template> + </dt> + <dd> + <xsl:value-of select="./yearFirstPublished" /> + </dd> + </xsl:if> + <xsl:if test="($setFirstProductionYear = 'true') and (string-length(./firstProductionYear) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/firstProductionYear'" /> + </xsl:call-template> + </dt> + <dd> + <xsl:value-of select="./firstProductionYear"/> + </dd> + </xsl:if> + <xsl:if test="($setFirstProductionTheatre = 'true') and (string-length(./firstProductionTheatre) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/firstProductionTheatre'" /> + </xsl:call-template> + </dt> + <dd> + <xsl:value-of select="./firstProductionTheatre/title"/> + </dd> + </xsl:if> + <xsl:if test="($setLanguageOfPublication = 'true') and (string-length(./languageOfPublication) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/languageOfPublication'" /> + </xsl:call-template> + </dt> + <dd> + <xsl:variable name="langText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'languageCodes'" /> + <xsl:with-param name="id" select="./languageOfPublication" /> + </xsl:call-template> + </xsl:variable> + <xsl:choose> + <xsl:when test="(string-length($langText) > 0) and (contains($langText, 'Missing Translation') = false())"> + <xsl:value-of select="$langText"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="./languageOfPublication"/> + </xsl:otherwise> + </xsl:choose> + </dd> + </xsl:if> + <xsl:if test="($setPublisher = 'true') and (string-length(./publisher) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/publisher'" /> + </xsl:call-template> + </dt> + <dd> + <xsl:variable name="publisherName" select="./publisher/publisherName" /> + <xsl:variable name="place" select="./publisher/place" /> + <xsl:apply-templates select="document(concat($theme-prefix, '/settings/', $formatDefFile))/bibrefFormat/bibrefPublisherFormat"> + <xsl:with-param name="name" select="$publisherName" /> + <xsl:with-param name="place" select="$place" /> + </xsl:apply-templates> + </dd> + </xsl:if> + <xsl:if test="($setIsbn = 'true') and (string-length(./isbn) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/isbn'" /> + </xsl:call-template> + </dt> + <dd> + <xsl:value-of select="./isbn" /> + </dd> + </xsl:if> + <xsl:if test="($setUrl = 'true') and (string-length(./url) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/url'" /> + </xsl:call-template> + </dt> + <dd> + <a> + <xsl:attribute name="href"> + <xsl:value-of select="./url" /> + </xsl:attribute> + <xsl:value-of select="./url" /> + </a> + </dd> + </xsl:if> + <xsl:if test="($setVolume = 'true') and (string-length(./volume) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/volume'" /> + </xsl:call-template> + </dt> + <dd> + <xsl:value-of select="./volume" /> + </dd> + </xsl:if> + <xsl:if test="($setNumberOfVolumes = 'true') and (string-length(./numberOfVolumes) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/numberOfVolumes'" /> + </xsl:call-template> + </dt> + <dd> + <xsl:value-of select="./numberOfVolumes" /> + </dd> + </xsl:if> + <xsl:if test="($setNumberOfPages = 'true') and (string-length(./numberOfPages) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/numberOfPages'" /> + </xsl:call-template> + </dt> + <dd> + <xsl:value-of select="./numberOfPages" /> + </dd> + </xsl:if> + <xsl:if test="($setEdition = 'true') and (string-length(./edition) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/edition'" /> + </xsl:call-template> + </dt> + <dd> + <xsl:value-of select="./edition" /> + </dd> + </xsl:if> + <xsl:if test="($setReviewed = 'true') and (string-length(./reviewed) > 0) and (./reviewed = 'true')"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/reviewed'" /> + </xsl:call-template> + </dt> + <dd>�</dd> + </xsl:if> + <xsl:if test="($setSeries = 'true') and (string-length(./series/series) > 0)"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/series'" /> + </xsl:call-template> + </dt> + <dd> + <xsl:choose> + <xsl:when test="$setSeriesLink = 'true'"> + <a> + <xsl:attribute name="href">/redirect/?oid=<xsl:value-of select="./series/series/@oid" /></xsl:attribute> + <xsl:value-of select="./series/series/title" /> + + <xsl:if test="$setSeriesVolume = 'true'"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/seriesVolumePre'" /> + </xsl:call-template> + <xsl:value-of select="./series/series/@volume" /> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/seriesVolumePost'" /> + </xsl:call-template> + </xsl:if> + </a> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="./series/series/title" /> + <xsl:if test="$setSeriesVolume = 'true'"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/seriesVolumePre'" /> + </xsl:call-template> + <xsl:value-of select="./series/series/@volume" /> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/seriesVolumePost'" /> + </xsl:call-template> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </dd> + </xsl:if> + <xsl:if test="$setAssignedTerms = 'true'"> + <dt> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'"/> + <xsl:with-param name="id" select="'assignedTerms'" /> + </xsl:call-template> + </dt> + <dd> + <xsl:call-template name="scipublications_assigned_terms"/> + + + </dd> + </xsl:if> + </dl> + + <xsl:if test="($setAbstract = 'true') and (string-length(normalize-space(./abstract)) > 0)"> + <div class="publicationAbstract"> + <h3> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/abstract'" /> + </xsl:call-template> + </h3> + <div class="abstract"> + <xsl:value-of disable-output-escaping="yes" select="./abstract" /> + </div> + </div> + </xsl:if> + + <xsl:if test="($setMisc = 'true') and (string-length(normalize-space(./misc)) > 0)"> + <div class="publicationMisc"> + <h3> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="'play/misc'" /> + </xsl:call-template> + </h3> + <xsl:value-of disable-output-escaping="yes" select="./misc" /> + </div> + </xsl:if> + </div> + </xsl:template> + + <!-- List View --> + <xsl:template match="publication[objectType='com.arsdigita.cms.contenttypes.SciPublicationsPlay']" + mode="list_view"> + <xsl:param name="useRelativeUrl" select="'false'" /> + <xsl:call-template name="CT_Play_List"> + <xsl:with-param name="useRelativeUrl" select="$useRelativeUrl" /> + </xsl:call-template> + </xsl:template> + + <xsl:template match="publications[objectType='com.arsdigita.cms.contenttypes.SciPublicationsPlay']" + mode="list_view"> + <xsl:param name="useRelativeUrl" select="'false'" /> + <xsl:call-template name="CT_Play_List"> + <xsl:with-param name="useRelativeUrl" select="$useRelativeUrl" /> + </xsl:call-template> + </xsl:template> + + <xsl:template name="CT_Play_List" + match="nav:item[nav:attribute[@name='objectType'] = 'com.arsdigita.cms.contenttypes.SciPublicationsPlay']" + mode="list_view"> + <xsl:param name="useRelativeUrl" select="'false'" /> + <xsl:variable name="formatDefFile"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="setting" select="'formatDefFile'" /> + <xsl:with-param name="default" select="'SciPublicationsDefaultFormat.xml'" /> + </xsl:call-template> + </xsl:variable> + + <!-- + Process authors first, and store the result (complete author part) + in a variable. The format for the authors part is defined in a + seperate XML file, which is also processed + here. + --> + <xsl:variable name="authors"> + <xsl:for-each select="./authors/author"> + <xsl:sort select="./@order" data-type="number" /> + <xsl:apply-templates select="document(concat($theme-prefix, '/settings/', $formatDefFile))/bibrefFormat/bibrefAuthorFormat"> + <xsl:with-param name="surname" select="./surname" /> + <xsl:with-param name="givenName" select="./givenname" /> + <xsl:with-param name="isEditor" select="@isEditor" /> + <xsl:with-param name="authorsCount" select="count(../author)" /> + <xsl:with-param name="position" select="position()" /> + </xsl:apply-templates> + </xsl:for-each> + </xsl:variable> + + <!-- + Process publisher part, and store in a variable. The format for + the publisher part is definied in a separate XML file which also + processed here. + --> + <xsl:variable name="publisher"> + <xsl:for-each select="./publisher"> + <xsl:apply-templates select="document(concat($theme-prefix, '/settings/', $formatDefFile))/bibrefFormat/bibrefPublisherFormat"> + <xsl:with-param name="name" select="./publisherName" /> + <xsl:with-param name="place" select="./place" /> + </xsl:apply-templates> + </xsl:for-each> + </xsl:variable> + + <!-- Call template for standard format --> + <xsl:apply-templates select="document(concat($theme-prefix, '/settings/', $formatDefFile))/bibrefFormat/bibrefPlayFormat"> + <xsl:with-param name="authors" select="$authors" /> + <xsl:with-param name="edition" select="./edition" /> + <xsl:with-param name="firstProductionTheatre" select="./firstProductionTheatre/title"/> + <xsl:with-param name="firstProductionYear" select="./firstProductionYear"/> + <xsl:with-param name="isbn" select="./isbn" /> + <xsl:with-param name="misc" select="./misc" /> + <xsl:with-param name="numberOfPages" select="./numberofpages" /> + <xsl:with-param name="numberOfVolumes" select="./numberofvolumes" /> + <xsl:with-param name="publisher" select="$publisher" /> + <xsl:with-param name="reviewed" select="./reviewed" /> + <xsl:with-param name="series" select="./series/series/title"/> + <xsl:with-param name="seriesVolume" select="./series/series/@volume"/> + <xsl:with-param name="title" select="./title" /> + <xsl:with-param name="volume" select="./volume" /> + <xsl:with-param name="year" select="./yearOfPublication" /> + <xsl:with-param name="oid" select="./@oid" /> + <xsl:with-param name="useRelativeUrl" select="$useRelativeUrl" /> + </xsl:apply-templates> + + </xsl:template> + + <!-- Link view --> + <xsl:template name="CT_Play_Link" match="*/cms:item/links[targetItem/objectType = 'com.arsdigita.cms.contenttypes.SciPublicationsPlay']" mode="link_view"> + <!-- Simply call template for Publications with publisher, because there is + no difference for list view between these + two types --> + <xsl:call-template name="CT_PublicationWithPublisher_Link" /> + </xsl:template> + +</xsl:stylesheet> \ No newline at end of file diff --git a/ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications/formatParser.xsl b/ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications/formatParser.xsl index bdbf70156..737147e0b 100644 --- a/ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications/formatParser.xsl +++ b/ccm-sci-bundle/web/themes/mandalay/user/includes/types/SciPublications/formatParser.xsl @@ -21,2664 +21,2845 @@ along with Mandalay. If not, see <http://www.gnu.org/licenses/>. --> -<xsl:stylesheet - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:bebop="http://www.arsdigita.com/bebop/1.0" - xmlns:nav="http://ccm.redhat.com/navigation" - xmlns:cms="http://www.arsdigita.com/cms/1.0" - xmlns:mandalay="http://mandalay.quasiweb.de" - exclude-result-prefixes="xsl bebop cms nav" - version="1.0"> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:bebop="http://www.arsdigita.com/bebop/1.0" + xmlns:nav="http://ccm.redhat.com/navigation" + xmlns:cms="http://www.arsdigita.com/cms/1.0" + xmlns:mandalay="http://mandalay.quasiweb.de" + exclude-result-prefixes="xsl bebop cms nav" + version="1.0"> - <!-- - ********************************************************************* - ** XSL Templates for parsing the format definitions for displaying ** - ** publications in lists. ** - ********************************************************************* - --> - - <!-- Process the format for an article in a collected volume --> - <xsl:template name="bibrefArticleInCollectedVolume" match="bibrefArticleInCollectedVolumeFormat"> - <!-- Parameters for publication data --> - <xsl:param name="authors"/> - <xsl:param name="chapter"/> - <xsl:param name="collectedVolume"/> - <xsl:param name="misc" select="''"/> - <xsl:param name="pagesFrom"/> - <xsl:param name="pagesTo"/> - <xsl:param name="reviewed"/> - <xsl:param name="series"/> - <xsl:param name="title"/> - <xsl:param name="year"/> - <!-- Technical parameters --> - <xsl:param name="oid"/> - <xsl:param name="useRelativeUrl" select="'false'"/> - <xsl:apply-templates> - <!-- Publication data --> - <xsl:with-param name="authors" select="$authors"/> - <xsl:with-param name="chapter" select="$chapter"/> - <xsl:with-param name="collectedVolume" select="$collectedVolume"/> - <xsl:with-param name="misc" select="$misc"/> - <xsl:with-param name="pagesFrom" select="$pagesFrom"/> - <xsl:with-param name="pagesTo" select="$pagesTo"/> - <xsl:with-param name="reviewed" select="$reviewed"/> - <xsl:with-param name="series" select="$series"/> - <xsl:with-param name="title" select="$title"/> - <xsl:with-param name="year" select="$year"/> - <!-- Technical data --> - <xsl:with-param name="oid" select="$oid"/> - <xsl:with-param name="useRelativeUrl" select="$useRelativeUrl"/> - </xsl:apply-templates> - </xsl:template> - - <!-- Process the format for an article in a journal --> - <xsl:template name="bibrefArticleInJournal" match="bibrefArticleInJournalFormat"> - <!-- Publication data --> - <xsl:param name="authors"/> - <xsl:param name="issue"/> - <xsl:param name="journal"/> - <xsl:param name="misc" select="''"/> - <xsl:param name="pagesFrom"/> - <xsl:param name="pagesTo"/> - <xsl:param name="publicationDate"/> - <xsl:param name="reviewed"/> - <xsl:param name="series"/> - <xsl:param name="title"/> - <xsl:param name="volume"/> - <xsl:param name="year"/> - <!-- Technical data --> - <xsl:param name="oid"/> - <xsl:param name="useRelativeUrl" select="'false'"/> - <xsl:apply-templates> - <!-- Publication data --> - <xsl:with-param name="authors" select="$authors"/> - <xsl:with-param name="issue" select="$issue"/> - <xsl:with-param name="journal" select="$journal"/> - <xsl:with-param name="misc" select="$misc"/> - <xsl:with-param name="pagesFrom" select="$pagesFrom"/> - <xsl:with-param name="pagesTo" select="$pagesTo"/> - <xsl:with-param name="publicationDate" select="$publicationDate"/> - <xsl:with-param name="reviewed" select="$reviewed"/> - <xsl:with-param name="series" select="$series"/> - <xsl:with-param name="title" select="$title"/> - <xsl:with-param name="volume" select="$volume"/> - <xsl:with-param name="year" select="$year"/> - <!-- Technical data --> - <xsl:with-param name="oid" select="$oid" /> - <xsl:with-param name="useRelativeUrl" - select="$useRelativeUrl" /> - </xsl:apply-templates> - </xsl:template> - - <!-- Format for a collected volume --> - <xsl:template name="bibrefCollectedVolume" - match="bibrefCollectedVolumeFormat"> - <!-- publication data --> - <xsl:param name="authors" /> - <xsl:param name="edition" /> - <xsl:param name="isbn" /> - <xsl:param name="misc" select="''" /> - <xsl:param name="numberOfPages" /> - <xsl:param name="numberOfVolumes" /> - <xsl:param name="publisher" /> - <xsl:param name="reviewed" /> - <xsl:param name="series" /> - <xsl:param name="title" /> - <xsl:param name="volume" /> - <xsl:param name="year" select="''" /> - <!-- Technical data --> - <xsl:param name="oid" /> - <xsl:param name="useRelativeUrl" select="'false'" /> - <xsl:apply-templates> - <!-- publication data --> - <xsl:with-param name="authors" select="$authors" /> - <xsl:with-param name="edition" select="$edition" /> - <xsl:with-param name="isbn" select="$isbn" /> - <xsl:with-param name="misc" select="$misc" /> - <xsl:with-param name="numberOfVolumes" - select="$numberOfVolumes" /> - <xsl:with-param name="numberOfPages" - select="$numberOfVolumes" /> - <xsl:with-param name="publisher" select="$publisher" /> - <xsl:with-param name="series" select="$series" /> - <xsl:with-param name="reviewed" select="$reviewed" /> - <xsl:with-param name="title" select="$title" /> - <xsl:with-param name="volume" select="$volume" /> - <xsl:with-param name="year" select="$year" /> - <!-- technical data --> - <xsl:with-param name="oid" select="$oid" /> - <xsl:with-param name="useRelativeUrl" - select="$useRelativeUrl" /> - </xsl:apply-templates> - </xsl:template> - - <xsl:template name="bibrefExpertise" - match="bibrefExpertiseFormat"> - <!-- publication data --> - <xsl:param name="authors" /> - <xsl:param name="misc" select="''" /> - <xsl:param name="numberOfPages" /> - <xsl:param name="place" /> - <xsl:param name="series" /> - <xsl:param name="title" /> - <xsl:param name="year" /> - <!-- technical data --> - <xsl:param name="oid" /> - <xsl:param name="useRelativeUrl" select="'false'" /> - <xsl:apply-templates> - <!-- publication data --> - <xsl:with-param name="authors" select="$authors" /> - <xsl:with-param name="misc" select="$misc" /> - <xsl:with-param name="numberOfPages" - select="$numberOfPages" /> - <xsl:with-param name="place" select="$place" /> - <xsl:with-param name="series" select="$series" /> - <xsl:with-param name="title" select="$title" /> - <xsl:with-param name="year" select="$year" /> - <!-- technical data --> - <xsl:with-param name="oid" select="$oid" /> - <xsl:with-param name="useRelativeUrl" - select="$useRelativeUrl" /> - </xsl:apply-templates> - </xsl:template> - - <xsl:template name="bibrefGreyLiterature" - match="bibrefGreyLiteratureFormat"> - <!-- publication data --> - <xsl:param name="authors" /> - <xsl:param name="misc" select="''" /> - <xsl:param name="number" /> - <xsl:param name="numberOfPages" /> - <xsl:param name="organization" /> - <xsl:param name="pagesFrom" /> - <xsl:param name="pagesTo" /> - <xsl:param name="place" /> - <xsl:param name="series" /> - <xsl:param name="title" /> - <xsl:param name="year" /> - <!-- technical data --> - <xsl:param name="oid" /> - <xsl:param name="useRelativeUrl" select="'false'" /> - <xsl:apply-templates> - <xsl:with-param name="authors" select="$authors" /> - <xsl:with-param name="misc" select="$misc" /> - <xsl:with-param name="number" select="$number" /> - <xsl:with-param name="numberOfPages" - select="$numberOfPages" /> - <xsl:with-param name="pagesFrom" select="$pagesFrom" /> - <xsl:with-param name="pagesTo" select="$pagesTo" /> - <xsl:with-param name="place" select="$place" /> - <xsl:with-param name="organization" select="$organization" /> - <xsl:with-param name="series" select="$series" /> - <xsl:with-param name="title" select="$title" /> - <xsl:with-param name="year" select="$year" /> - <!-- technical data --> - <xsl:with-param name="oid" select="$oid" /> - <xsl:with-param name="useRelativeUrl" - select="$useRelativeUrl" /> - </xsl:apply-templates> - </xsl:template> - - <!-- Process the format for an in proceedings publication --> - <xsl:template name="bibrefInProceedings" - match="bibrefInProceedingsFormat"> - <!-- publication data --> - <xsl:param name="authors" /> - <xsl:param name="misc" select="''" /> - <xsl:param name="pagesFrom" /> - <xsl:param name="pagesTo" /> - <xsl:param name="proceedings" /> - <xsl:param name="series" /> - <xsl:param name="title" /> - <xsl:param name="year" /> - <!-- Technical data --> - <xsl:param name="oid" /> - <xsl:param name="useRelativeUrl" select="'false'" /> - <xsl:apply-templates> - <!-- publication data --> - <xsl:with-param name="authors" select="$authors" /> - <xsl:with-param name="misc" select="$misc" /> - <xsl:with-param name="pagesFrom" select="$pagesFrom" /> - <xsl:with-param name="pagesTo" select="$pagesTo" /> - <xsl:with-param name="proceedings" select="$proceedings" /> - <xsl:with-param name="series" select="$series" /> - <xsl:with-param name="title" select="$title" /> - <xsl:with-param name="year" select="$year" /> - <!-- technical data --> - <xsl:with-param name="oid" select="$oid" /> - <xsl:with-param name="useRelativeUrl" - select="$useRelativeUrl" /> - </xsl:apply-templates> - </xsl:template> - - <xsl:template name="bibrefInternetArticle" - match="bibrefInternetArticleFormat"> - <!-- publication data --> - <xsl:param name="authors" /> - <xsl:param name="doi" /> - <xsl:param name="edition" /> - <xsl:param name="issn" /> - <xsl:param name="lastAccessed" /> - <xsl:param name="misc" select="''" /> - <xsl:param name="number" /> - <xsl:param name="numberOfPages" /> - <xsl:param name="organization" /> - <xsl:param name="place" /> - <xsl:param name="publicationDate" /> - <xsl:param name="series" /> - <xsl:param name="title" /> - <xsl:param name="url" /> - <xsl:param name="urn" /> - <xsl:param name="year" /> - <!-- technical data --> - <xsl:param name="oid" /> - <xsl:param name="useRelativeUrl" select="'false'" /> - <xsl:apply-templates> - <!-- publication data --> - <xsl:with-param name="authors" select="$authors" /> - <xsl:with-param name="doi" select="$doi" /> - <xsl:with-param name="edition" select="$edition" /> - <xsl:with-param name="issn" select="$edition" /> - <xsl:with-param name="lastAccessed" select="$lastAccessed" /> - <xsl:with-param name="misc" select="$misc" /> - <xsl:with-param name="number" select="$number" /> - <xsl:with-param name="numberOfPages" - select="$numberOfPages" /> - <xsl:with-param name="organization" select="$organization" /> - <xsl:with-param name="place" select="$place" /> - <xsl:with-param name="publicationDate" - select="$publicationDate" /> - <xsl:with-param name="series" select="$series" /> - <xsl:with-param name="title" select="$title" /> - <xsl:with-param name="url" select="$url" /> - <xsl:with-param name="urn" select="$urn" /> - <xsl:with-param name="year" select="$year" /> - <!-- technical data --> - <xsl:with-param name="oid" select="$oid" /> - <xsl:with-param name="useRelativeUrl" - select="$useRelativeUrl" /> - </xsl:apply-templates> - </xsl:template> - - <!-- Process the format definition for a journal --> - <xsl:template name="bibrefJournal" match="bibrefJournalFormat"> - <!-- publication data --> - <xsl:param name="issn" /> - <xsl:param name="misc" select="''" /> - <xsl:param name="reviewed" /> - <xsl:param name="series" /> - <xsl:param name="journal"/> - <xsl:param name="symbol"/> - <xsl:param name="title" /> - <!-- technical data --> - <xsl:param name="oid" /> - <xsl:param name="useRelativeUrl" select="'false'" /> - <xsl:apply-templates> - <!-- publication data --> - <xsl:with-param name="issn" select="$issn" /> - <xsl:with-param name="misc" select="$misc" /> - <xsl:with-param name="reviewed" select="$reviewed" /> - <xsl:with-param name="series" select="$series" /> - <xsl:with-param name="symbol" select="$symbol" /> - <xsl:with-param name="title" select="$title" /> - <!-- technical data --> - <xsl:with-param name="oid" select="$oid" /> - <xsl:with-param name="useRelativeUrl" - select="$useRelativeUrl" /> - </xsl:apply-templates> - </xsl:template> - - <xsl:template name="bibrefMonograph" - match="bibrefMonographFormat"> - <!-- publication data --> - <xsl:param name="authors" /> - <xsl:param name="edition" /> - <xsl:param name="isbn" /> - <xsl:param name="misc" select="''" /> - <xsl:param name="numberOfPages" /> - <xsl:param name="numberOfVolumes" /> - <xsl:param name="publisher" /> - <xsl:param name="reviewed" /> - <xsl:param name="series" /> - <xsl:param name="seriesVolume"/> - <xsl:param name="title" /> - <xsl:param name="volume" /> - <xsl:param name="year" /> - <!-- technical data --> - <xsl:param name="oid" /> - <xsl:param name="useRelativeUrl" select="'false'" /> - <xsl:apply-templates> - <!-- publication data --> - <xsl:with-param name="authors" select="$authors" /> - <xsl:with-param name="edition" select="$edition" /> - <xsl:with-param name="isbn" select="$isbn" /> - <xsl:with-param name="misc" select="$misc" /> - <xsl:with-param name="numberOfPages" - select="$numberOfPages" /> - <xsl:with-param name="numberOfVolumes" - select="$numberOfVolumes" /> - <xsl:with-param name="publisher" select="$publisher" /> - <xsl:with-param name="reviewed" select="$reviewed" /> - <xsl:with-param name="series" select="$series" /> - <xsl:with-param name="seriesVolume" select="$seriesVolume" /> - <xsl:with-param name="title" select="$title" /> - <xsl:with-param name="volume" select="$volume" /> - <xsl:with-param name="year" select="$year" /> - <!-- technical data --> - <xsl:with-param name="oid" select="$oid" /> - <xsl:with-param name="useRelativeUrl" - select="$useRelativeUrl" /> - </xsl:apply-templates> - </xsl:template> - - <!-- Process the format definition for proceedings --> - <xsl:template name="bibrefProceedings" - match="bibrefProceedingsFormat"> - <!-- Publication data --> - <xsl:param name="authors"/> - <xsl:param name="dateFromOfConference" /> - <xsl:param name="dateToOfConference" /> - <xsl:param name="isbn" /> - <xsl:param name="misc" select="''" /> - <xsl:param name="nameOfConference" /> - <xsl:param name="numberOfPages" /> - <xsl:param name="numberOfVolumes" /> - <xsl:param name="organizerOfConference" /> - <xsl:param name="placeOfConference" /> - <xsl:param name="publisher" /> - <xsl:param name="series" /> - <xsl:param name="title" /> - <xsl:param name="volume" /> - <xsl:param name="year" /> - <!-- technical data --> - <xsl:param name="oid" /> - <xsl:param name="useRelativeUrl" select="'false'" /> - <xsl:apply-templates> - <!-- publication data --> - <xsl:with-param name="authors" select="$authors"/> - <xsl:with-param name="dateFromOfConference" - select="$dateFromOfConference" /> - <xsl:with-param name="dateToOfConference" - select="$dateToOfConference" /> - <xsl:with-param name="isbn" select="$isbn" /> - <xsl:with-param name="misc" select="$misc" /> - <xsl:with-param name="nameOfConference" - select="$nameOfConference" /> - <xsl:with-param name="numberOfVolumes" - select="$numberOfVolumes" /> - <xsl:with-param name="numberOfPages" - select="$numberOfPages" /> - <xsl:with-param name="organizerOfConference" - select="$organizerOfConference" /> - <xsl:with-param name="placeOfConference" - select="$placeOfConference" /> - <xsl:with-param name="publisher" select="$publisher" /> - <xsl:with-param name="series" select="$series" /> - <xsl:with-param name="title" select="$title" /> - <xsl:with-param name="volume" select="$volume" /> - <xsl:with-param name="year" select="$year" /> - <!-- technical data --> - <xsl:with-param name="oid" select="$oid" /> - <xsl:with-param name="useRelativeUrl" - select="$useRelativeUrl" /> - </xsl:apply-templates> - </xsl:template> - - <!-- Process the format definition for reviews --> - <xsl:template name="bibrefReview" match="bibrefReviewFormat"> - <!-- publication data --> - <xsl:param name="authors" /> - <xsl:param name="issue" /> - <xsl:param name="journal" /> - <xsl:param name="misc" /> - <xsl:param name="pagesFrom" /> - <xsl:param name="pagesTo" /> - <xsl:param name="publicationDate" /> - <xsl:param name="series" /> - <xsl:param name="title" /> - <xsl:param name="volume" /> - <xsl:param name="year" /> - <!-- technical data --> - <xsl:param name="oid" /> - <xsl:param name="useRelativeUrl" select="'false'" /> - <xsl:apply-templates> - <!-- publication data --> - <xsl:with-param name="authors" select="$authors" /> - <xsl:with-param name="issue" select="$issue" /> - <xsl:with-param name="journal" select="$journal" /> - <xsl:with-param name="misc" select="$misc" /> - <xsl:with-param name="pagesFrom" select="$pagesFrom" /> - <xsl:with-param name="pagesTo" select="$pagesTo" /> - <xsl:with-param name="publicationDate" - select="$publicationDate" /> - <xsl:with-param name="series" select="$series" /> - <xsl:with-param name="title" select="$title" /> - <xsl:with-param name="volume" select="$volume" /> - <xsl:with-param name="year" select="$year" /> - <!-- technical data --> - <xsl:with-param name="oid" select="$oid" /> - <xsl:with-param name="useRelativeUrl" - select="$useRelativeUrl" /> - </xsl:apply-templates> - </xsl:template> - <!-- Process format definition for research report--> - <xsl:template name="bibrefResearchReport" - match="bibrefResearchReportFormat"> - <!-- publication data --> - <xsl:param name="authors" /> - <xsl:param name="misc" /> - <xsl:param name="number" /> - <xsl:param name="numberOfPages" /> - <xsl:param name="organization" /> - <xsl:param name="place" /> - <xsl:param name="series" /> - <xsl:param name="title" /> - <xsl:param name="year" /> - <!-- technical data --> - <xsl:param name="oid" /> - <xsl:param name="useRelativeUrl" select="'false'" /> - <xsl:apply-templates> - <!-- publication data --> - <xsl:with-param name="authors" select="$authors" /> - <xsl:with-param name="misc" select="$misc" /> - <xsl:with-param name="number" select="$number" /> - <xsl:with-param name="numberOfPages" - select="$numberOfPages" /> - <xsl:with-param name="organization" select="$organization" /> - <xsl:with-param name="place" select="$place" /> - <xsl:with-param name="series" select="$series" /> - <xsl:with-param name="title" select="$title" /> - <xsl:with-param name="year" select="$year" /> - <!-- technical data --> - <xsl:with-param name="oid" select="$oid" /> - <xsl:with-param name="useRelativeUrl" - select="$useRelativeUrl" /> - </xsl:apply-templates> - </xsl:template> - <!-- Process format definition for working papers--> - <xsl:template name="bibrefWorkingPaper" - match="bibrefWorkingPaperFormat"> - <!-- publication data --> - <xsl:param name="authors" /> - <xsl:param name="misc" /> - <xsl:param name="number" /> - <xsl:param name="numberOfPages" /> - <xsl:param name="organization" /> - <xsl:param name="place" /> - <xsl:param name="series" /> - <xsl:param name="title" /> - <xsl:param name="year" /> - <!-- technical data --> - <xsl:param name="oid" /> - <xsl:param name="useRelativeUrl" select="'false'" /> - <xsl:apply-templates> - <!-- publication data --> - <xsl:with-param name="authors" select="$authors" /> - <xsl:with-param name="misc" select="$misc" /> - <xsl:with-param name="number" select="$number" /> - <xsl:with-param name="numberOfPages" - select="$numberOfPages" /> - <xsl:with-param name="organization" select="$organization" /> - <xsl:with-param name="place" select="$place" /> - <xsl:with-param name="series" select="$series" /> - <xsl:with-param name="title" select="$title" /> - <xsl:with-param name="year" select="$year" /> - <!-- technical data --> - <xsl:with-param name="oid" select="$oid" /> - <xsl:with-param name="useRelativeUrl" - select="$useRelativeUrl" /> - </xsl:apply-templates> - </xsl:template> - - <!-- Format substiutions --> - <!-- - Outputs the authors of the publication (preprocessed). - --> - <xsl:template match="bibrefFormat//authors"> - <xsl:param name="authors" /> - <xsl:choose> - <xsl:when test="string-length($authors) > 0"> - <span class="publicationAuthorInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <span class="publicationAuthors"> - <xsl:copy-of select="$authors" /> - </span> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - <xsl:if test="./@postText"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationAuthorInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- Processes the chapter info --> - <xsl:template match="bibrefFormat/bibrefArticleInCollectedVolumeFormat/chapter | bibrefFormat/structDefs//chapter"> - - <xsl:param name="chapter" /> - <xsl:choose> - <xsl:when test="string-length($chapter > 0)"> - <span class="publicationChapterInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationChapter"> - <xsl:value-of select="$chapter" /> - </span> - <xsl:if test="./@postText"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationChapterInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- Insert a character in the processed format --> - <xsl:template match="bibrefFormat//char"> - <xsl:value-of select="./@value" /> - </xsl:template> - - <!-- Output the collected volume of an article in a collected volume (preprocessed) --> - <xsl:template match="bibrefFormat/bibrefArticleInCollectedVolumeFormat/collectedVolume | bibrefFormat/structDefs//collectedVolume"> - - <xsl:param name="collectedVolume" /> - <xsl:choose> - <xsl:when test="string-length(normalize-space($collectedVolume)) > 1"> - <span class="publicationCollectedVolumeInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationCollectedVolume"><xsl:value-of select="normalize-space($collectedVolume)" /></span> - <xsl:if test="./@postText"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"><xsl:value-of select="./@after" /></span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationCollectedVolumeInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- Process the symbol of a journal --> - <xsl:template match="bibrefFormat/bibrefJournalFormat/symbol | bibrefFormat/structDefs/symbol"> - <xsl:param name="symbol" /> - <xsl:if test="string-length(./@before) > 0"> - <xsl:value-of select="./@before"/> - </xsl:if> - <xsl:value-of select="$symbol"/> - <xsl:if test="string-length(./@after) > 0"> - <xsl:value-of select="./@after"/> - </xsl:if> - </xsl:template> - <!-- Process the date of the conference --> - <xsl:template match="bibrefFormat/bibrefProeccedingsFormat/dateOfConference | bibrefFormat/structDefs/dateOfConference"> - - <xsl:param name="dateFromOfConference" /> - <xsl:param name="dateToOfConference" /> - <xsl:choose> - <xsl:when test="string-length($dateFromOfConference) > 0"> - <span class="publicationProceedingsDateOfConference"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationInProceedingsDateFromOfConference"> - - <xsl:value-of select="$dateFromOfConference" /> - </span> - <xsl:if test="string-length($dateToOfConference) > 0"> - <xsl:if test="./@betweenText"> - <span class="betweenText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" - select="./@betweenText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationInProceedingsDateToOfConference"> - - <xsl:value-of select="$dateToOfConference" /> - </span> - </xsl:if> - <xsl:if test="./@postText"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationProceedingsDateOfConference"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template match="bibrefFormat/bibrefInternetArticleFormat/doi | bibrefFormat/structDefs//doi"> - <xsl:param name="doi"/> - <xsl:choose> - <xsl:when test="string-length($doi) > 0"> - <span class="publicationDoiInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <a> - <xsl:attribute name="href"> - <xsl:value-of select="$doi" /> - </xsl:attribute> - <span class="publicationDoi"> - <xsl:value-of select="$doi" /> - </span> - </a> - <xsl:if test="./@postText"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationDoiInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- - Proceses the edition of a publication - --> - <xsl:template match="bibrefFormat//edition"> - <xsl:param name="edition" /> - <xsl:choose> - <xsl:when test="string-length($edition) > 0"> - <span class="publicationEditionInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationEdition"> - <xsl:value-of select="$edition" /> - </span> - <xsl:if test="./@postText"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationEditionInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- Proceeses the last accessed value of a internet article --> - <xsl:template match="bibrefFormat/bibrefInternetArticleFormat/lastAccessed | bibrefFormat/structDefs/lastAccessed"> - - <xsl:param name="lastAccessed" /> - <xsl:choose> - <xsl:when test="string-length($lastAccessed) > 0"> - <span class="lastAccessedInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="lastAccessed"> - <xsl:value-of select="$lastAccessed" /> - </span> - <xsl:if test="./@postText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="lastAccessedInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- - Outputs the ISBN of the publication, if present. - --> - <xsl:template match="bibrefFormat//isbn"> - <xsl:param name="isbn" /> - <xsl:choose> - <xsl:when test="string-length($isbn) > 0"> - <span class="publicationIsbnInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationIsbn"> - <xsl:value-of select="$isbn" /> - </span> - <xsl:if test="./@postText"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationIsbnInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- - Outputs the ISSN of the publication, if present. - --> - <xsl:template match="bibrefFormat//issn"> - <xsl:param name="issn" /> - <xsl:choose> - <xsl:when test="string-length($issn) > 0"> - <span class="publicationIssnInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationIssn"> - <xsl:value-of select="$issn" /> - </span> - <xsl:if test="./@postText = 'true'"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationIssnInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- Output the issue of an article in journal or review --> - <xsl:template match="bibrefFormat/bibrefArticleInJournalFormat/issue | bibrefFormat/bibrefReviewFormat/issue | bibrefFormat/structDefs/issue"> - <xsl:param name="issue"/> - <xsl:choose> - <xsl:when test="string-length($issue) > 0"> - <span class="publicationIssueInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationIssue"> - <xsl:value-of select="$issue" /> - </span> - <xsl:if test="./@postText"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationIssueInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- - Outputs the name of the journal - --> - <xsl:template match="bibrefFormat/bibrefArticleInJournalFormat/journal | bibrefFormat/bibrefReviewFormat/journal | bibrefFormat/structDefs//journal"> - <xsl:param name="journal"/> - <xsl:choose> - <!-- We use 1 here because if the string contains empty spaces normalize-space will keep one --> - <xsl:when test="string-length(normalize-space($journal)) > 1"> - <span class="publicationJournalInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationJournal"> - <xsl:value-of select="normalize-space($journal)" /> - </span> - <xsl:if test="./@postText = 'true'"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationJournalInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- Output misc information --> - <xsl:template match="bibrefFormat//misc"> - <xsl:param name="misc" /> - <xsl:choose> - <xsl:when test="string-length(normalize-space($misc)) > 1"> - - <span class="publicationMiscInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationMisc"> - <xsl:value-of select="normalize-space($misc)" /> - </span> - <xsl:if test="./@postText = 'true'"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationMiscInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- Process the name of a conference --> - <xsl:template match="bibrefFormat/bibrefProceedingsFormat/nameOfConference | bibrefFormat/structDefs//nameOfConference"> - - <xsl:param name="nameOfConference" /> - <xsl:choose> - <xsl:when test="string-length($nameOfConference) > 0"> - <span class="publicationProceedingsNameOfConferenceInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationProceedingsNameOfConference"> - <xsl:value-of select="$nameOfConference" /> - </span> - <xsl:if test="./@postText"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - </span> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationProceedingsNameOfConferenceInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- Output number information --> - <xsl:template match="bibrefFormat//number"> - <xsl:param name="number" /> - <xsl:choose> - <xsl:when test="string-length($number) > 0"> - <span class="publicationNumberInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationNumber"> - <xsl:value-of select="normalize-space($number)" /> - </span> - <xsl:if test="./@postText = 'true'"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationNumberInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- - Processes the number of pages - --> - <xsl:template match="bibrefFormat//numberOfPages"> - <xsl:param name="numberOfPages" /> - <xsl:choose> - <xsl:when test="string-length($numberOfPages) > 0"> - <span class="publicationNumberOfPagesInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationNumberOfPages"> - <xsl:value-of select="normalize-space($numberOfPages)" /> - </span> - <xsl:if test="./@postText = 'true'"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationNumberOfPagesInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- - Processes the number of volumes - --> - <xsl:template match="bibrefFormat//numberOfVolumes"> - <xsl:param name="numberOfVolumes" /> - <xsl:choose> - <xsl:when test="string-length($numberOfVolumes) > 0"> - <span class="publicationNumberOfVolumesInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationNumberOfVolumes"> - <xsl:value-of select="$numberOfVolumes" /> - </span> - <xsl:if test="./@postText = 'true'"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationNumberOfVolumesInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- Procsses the organization info --> - <xsl:template match="bibrefFormat//organization"> - <xsl:param name="organization" /> - <xsl:choose> - <xsl:when test="string-length($organization) > 0"> - <span class="publicationOrganizationInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationOrganization"> - <xsl:value-of select="$organization" /> - </span> - <xsl:if test="./@postText = 'true'"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationOrganizationInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- Process the organizer of a conference--> - <xsl:template match="bibrefFormat/bibrefProceedingsFormat/organizer | bibrefFormat/structDefs//organizer"> - - <xsl:param name="organizerOfConference" /> - <xsl:choose> - <xsl:when test="string-length($organizerOfConference) > 0"> - - <span class="publicationProceedingsOrganizerOfConferenceInfo"> - - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </xsl:if> - <span class="publicationInProceedingsOrganizerOfConference"> - - <xsl:value-of select="$organizerOfConference" /> - </span> - <xsl:if test="./@postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationOrganizerOfConferenceInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- Processes the page from to information, if present --> - <xsl:template match="bibrefFormat//pages"> - <xsl:param name="pagesFrom" /> - <xsl:param name="pagesTo" /> - <xsl:choose> - <xsl:when test="(string-length($pagesFrom) > 0)"> - <span class="publicationPagesInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationPagesFrom"> - <xsl:value-of select="normalize-space($pagesFrom)" /> - </span> - <xsl:if test="string-length($pagesTo) > 0"> - <xsl:if test="./@betweenText"> - <span class="betweenText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" - select="./@betweenText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationPagesTo"> - <xsl:value-of select="normalize-space($pagesTo)" /> - </span> - </xsl:if> - <xsl:if test="./@postText"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationPagesInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- Procsses the place of publication --> - <xsl:template match="bibrefFormat//place"> - <xsl:param name="place" /> - <xsl:choose> - <xsl:when test="string-length($place) > 0"> - <span class="publicationPlaceInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationPlace"> - <xsl:value-of select="$place" /> - </span> - <xsl:if test="./@postText = 'true'"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationPlaceInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- Outputs the place of the conference --> - <xsl:template match="bibrefFormat/bibrefProcceedingsFormat/placeOfConference | bibrefFormat/structDefs//placeOfConference"> - - <xsl:param name="placeOfConference" /> - <xsl:choose> - <xsl:when test="string-length($placeOfConference) > 0"> - <span class="publicationProceedingsPlaceOfConferenceInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationProceedingsPlaceOfConference"> - <xsl:value-of select="$placeOfConference" /> - </span> - <xsl:if test="./@postText = 'true'"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationProceedingsPlaceOfConferenceInfo"> - - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- Outputs the procceedings part of a in proccedings publications --> - <xsl:template match="bibrefFormat/bibrefInProceedingsFormat/proceedings | bibrefFormat/structDefs/proceedings"> - - <xsl:param name="proceedings" /> - <xsl:choose> - <xsl:when test="string-length($proceedings) > 0"> - <span class="publicationProceedingsInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </xsl:if> - <span class="publicationProceedings"> - <xsl:value-of select="$proceedings" /> - </span> - <xsl:if test="./@postText = 'true'"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationProceedingsInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- Output the date of publication of a publication --> - <xsl:template match="bibrefFormat//publicationDate"> - <xsl:param name="publicationDate" /> - <xsl:choose> - <xsl:when test="string-length($publicationDate) > 0"> - <span class="publicationDateInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationDate"> - <xsl:value-of select="$publicationDate" /> - </span> - <xsl:if test="./@postText = 'true'"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationDateInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- - Outputs the publisher of the publication. - --> - <xsl:template match="bibrefFormat//publisher"> - <xsl:param name="publisher" /> - <xsl:choose> - <xsl:when test="string-length($publisher) > 0"> - <span class="publicationPublisherInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationPublisher"><xsl:value-of select="normalize-space($publisher)" /></span> - <xsl:if test="./@postText = 'true'"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"><xsl:value-of select="./@after" /></span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationMiscInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- - Outputs if a publication is reviewed or not. This tag is a bit special since it replaces the value provided - with a text and does not output it. If the parameter reviewed is 'true', then the localized text - identified by the id provided with the true attribute is printed, else the localized value of - the false attribute. If the variable is empty, the ifEmpty attribute is used - --> - <xsl:template match="bibrefFormat//reviewed"> - <xsl:param name="reviewed" /> - <xsl:choose> - <xsl:when test="string-length($reviewed) > 0"> - <span class="publicationReviewedInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <span class="publicationReviewed"> - <xsl:choose> - <xsl:when test="$reviewed = 'true'"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@true" /> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@false" /> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </span> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationReviewedInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- Output the preproceessed series information, if any --> - <xsl:template match="bibrefFormat//series"> - <xsl:param name="series" /> - <xsl:param name="seriesVolume" select="''"/> - <xsl:choose> - <xsl:when test="string-length($series)> 0"> - <span class="publicationSeriesInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationSeries"> - <xsl:value-of select="$series" /> - </span> - <xsl:if test="./@postText = 'true'"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - <xsl:if test="string-length($seriesVolume) > 0"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" select="'SciPublications'" /> - <xsl:with-param name="id" select="./@numberText"/> - </xsl:call-template> - <xsl:value-of select="$seriesVolume"/> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationSerieseInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- - Outputs the title of the publication. Note: The value of the after attribute is only printed if - the last character of the title is *not* a '.', a '!' or a '?'. - --> - <xsl:template match="bibrefFormat//title"> - <xsl:param name="title" /> - <xsl:param name="oid" /> - <xsl:param name="useRelativeUrl" select="'false'" /> - <xsl:variable name="setDetailLink"> - <xsl:call-template name="mandalay:getSetting"> - <xsl:with-param name="module" - select="'SciPublications_PublicationList'" /> - <xsl:with-param name="setting" select="'setDetailLink'" /> - <xsl:with-param name="default" select="'false'" /> - </xsl:call-template> - </xsl:variable> - <xsl:variable name="titleLastChar"> - <xsl:value-of select="substring($title, string-length($title))" /> - </xsl:variable> - - <span class="publicationTitleInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - - <xsl:choose> - <xsl:when test="$setDetailLink = 'true'"> - <span class="publicationName"> - <a> - <xsl:choose> - <xsl:when test="$useRelativeUrl = 'true'"> - <xsl:attribute name="href"> - <xsl:value-of select="$oid" /> - </xsl:attribute> - </xsl:when> - <xsl:otherwise> - <xsl:attribute name="href">/redirect/?oid=<xsl:value-of select="$oid" /></xsl:attribute> - </xsl:otherwise> - </xsl:choose> - <xsl:choose> - <xsl:when test="./@highlight = 'true'"> - <em> - <xsl:value-of select="$title" /> - </em> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$title" /> - </xsl:otherwise> - </xsl:choose> - </a> - </span> - </xsl:when> - <xsl:otherwise> - <span class="publicationTitle"> - <xsl:choose> - <xsl:when test="./@highlight = 'true'"> - <em> - <xsl:value-of select="$title" /> - </em> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$title" /> - </xsl:otherwise> - </xsl:choose> - </span> - </xsl:otherwise> - </xsl:choose> - <xsl:if test="($titleLastChar != '.') and ($titleLastChar != '!') and ($titleLastChar != '?')"> - <xsl:value-of select="./@after"/> - </xsl:if> - </span> - </xsl:template> - - <!-- - Processes the URL of an publication, if present. - --> - <xsl:template match="bibrefFormat/bibrefInternetArticleFormat/url | bibrefFormat/structDefs//url"> - - <xsl:param name="url" /> - <xsl:choose> - <xsl:when test="string-length($url) > 0"> - <span class="publicationUrlInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <a> - <xsl:attribute name="href"> - <xsl:value-of select="$url" /> - </xsl:attribute> - <xsl:value-of select="$url" /> - </a> - <xsl:if test="./@postText"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationUrlInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- - Processes the URN of an publication, if present. - --> - <xsl:template match="bibrefFormat/bibrefInternetArticleFormat/urn | bibrefFormat/structDefs//urn"> - - <xsl:param name="urn" /> - <xsl:choose> - <xsl:when test="string-length($urn) > 0"> - <span class="publicationUrnInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <a> - <xsl:attribute name="href"> - <xsl:value-of select="$urn" /> - </xsl:attribute> - <xsl:value-of select="$urn" /> - </a> - <xsl:if test="./@postText"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationUrnInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- - Outputs the volume of an publication. - --> - <xsl:template match="bibrefFormat//volume"> - <xsl:param name="volume" /> - <xsl:choose> - <xsl:when test="string-length($volume) > 0"> - <span class="publicationVolumeInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationVolume"> - <xsl:value-of select="$volume" /> - </span> - <xsl:if test="./@postText"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationVolumeInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <!-- - Outputs the year of publication of the publication. - --> - <xsl:template match="bibrefFormat//year"> - <xsl:param name="year" /> - <xsl:choose> - <xsl:when test="string-length($year) > 0"> - <span class="publicationYearInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationYear"> - <xsl:value-of select="$year" /> - </span> - <xsl:if test="./@postText = 'true'"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationYearInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> - </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - <!-- Templates for preprocessed fields, like authors or a publisher --> - <!-- - Entry point for processing an author of a publication. - --> - <xsl:template name="bibrefAuthor" match="bibrefAuthorFormat"> - <xsl:param name="surname" /> - <xsl:param name="givenName" /> - <xsl:param name="isEditor" /> - <xsl:param name="oid" select="''" /> - <xsl:param name="authorsCount" /> - <xsl:param name="position" /> - <xsl:param name="linkAuthor" select="'false'" /> - <!-- - If this is not the first author, put the definied separator before - the author + <!-- + ********************************************************************* + ** XSL Templates for parsing the format definitions for displaying ** + ** publications in lists. ** + ********************************************************************* --> - <xsl:if test="($authorsCount > 1) and ($position > 1)"> - <xsl:choose> - <xsl:when test="./@separatorKey"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@separatorKey" /> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <span> - <xsl:value-of select="./@separator" /> - </span> - </xsl:otherwise> - </xsl:choose> - </xsl:if> - - <!-- - Put the author string into an variable. This is necessary, because - apply-templates creates a line break, which causes an space in the - browser. To avoid this, the author string is put into a variable, - which is put into the HTML output using value-of and the - XPath function normalize-space, which removes spaces from the - begeginning and the end of its argument. - --> - <xsl:variable name="author"> - <span class="publicationAuthor"> - <!-- Call the subsequent templates for surname, given name and editor --> + + <!-- Process the format for an article in a collected volume --> + <xsl:template name="bibrefArticleInCollectedVolume" match="bibrefArticleInCollectedVolumeFormat"> + <!-- Parameters for publication data --> + <xsl:param name="authors"/> + <xsl:param name="chapter"/> + <xsl:param name="collectedVolume"/> + <xsl:param name="misc" select="''"/> + <xsl:param name="pagesFrom"/> + <xsl:param name="pagesTo"/> + <xsl:param name="reviewed"/> + <xsl:param name="series"/> + <xsl:param name="title"/> + <xsl:param name="year"/> + <!-- Technical parameters --> + <xsl:param name="oid"/> + <xsl:param name="useRelativeUrl" select="'false'"/> <xsl:apply-templates> - <xsl:with-param name="surname" select="$surname" /> - <xsl:with-param name="givenName" select="$givenName" /> - <xsl:with-param name="isEditor" select="$isEditor" /> + <!-- Publication data --> + <xsl:with-param name="authors" select="$authors"/> + <xsl:with-param name="chapter" select="$chapter"/> + <xsl:with-param name="collectedVolume" select="$collectedVolume"/> + <xsl:with-param name="misc" select="$misc"/> + <xsl:with-param name="pagesFrom" select="$pagesFrom"/> + <xsl:with-param name="pagesTo" select="$pagesTo"/> + <xsl:with-param name="reviewed" select="$reviewed"/> + <xsl:with-param name="series" select="$series"/> + <xsl:with-param name="title" select="$title"/> + <xsl:with-param name="year" select="$year"/> + <!-- Technical data --> + <xsl:with-param name="oid" select="$oid"/> + <xsl:with-param name="useRelativeUrl" select="$useRelativeUrl"/> + </xsl:apply-templates> + </xsl:template> + + <!-- Process the format for an article in a journal --> + <xsl:template name="bibrefArticleInJournal" match="bibrefArticleInJournalFormat"> + <!-- Publication data --> + <xsl:param name="authors"/> + <xsl:param name="issue"/> + <xsl:param name="journal"/> + <xsl:param name="misc" select="''"/> + <xsl:param name="pagesFrom"/> + <xsl:param name="pagesTo"/> + <xsl:param name="publicationDate"/> + <xsl:param name="reviewed"/> + <xsl:param name="series"/> + <xsl:param name="title"/> + <xsl:param name="volume"/> + <xsl:param name="year"/> + <!-- Technical data --> + <xsl:param name="oid"/> + <xsl:param name="useRelativeUrl" select="'false'"/> + <xsl:apply-templates> + <!-- Publication data --> + <xsl:with-param name="authors" select="$authors"/> + <xsl:with-param name="issue" select="$issue"/> + <xsl:with-param name="journal" select="$journal"/> + <xsl:with-param name="misc" select="$misc"/> + <xsl:with-param name="pagesFrom" select="$pagesFrom"/> + <xsl:with-param name="pagesTo" select="$pagesTo"/> + <xsl:with-param name="publicationDate" select="$publicationDate"/> + <xsl:with-param name="reviewed" select="$reviewed"/> + <xsl:with-param name="series" select="$series"/> + <xsl:with-param name="title" select="$title"/> + <xsl:with-param name="volume" select="$volume"/> + <xsl:with-param name="year" select="$year"/> + <!-- Technical data --> + <xsl:with-param name="oid" select="$oid" /> + <xsl:with-param name="useRelativeUrl" + select="$useRelativeUrl" /> </xsl:apply-templates> - </span> - </xsl:variable> + </xsl:template> + + <!-- Format for a collected volume --> + <xsl:template name="bibrefCollectedVolume" + match="bibrefCollectedVolumeFormat"> + <!-- publication data --> + <xsl:param name="authors" /> + <xsl:param name="edition" /> + <xsl:param name="isbn" /> + <xsl:param name="misc" select="''" /> + <xsl:param name="numberOfPages" /> + <xsl:param name="numberOfVolumes" /> + <xsl:param name="publisher" /> + <xsl:param name="reviewed" /> + <xsl:param name="series" /> + <xsl:param name="title" /> + <xsl:param name="volume" /> + <xsl:param name="year" select="''" /> + <!-- Technical data --> + <xsl:param name="oid" /> + <xsl:param name="useRelativeUrl" select="'false'" /> + <xsl:apply-templates> + <!-- publication data --> + <xsl:with-param name="authors" select="$authors" /> + <xsl:with-param name="edition" select="$edition" /> + <xsl:with-param name="isbn" select="$isbn" /> + <xsl:with-param name="misc" select="$misc" /> + <xsl:with-param name="numberOfVolumes" + select="$numberOfVolumes" /> + <xsl:with-param name="numberOfPages" + select="$numberOfVolumes" /> + <xsl:with-param name="publisher" select="$publisher" /> + <xsl:with-param name="series" select="$series" /> + <xsl:with-param name="reviewed" select="$reviewed" /> + <xsl:with-param name="title" select="$title" /> + <xsl:with-param name="volume" select="$volume" /> + <xsl:with-param name="year" select="$year" /> + <!-- technical data --> + <xsl:with-param name="oid" select="$oid" /> + <xsl:with-param name="useRelativeUrl" + select="$useRelativeUrl" /> + </xsl:apply-templates> + </xsl:template> + + <xsl:template name="bibrefExpertise" + match="bibrefExpertiseFormat"> + <!-- publication data --> + <xsl:param name="authors" /> + <xsl:param name="misc" select="''" /> + <xsl:param name="numberOfPages" /> + <xsl:param name="place" /> + <xsl:param name="series" /> + <xsl:param name="title" /> + <xsl:param name="year" /> + <!-- technical data --> + <xsl:param name="oid" /> + <xsl:param name="useRelativeUrl" select="'false'" /> + <xsl:apply-templates> + <!-- publication data --> + <xsl:with-param name="authors" select="$authors" /> + <xsl:with-param name="misc" select="$misc" /> + <xsl:with-param name="numberOfPages" + select="$numberOfPages" /> + <xsl:with-param name="place" select="$place" /> + <xsl:with-param name="series" select="$series" /> + <xsl:with-param name="title" select="$title" /> + <xsl:with-param name="year" select="$year" /> + <!-- technical data --> + <xsl:with-param name="oid" select="$oid" /> + <xsl:with-param name="useRelativeUrl" + select="$useRelativeUrl" /> + </xsl:apply-templates> + </xsl:template> + + <xsl:template name="bibrefGreyLiterature" + match="bibrefGreyLiteratureFormat"> + <!-- publication data --> + <xsl:param name="authors" /> + <xsl:param name="misc" select="''" /> + <xsl:param name="number" /> + <xsl:param name="numberOfPages" /> + <xsl:param name="organization" /> + <xsl:param name="pagesFrom" /> + <xsl:param name="pagesTo" /> + <xsl:param name="place" /> + <xsl:param name="series" /> + <xsl:param name="title" /> + <xsl:param name="year" /> + <!-- technical data --> + <xsl:param name="oid" /> + <xsl:param name="useRelativeUrl" select="'false'" /> + <xsl:apply-templates> + <xsl:with-param name="authors" select="$authors" /> + <xsl:with-param name="misc" select="$misc" /> + <xsl:with-param name="number" select="$number" /> + <xsl:with-param name="numberOfPages" + select="$numberOfPages" /> + <xsl:with-param name="pagesFrom" select="$pagesFrom" /> + <xsl:with-param name="pagesTo" select="$pagesTo" /> + <xsl:with-param name="place" select="$place" /> + <xsl:with-param name="organization" select="$organization" /> + <xsl:with-param name="series" select="$series" /> + <xsl:with-param name="title" select="$title" /> + <xsl:with-param name="year" select="$year" /> + <!-- technical data --> + <xsl:with-param name="oid" select="$oid" /> + <xsl:with-param name="useRelativeUrl" + select="$useRelativeUrl" /> + </xsl:apply-templates> + </xsl:template> + + <!-- Process the format for an in proceedings publication --> + <xsl:template name="bibrefInProceedings" + match="bibrefInProceedingsFormat"> + <!-- publication data --> + <xsl:param name="authors" /> + <xsl:param name="misc" select="''" /> + <xsl:param name="pagesFrom" /> + <xsl:param name="pagesTo" /> + <xsl:param name="proceedings" /> + <xsl:param name="series" /> + <xsl:param name="title" /> + <xsl:param name="year" /> + <!-- Technical data --> + <xsl:param name="oid" /> + <xsl:param name="useRelativeUrl" select="'false'" /> + <xsl:apply-templates> + <!-- publication data --> + <xsl:with-param name="authors" select="$authors" /> + <xsl:with-param name="misc" select="$misc" /> + <xsl:with-param name="pagesFrom" select="$pagesFrom" /> + <xsl:with-param name="pagesTo" select="$pagesTo" /> + <xsl:with-param name="proceedings" select="$proceedings" /> + <xsl:with-param name="series" select="$series" /> + <xsl:with-param name="title" select="$title" /> + <xsl:with-param name="year" select="$year" /> + <!-- technical data --> + <xsl:with-param name="oid" select="$oid" /> + <xsl:with-param name="useRelativeUrl" + select="$useRelativeUrl" /> + </xsl:apply-templates> + </xsl:template> + + <xsl:template name="bibrefInternetArticle" + match="bibrefInternetArticleFormat"> + <!-- publication data --> + <xsl:param name="authors" /> + <xsl:param name="doi" /> + <xsl:param name="edition" /> + <xsl:param name="issn" /> + <xsl:param name="lastAccessed" /> + <xsl:param name="misc" select="''" /> + <xsl:param name="number" /> + <xsl:param name="numberOfPages" /> + <xsl:param name="organization" /> + <xsl:param name="place" /> + <xsl:param name="publicationDate" /> + <xsl:param name="series" /> + <xsl:param name="title" /> + <xsl:param name="url" /> + <xsl:param name="urn" /> + <xsl:param name="year" /> + <!-- technical data --> + <xsl:param name="oid" /> + <xsl:param name="useRelativeUrl" select="'false'" /> + <xsl:apply-templates> + <!-- publication data --> + <xsl:with-param name="authors" select="$authors" /> + <xsl:with-param name="doi" select="$doi" /> + <xsl:with-param name="edition" select="$edition" /> + <xsl:with-param name="issn" select="$edition" /> + <xsl:with-param name="lastAccessed" select="$lastAccessed" /> + <xsl:with-param name="misc" select="$misc" /> + <xsl:with-param name="number" select="$number" /> + <xsl:with-param name="numberOfPages" + select="$numberOfPages" /> + <xsl:with-param name="organization" select="$organization" /> + <xsl:with-param name="place" select="$place" /> + <xsl:with-param name="publicationDate" + select="$publicationDate" /> + <xsl:with-param name="series" select="$series" /> + <xsl:with-param name="title" select="$title" /> + <xsl:with-param name="url" select="$url" /> + <xsl:with-param name="urn" select="$urn" /> + <xsl:with-param name="year" select="$year" /> + <!-- technical data --> + <xsl:with-param name="oid" select="$oid" /> + <xsl:with-param name="useRelativeUrl" select="$useRelativeUrl" /> + </xsl:apply-templates> + </xsl:template> + + <!-- Process the format definition for a journal --> + <xsl:template name="bibrefJournal" match="bibrefJournalFormat"> + <!-- publication data --> + <xsl:param name="issn" /> + <xsl:param name="misc" select="''" /> + <xsl:param name="reviewed" /> + <xsl:param name="series" /> + <xsl:param name="journal"/> + <xsl:param name="symbol"/> + <xsl:param name="title" /> + <!-- technical data --> + <xsl:param name="oid" /> + <xsl:param name="useRelativeUrl" select="'false'" /> + <xsl:apply-templates> + <!-- publication data --> + <xsl:with-param name="issn" select="$issn" /> + <xsl:with-param name="misc" select="$misc" /> + <xsl:with-param name="reviewed" select="$reviewed" /> + <xsl:with-param name="series" select="$series" /> + <xsl:with-param name="symbol" select="$symbol" /> + <xsl:with-param name="title" select="$title" /> + <!-- technical data --> + <xsl:with-param name="oid" select="$oid" /> + <xsl:with-param name="useRelativeUrl" select="$useRelativeUrl" /> + </xsl:apply-templates> + </xsl:template> + + <xsl:template name="bibrefMonograph" + match="bibrefMonographFormat"> + <!-- publication data --> + <xsl:param name="authors" /> + <xsl:param name="edition" /> + <xsl:param name="isbn" /> + <xsl:param name="misc" select="''" /> + <xsl:param name="numberOfPages" /> + <xsl:param name="numberOfVolumes" /> + <xsl:param name="publisher" /> + <xsl:param name="reviewed" /> + <xsl:param name="series" /> + <xsl:param name="seriesVolume"/> + <xsl:param name="title" /> + <xsl:param name="volume" /> + <xsl:param name="year" /> + <!-- technical data --> + <xsl:param name="oid" /> + <xsl:param name="useRelativeUrl" select="'false'" /> + <xsl:apply-templates> + <!-- publication data --> + <xsl:with-param name="authors" select="$authors" /> + <xsl:with-param name="edition" select="$edition" /> + <xsl:with-param name="isbn" select="$isbn" /> + <xsl:with-param name="misc" select="$misc" /> + <xsl:with-param name="numberOfPages" + select="$numberOfPages" /> + <xsl:with-param name="numberOfVolumes" + select="$numberOfVolumes" /> + <xsl:with-param name="publisher" select="$publisher" /> + <xsl:with-param name="reviewed" select="$reviewed" /> + <xsl:with-param name="series" select="$series" /> + <xsl:with-param name="seriesVolume" select="$seriesVolume" /> + <xsl:with-param name="title" select="$title" /> + <xsl:with-param name="volume" select="$volume" /> + <xsl:with-param name="year" select="$year" /> + <!-- technical data --> + <xsl:with-param name="oid" select="$oid" /> + <xsl:with-param name="useRelativeUrl" + select="$useRelativeUrl" /> + </xsl:apply-templates> + </xsl:template> + + <xsl:template name="bibrefMovie" + match="bibrefMovieFormat"> + <!-- publication data --> + <xsl:param name="authors" /> + <xsl:param name="director" /> + <xsl:param name="misc" /> + <xsl:param name="number" /> + <xsl:param name="numberOfPages" /> + <xsl:param name="organization" /> + <xsl:param name="place" /> + <xsl:param name="productionCompany" /> + <xsl:param name="series" /> + <xsl:param name="title" /> + <xsl:param name="year" /> + <!-- technical data --> + <xsl:param name="oid" /> + <xsl:param name="useRelativeUrl" select="'false'" /> - <xsl:choose> - <xsl:when test="$linkAuthor = 'true' and string-length($oid) > 0"> - <a> - <xsl:attribute name="href"> - <xsl:value-of select="concat('/redirect/?oid=', $oid)" /> - </xsl:attribute> - <xsl:value-of select="normalize-space($author)" /> - </a> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="normalize-space($author)" /> - </xsl:otherwise> - </xsl:choose> - </xsl:template> + <xsl:apply-templates> + <!-- publication data --> + <xsl:with-param name="authors" select="$authors" /> + <xsl:with-param name="director" select="$director" /> + <xsl:with-param name="misc" select="$misc" /> + <xsl:with-param name="number" select="$number" /> + <xsl:with-param name="numberOfPages" + select="$numberOfPages" /> + <xsl:with-param name="organization" select="$organization" /> + <xsl:with-param name="place" select="$place" /> + <xsl:with-param name="productionCompany" select="$productionCompany"/> + <xsl:with-param name="series" select="$series" /> + <xsl:with-param name="title" select="$title" /> + <xsl:with-param name="year" select="$year" /> + <!-- technical data --> + <xsl:with-param name="oid" select="$oid" /> + <xsl:with-param name="useRelativeUrl" + select="$useRelativeUrl" /> + </xsl:apply-templates> + </xsl:template> - <!-- Processes the surname of an author --> - <xsl:template match="bibrefAuthorFormat/surname"> - <xsl:param name="surname" /> - <xsl:if test="string-length($surname) > 0"> - <span class="publicationAuthorSurnameInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <span class="publicationAuthorSurname"> - <xsl:value-of select="$surname" /> - </span> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:if> - </xsl:template> + <xsl:template name="bibrefPlay" + match="bibrefPlayFormat"> + <!-- publication data --> + <xsl:param name="authors" /> + <xsl:param name="edition" /> + <xsl:param name="firstProductionTheatre"/> + <xsl:param name="firstProductionYear"/> + <xsl:param name="isbn" /> + <xsl:param name="misc" select="''" /> + <xsl:param name="numberOfPages" /> + <xsl:param name="numberOfVolumes" /> + <xsl:param name="publisher" /> + <xsl:param name="reviewed" /> + <xsl:param name="series" /> + <xsl:param name="seriesVolume"/> + <xsl:param name="title" /> + <xsl:param name="volume" /> + <xsl:param name="year" /> + <!-- technical data --> + <xsl:param name="oid" /> + <xsl:param name="useRelativeUrl" select="'false'" /> + <xsl:apply-templates> + <!-- publication data --> + <xsl:with-param name="authors" select="$authors" /> + <xsl:with-param name="edition" select="$edition" /> + <xsl:with-param name="firstProductionTheatre" select="$firstProductionTheatre"/> + <xsl:with-param name="firstProductionYear" select="$firstProductionYear"/> + <xsl:with-param name="isbn" select="$isbn" /> + <xsl:with-param name="misc" select="$misc" /> + <xsl:with-param name="numberOfPages" + select="$numberOfPages" /> + <xsl:with-param name="numberOfVolumes" + select="$numberOfVolumes" /> + <xsl:with-param name="publisher" select="$publisher" /> + <xsl:with-param name="reviewed" select="$reviewed" /> + <xsl:with-param name="series" select="$series" /> + <xsl:with-param name="seriesVolume" select="$seriesVolume" /> + <xsl:with-param name="title" select="$title" /> + <xsl:with-param name="volume" select="$volume" /> + <xsl:with-param name="year" select="$year" /> + <!-- technical data --> + <xsl:with-param name="oid" select="$oid" /> + <xsl:with-param name="useRelativeUrl" + select="$useRelativeUrl" /> + </xsl:apply-templates> + </xsl:template> - <!-- - Processes the given name of an author. If the initialsOnly attribute - is the "true" in the format definition, only the first letter of the name - is shown. - --> - <xsl:template match="bibrefAuthorFormat/givenName"> - <xsl:param name="givenName" /> - <xsl:if test="string-length($givenName) > 0"> - <span class="publicationAuthorGivenNameInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <span class="publicationAuthorGivenName"> - <xsl:choose> - <xsl:when test="./@initialsOnly='true'"> - <xsl:value-of select="substring($givenName, 1, 2)" /> - <xsl:text> -. -</xsl:text> + <!-- Process the format definition for proceedings --> + <xsl:template name="bibrefProceedings" + match="bibrefProceedingsFormat"> + <!-- Publication data --> + <xsl:param name="authors"/> + <xsl:param name="dateFromOfConference" /> + <xsl:param name="dateToOfConference" /> + <xsl:param name="isbn" /> + <xsl:param name="misc" select="''" /> + <xsl:param name="nameOfConference" /> + <xsl:param name="numberOfPages" /> + <xsl:param name="numberOfVolumes" /> + <xsl:param name="organizerOfConference" /> + <xsl:param name="placeOfConference" /> + <xsl:param name="publisher" /> + <xsl:param name="series" /> + <xsl:param name="title" /> + <xsl:param name="volume" /> + <xsl:param name="year" /> + <!-- technical data --> + <xsl:param name="oid" /> + <xsl:param name="useRelativeUrl" select="'false'" /> + <xsl:apply-templates> + <!-- publication data --> + <xsl:with-param name="authors" select="$authors"/> + <xsl:with-param name="dateFromOfConference" + select="$dateFromOfConference" /> + <xsl:with-param name="dateToOfConference" + select="$dateToOfConference" /> + <xsl:with-param name="isbn" select="$isbn" /> + <xsl:with-param name="misc" select="$misc" /> + <xsl:with-param name="nameOfConference" + select="$nameOfConference" /> + <xsl:with-param name="numberOfVolumes" + select="$numberOfVolumes" /> + <xsl:with-param name="numberOfPages" + select="$numberOfPages" /> + <xsl:with-param name="organizerOfConference" + select="$organizerOfConference" /> + <xsl:with-param name="placeOfConference" + select="$placeOfConference" /> + <xsl:with-param name="publisher" select="$publisher" /> + <xsl:with-param name="series" select="$series" /> + <xsl:with-param name="title" select="$title" /> + <xsl:with-param name="volume" select="$volume" /> + <xsl:with-param name="year" select="$year" /> + <!-- technical data --> + <xsl:with-param name="oid" select="$oid" /> + <xsl:with-param name="useRelativeUrl" + select="$useRelativeUrl" /> + </xsl:apply-templates> + </xsl:template> + + <!-- Process the format definition for reviews --> + <xsl:template name="bibrefReview" match="bibrefReviewFormat"> + <!-- publication data --> + <xsl:param name="authors" /> + <xsl:param name="issue" /> + <xsl:param name="journal" /> + <xsl:param name="misc" /> + <xsl:param name="pagesFrom" /> + <xsl:param name="pagesTo" /> + <xsl:param name="publicationDate" /> + <xsl:param name="series" /> + <xsl:param name="title" /> + <xsl:param name="volume" /> + <xsl:param name="year" /> + <!-- technical data --> + <xsl:param name="oid" /> + <xsl:param name="useRelativeUrl" select="'false'" /> + <xsl:apply-templates> + <!-- publication data --> + <xsl:with-param name="authors" select="$authors" /> + <xsl:with-param name="issue" select="$issue" /> + <xsl:with-param name="journal" select="$journal" /> + <xsl:with-param name="misc" select="$misc" /> + <xsl:with-param name="pagesFrom" select="$pagesFrom" /> + <xsl:with-param name="pagesTo" select="$pagesTo" /> + <xsl:with-param name="publicationDate" + select="$publicationDate" /> + <xsl:with-param name="series" select="$series" /> + <xsl:with-param name="title" select="$title" /> + <xsl:with-param name="volume" select="$volume" /> + <xsl:with-param name="year" select="$year" /> + <!-- technical data --> + <xsl:with-param name="oid" select="$oid" /> + <xsl:with-param name="useRelativeUrl" + select="$useRelativeUrl" /> + </xsl:apply-templates> + </xsl:template> + + <!-- Process format definition for research report--> + <xsl:template name="bibrefResearchReport" + match="bibrefResearchReportFormat"> + <!-- publication data --> + <xsl:param name="authors" /> + <xsl:param name="misc" /> + <xsl:param name="number" /> + <xsl:param name="numberOfPages" /> + <xsl:param name="organization" /> + <xsl:param name="place" /> + <xsl:param name="series" /> + <xsl:param name="title" /> + <xsl:param name="year" /> + <!-- technical data --> + <xsl:param name="oid" /> + <xsl:param name="useRelativeUrl" select="'false'" /> + <xsl:apply-templates> + <!-- publication data --> + <xsl:with-param name="authors" select="$authors" /> + <xsl:with-param name="misc" select="$misc" /> + <xsl:with-param name="number" select="$number" /> + <xsl:with-param name="numberOfPages" + select="$numberOfPages" /> + <xsl:with-param name="organization" select="$organization" /> + <xsl:with-param name="place" select="$place" /> + <xsl:with-param name="series" select="$series" /> + <xsl:with-param name="title" select="$title" /> + <xsl:with-param name="year" select="$year" /> + <!-- technical data --> + <xsl:with-param name="oid" select="$oid" /> + <xsl:with-param name="useRelativeUrl" + select="$useRelativeUrl" /> + </xsl:apply-templates> + </xsl:template> + + <!-- Process format definition for working papers--> + <xsl:template name="bibrefWorkingPaper" + match="bibrefWorkingPaperFormat"> + <!-- publication data --> + <xsl:param name="authors" /> + <xsl:param name="misc" /> + <xsl:param name="number" /> + <xsl:param name="numberOfPages" /> + <xsl:param name="organization" /> + <xsl:param name="place" /> + <xsl:param name="series" /> + <xsl:param name="title" /> + <xsl:param name="year" /> + <!-- technical data --> + <xsl:param name="oid" /> + <xsl:param name="useRelativeUrl" select="'false'" /> + <xsl:apply-templates> + <!-- publication data --> + <xsl:with-param name="authors" select="$authors" /> + <xsl:with-param name="misc" select="$misc" /> + <xsl:with-param name="number" select="$number" /> + <xsl:with-param name="numberOfPages" + select="$numberOfPages" /> + <xsl:with-param name="organization" select="$organization" /> + <xsl:with-param name="place" select="$place" /> + <xsl:with-param name="series" select="$series" /> + <xsl:with-param name="title" select="$title" /> + <xsl:with-param name="year" select="$year" /> + <!-- technical data --> + <xsl:with-param name="oid" select="$oid" /> + <xsl:with-param name="useRelativeUrl" + select="$useRelativeUrl" /> + </xsl:apply-templates> + </xsl:template> + + <!-- Format substiutions --> + <!-- + Outputs the authors of the publication (preprocessed). + --> + <xsl:template match="bibrefFormat//authors"> + <xsl:param name="authors" /> + <xsl:choose> + <xsl:when test="string-length($authors) > 0"> + <span class="publicationAuthorInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <span class="publicationAuthors"> + <xsl:copy-of select="$authors" /> + </span> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + <xsl:if test="./@postText"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + </span> </xsl:when> <xsl:otherwise> - <xsl:value-of select="$givenName" /> + <xsl:if test="./@ifEmpty"> + <span class="publicationAuthorInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> </xsl:otherwise> - </xsl:choose> - </span> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:if> - </xsl:template> + </xsl:choose> + </xsl:template> - <!-- - Proceeses the editor tag, which is replaced with the text for editor, e.g. (Hrsg.) - for authors which are editors. - --> - <xsl:template match="bibrefAuthorFormat/editor"> - <xsl:param name="isEditor" /> - <xsl:if test="$isEditor = 'true'"> - <span class="publicationAuthorEditorInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <span class="publicationAuthorEditor"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@text" /> - </xsl:call-template> - </span> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:if> - </xsl:template> + <!-- Processes the chapter info --> + <xsl:template match="bibrefFormat/bibrefArticleInCollectedVolumeFormat/chapter | bibrefFormat/structDefs//chapter"> - <!-- - *************************************************************** - ** Entry point for processing the publisher of a publication ** - *************************************************************** - --> - <xsl:template match="bibrefPublisherFormat"> - <xsl:param name="name" /> - <xsl:param name="place" /> - <xsl:apply-templates> - <xsl:with-param name="name" select="$name" /> - <xsl:with-param name="place" select="$place" /> - </xsl:apply-templates> - </xsl:template> + <xsl:param name="chapter" /> + <xsl:choose> + <xsl:when test="string-length($chapter > 0)"> + <span class="publicationChapterInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationChapter"> + <xsl:value-of select="$chapter" /> + </span> + <xsl:if test="./@postText"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationChapterInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> - <!-- Outputs the name of the publisher --> - <xsl:template match="bibrefPublisherFormat/name"> - <xsl:param name="name" /> - <xsl:if test="string-length($name) > 0"> - <span class="publicationPublisherNameInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <span class="publicationPublisherName"> - <xsl:value-of select="$name" /> - </span> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:if> - </xsl:template> + <!-- Insert a character in the processed format --> + <xsl:template match="bibrefFormat//char"> + <xsl:value-of select="./@value" /> + </xsl:template> - <!-- Outputs the place of a publisher --> - <xsl:template match="bibrefPublisherFormat/place"> - <xsl:param name="place" /> - <xsl:if test="string-length($place)"> - <span class="publisherPlaceInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <span class="publisherPlace"> - <xsl:value-of select="$place" /> - </span> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:if> - </xsl:template> - <!-- Entry point for processing a in series information --> - <!-- <xsl:template name="inSeries" match="bibrefFormat/bibrefInSeriesFormat"> - <xsl:param name="editor"/> - <xsl:param name="title"/> - <xsl:param name="volume"/> + <!-- Output the collected volume of an article in a collected volume (preprocessed) --> + <xsl:template match="bibrefFormat/bibrefArticleInCollectedVolumeFormat/collectedVolume | bibrefFormat/structDefs//collectedVolume"> - <span class="publicationInSeries"> - <xsl:if test="./preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" select="'SciPublications'"/> - <xsl:with-param name="id" select="@preText"/> - </xsl:call-template> - </span> - </xsl:if> - - <xsl:apply-templates> - <xsl:with-param name="editor" select="$editor"/> - <xsl:with-param name="title" select="$title"/> - <xsl:with-param name="volume" select="$volume"/> - </xsl:apply-templates> - - <xsl:if test="./@postText"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" select="'SciPublications'"/> - <xsl:with-param name="id" select="'@postText'"/> - </xsl:call-template> - </span> - </xsl:if> - </span> - </xsl:template>--> + <xsl:param name="collectedVolume" /> + <xsl:choose> + <xsl:when test="string-length(normalize-space($collectedVolume)) > 1"> + <span class="publicationCollectedVolumeInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationCollectedVolume"> + <xsl:value-of select="normalize-space($collectedVolume)" /> + </span> + <xsl:if test="./@postText"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationCollectedVolumeInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> - <!-- Entry point for processing the editor of a series --> - <!-- <xsl:template name="bibrefSeriesEditor" - match="bibrefFormat/bibrefSeriesEditorFormat"> - <xsl:param name="surname"/> - <xsl:param name="givenName"/> + <!-- Process the symbol of a journal --> + <xsl:template match="bibrefFormat/bibrefJournalFormat/symbol | bibrefFormat/structDefs/symbol"> + <xsl:param name="symbol" /> + <xsl:if test="string-length(./@before) > 0"> + <xsl:value-of select="./@before"/> + </xsl:if> + <xsl:value-of select="$symbol"/> + <xsl:if test="string-length(./@after) > 0"> + <xsl:value-of select="./@after"/> + </xsl:if> + </xsl:template> + + <!-- Process the date of the conference --> + <xsl:template match="bibrefFormat/bibrefProeccedingsFormat/dateOfConference | bibrefFormat/structDefs/dateOfConference"> + + <xsl:param name="dateFromOfConference" /> + <xsl:param name="dateToOfConference" /> + <xsl:choose> + <xsl:when test="string-length($dateFromOfConference) > 0"> + <span class="publicationProceedingsDateOfConference"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationInProceedingsDateFromOfConference"> + + <xsl:value-of select="$dateFromOfConference" /> + </span> + <xsl:if test="string-length($dateToOfConference) > 0"> + <xsl:if test="./@betweenText"> + <span class="betweenText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" + select="./@betweenText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationInProceedingsDateToOfConference"> + + <xsl:value-of select="$dateToOfConference" /> + </span> + </xsl:if> + <xsl:if test="./@postText"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationProceedingsDateOfConference"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="bibrefFormat//director"> + <xsl:param name="director" /> + <xsl:choose> + <xsl:when test="string-length($director) > 0"> + <span class="publicationDirectorInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <span class="publicationDirector"> + <xsl:copy-of select="$director" /> + </span> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + <xsl:if test="./@postText"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationDirectorInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="bibrefFormat/bibrefInternetArticleFormat/doi | bibrefFormat/structDefs//doi"> + <xsl:param name="doi"/> + <xsl:choose> + <xsl:when test="string-length($doi) > 0"> + <span class="publicationDoiInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <a> + <xsl:attribute name="href"> + <xsl:value-of select="$doi" /> + </xsl:attribute> + <span class="publicationDoi"> + <xsl:value-of select="$doi" /> + </span> + </a> + <xsl:if test="./@postText"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationDoiInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- + Proceses the edition of a publication + --> + <xsl:template match="bibrefFormat//edition"> + <xsl:param name="edition" /> + <xsl:choose> + <xsl:when test="string-length($edition) > 0"> + <span class="publicationEditionInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationEdition"> + <xsl:value-of select="$edition" /> + </span> + <xsl:if test="./@postText"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationEditionInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> - <span class="publicationSeriesEditorInfo"> - <xsl:if test="./preText = 'true'"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" select="'SciPublications'"/> - <xsl:with-param name="id" select="'@preText'"/> - </xsl:call-template> - </xsl:if> - - <span class="publicationSeriesEditor"> - <xsl:apply-templates> - <xsl:with-param name="surname" select="$surname"/> - <xsl:with-param name="givenName" select="$givenName"/> - </xsl:apply-templates> - </span> + <xsl:template match="bibrefFormat//firstProductionTheatre"> + <xsl:param name="firstProductionTheatre" /> + <xsl:choose> + <xsl:when test="string-length($firstProductionTheatre) > 0"> + <span class="publicationFirstProductionTheatreInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationFirstProductionTheatre"> + <xsl:value-of select="$firstProductionTheatre" /> + </span> + <xsl:if test="./@postText"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationFirstProductionTheatreInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> - <xsl:if test="./@postTex"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" select="'SciPublications'"/> - <xsl:with-param name="id" select="@postText"/> - </xsl:call-template> - </xsl:if> - </span> - <xsl:if test="(position() > 2) and (position() != last())"> - <xsl:value-of select="./@separator"/> - </xsl:if> - </xsl:template>--> + <xsl:template match="bibrefFormat//firstProductionYear"> + <xsl:param name="firstProductionYear" /> + <xsl:choose> + <xsl:when test="string-length($firstProductionYear) > 0"> + <span class="publicationFirstProductionYearInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationFirstProductionYear"> + <xsl:value-of select="$firstProductionYear" /> + </span> + <xsl:if test="./@postText"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationFirstProductionYearInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> - <!-- Processes the surname of an editor of a series --> - <!-- <xsl:template match="bibrefInSeriesEditorFormat/surname"> - <xsl:param name="surname"/> - <xsl:if test="string-length($surname) > 0"> - <span class="publicationAuthorSurnameInfo"> - <xsl:if test="./@before"> - <span class="before"><xsl:value-of select="./@before"/></span> - </xsl:if> - <span class="publicationAuthorSurname"> - <xsl:value-of select="$surname"/> - </span> - <xsl:if test="./@after"> - <span class="after"><xsl:value-of select="./@after"/></span> - </xsl:if> - </span> - </xsl:if> - </xsl:template>--> - <!-- Processes the given name of an editor of a series --> - <!-- <xsl:template match="bibrefInSeriesEditorFormat/givenName"> - <xsl:param name="givenName"/> - <xsl:if test="string-length($givenName) > 0"> - <span class="publicationAuthorGivenNameInfo"> - <xsl:if test="./@before"> - <span class="before"><xsl:value-of select="./@before"/></span> - </xsl:if> - <span class="publicationAuthorGivenName"> + + <!-- Proceeses the last accessed value of a internet article --> + <xsl:template match="bibrefFormat/bibrefInternetArticleFormat/lastAccessed | bibrefFormat/structDefs/lastAccessed"> + + <xsl:param name="lastAccessed" /> + <xsl:choose> + <xsl:when test="string-length($lastAccessed) > 0"> + <span class="lastAccessedInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="lastAccessed"> + <xsl:value-of select="$lastAccessed" /> + </span> + <xsl:if test="./@postText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="lastAccessedInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- + Outputs the ISBN of the publication, if present. + --> + <xsl:template match="bibrefFormat//isbn"> + <xsl:param name="isbn" /> + <xsl:choose> + <xsl:when test="string-length($isbn) > 0"> + <span class="publicationIsbnInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationIsbn"> + <xsl:value-of select="$isbn" /> + </span> + <xsl:if test="./@postText"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationIsbnInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- + Outputs the ISSN of the publication, if present. + --> + <xsl:template match="bibrefFormat//issn"> + <xsl:param name="issn" /> + <xsl:choose> + <xsl:when test="string-length($issn) > 0"> + <span class="publicationIssnInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationIssn"> + <xsl:value-of select="$issn" /> + </span> + <xsl:if test="./@postText = 'true'"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationIssnInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Output the issue of an article in journal or review --> + <xsl:template match="bibrefFormat/bibrefArticleInJournalFormat/issue | bibrefFormat/bibrefReviewFormat/issue | bibrefFormat/structDefs/issue"> + <xsl:param name="issue"/> + <xsl:choose> + <xsl:when test="string-length($issue) > 0"> + <span class="publicationIssueInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationIssue"> + <xsl:value-of select="$issue" /> + </span> + <xsl:if test="./@postText"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationIssueInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- + Outputs the name of the journal + --> + <xsl:template match="bibrefFormat/bibrefArticleInJournalFormat/journal | bibrefFormat/bibrefReviewFormat/journal | bibrefFormat/structDefs//journal"> + <xsl:param name="journal"/> + <xsl:choose> + <!-- We use 1 here because if the string contains empty spaces normalize-space will keep one --> + <xsl:when test="string-length(normalize-space($journal)) > 1"> + <span class="publicationJournalInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationJournal"> + <xsl:value-of select="normalize-space($journal)" /> + </span> + <xsl:if test="./@postText = 'true'"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationJournalInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Output misc information --> + <xsl:template match="bibrefFormat//misc"> + <xsl:param name="misc" /> + <xsl:choose> + <xsl:when test="string-length(normalize-space($misc)) > 1"> + + <span class="publicationMiscInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationMisc"> + <xsl:value-of select="normalize-space($misc)" /> + </span> + <xsl:if test="./@postText = 'true'"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationMiscInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Process the name of a conference --> + <xsl:template match="bibrefFormat/bibrefProceedingsFormat/nameOfConference | bibrefFormat/structDefs//nameOfConference"> + + <xsl:param name="nameOfConference" /> + <xsl:choose> + <xsl:when test="string-length($nameOfConference) > 0"> + <span class="publicationProceedingsNameOfConferenceInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationProceedingsNameOfConference"> + <xsl:value-of select="$nameOfConference" /> + </span> + <xsl:if test="./@postText"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + </span> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationProceedingsNameOfConferenceInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Output number information --> + <xsl:template match="bibrefFormat//number"> + <xsl:param name="number" /> + <xsl:choose> + <xsl:when test="string-length($number) > 0"> + <span class="publicationNumberInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationNumber"> + <xsl:value-of select="normalize-space($number)" /> + </span> + <xsl:if test="./@postText = 'true'"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationNumberInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- + Processes the number of pages + --> + <xsl:template match="bibrefFormat//numberOfPages"> + <xsl:param name="numberOfPages" /> + <xsl:choose> + <xsl:when test="string-length($numberOfPages) > 0"> + <span class="publicationNumberOfPagesInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationNumberOfPages"> + <xsl:value-of select="normalize-space($numberOfPages)" /> + </span> + <xsl:if test="./@postText = 'true'"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationNumberOfPagesInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- + Processes the number of volumes + --> + <xsl:template match="bibrefFormat//numberOfVolumes"> + <xsl:param name="numberOfVolumes" /> + <xsl:choose> + <xsl:when test="string-length($numberOfVolumes) > 0"> + <span class="publicationNumberOfVolumesInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationNumberOfVolumes"> + <xsl:value-of select="$numberOfVolumes" /> + </span> + <xsl:if test="./@postText = 'true'"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationNumberOfVolumesInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Procsses the organization info --> + <xsl:template match="bibrefFormat//organization"> + <xsl:param name="organization" /> + <xsl:choose> + <xsl:when test="string-length($organization) > 0"> + <span class="publicationOrganizationInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationOrganization"> + <xsl:value-of select="$organization" /> + </span> + <xsl:if test="./@postText = 'true'"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationOrganizationInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Process the organizer of a conference--> + <xsl:template match="bibrefFormat/bibrefProceedingsFormat/organizer | bibrefFormat/structDefs//organizer"> + + <xsl:param name="organizerOfConference" /> + <xsl:choose> + <xsl:when test="string-length($organizerOfConference) > 0"> + + <span class="publicationProceedingsOrganizerOfConferenceInfo"> + + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </xsl:if> + <span class="publicationInProceedingsOrganizerOfConference"> + + <xsl:value-of select="$organizerOfConference" /> + </span> + <xsl:if test="./@postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationOrganizerOfConferenceInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Processes the page from to information, if present --> + <xsl:template match="bibrefFormat//pages"> + <xsl:param name="pagesFrom" /> + <xsl:param name="pagesTo" /> + <xsl:choose> + <xsl:when test="(string-length($pagesFrom) > 0)"> + <span class="publicationPagesInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationPagesFrom"> + <xsl:value-of select="normalize-space($pagesFrom)" /> + </span> + <xsl:if test="string-length($pagesTo) > 0"> + <xsl:if test="./@betweenText"> + <span class="betweenText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" + select="./@betweenText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationPagesTo"> + <xsl:value-of select="normalize-space($pagesTo)" /> + </span> + </xsl:if> + <xsl:if test="./@postText"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationPagesInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Procsses the place of publication --> + <xsl:template match="bibrefFormat//place"> + <xsl:param name="place" /> + <xsl:choose> + <xsl:when test="string-length($place) > 0"> + <span class="publicationPlaceInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationPlace"> + <xsl:value-of select="$place" /> + </span> + <xsl:if test="./@postText = 'true'"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationPlaceInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Outputs the place of the conference --> + <xsl:template match="bibrefFormat/bibrefProcceedingsFormat/placeOfConference | bibrefFormat/structDefs//placeOfConference"> + + <xsl:param name="placeOfConference" /> + <xsl:choose> + <xsl:when test="string-length($placeOfConference) > 0"> + <span class="publicationProceedingsPlaceOfConferenceInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationProceedingsPlaceOfConference"> + <xsl:value-of select="$placeOfConference" /> + </span> + <xsl:if test="./@postText = 'true'"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationProceedingsPlaceOfConferenceInfo"> + + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Outputs the procceedings part of a in proccedings publications --> + <xsl:template match="bibrefFormat/bibrefInProceedingsFormat/proceedings | bibrefFormat/structDefs/proceedings"> + + <xsl:param name="proceedings" /> + <xsl:choose> + <xsl:when test="string-length($proceedings) > 0"> + <span class="publicationProceedingsInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </xsl:if> + <span class="publicationProceedings"> + <xsl:value-of select="$proceedings" /> + </span> + <xsl:if test="./@postText = 'true'"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationProceedingsInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Procsses the organization info --> + <xsl:template match="bibrefFormat//productionCompany"> + <xsl:param name="productionCompany" /> + <xsl:choose> + <xsl:when test="string-length($productionCompany) > 0"> + <span class="publicationProductionCompanyInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationProductionCompany"> + <xsl:value-of select="$productionCompany" /> + </span> + <xsl:if test="./@postText = 'true'"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationProductionCompanyInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + + <!-- Output the date of publication of a publication --> + <xsl:template match="bibrefFormat//publicationDate"> + <xsl:param name="publicationDate" /> + <xsl:choose> + <xsl:when test="string-length($publicationDate) > 0"> + <span class="publicationDateInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationDate"> + <xsl:value-of select="$publicationDate" /> + </span> + <xsl:if test="./@postText = 'true'"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationDateInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- + Outputs the publisher of the publication. + --> + <xsl:template match="bibrefFormat//publisher"> + <xsl:param name="publisher" /> + <xsl:choose> + <xsl:when test="string-length($publisher) > 0"> + <span class="publicationPublisherInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationPublisher"> + <xsl:value-of select="normalize-space($publisher)" /> + </span> + <xsl:if test="./@postText = 'true'"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationMiscInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- + Outputs if a publication is reviewed or not. This tag is a bit special since it replaces the value provided + with a text and does not output it. If the parameter reviewed is 'true', then the localized text + identified by the id provided with the true attribute is printed, else the localized value of + the false attribute. If the variable is empty, the ifEmpty attribute is used + --> + <xsl:template match="bibrefFormat//reviewed"> + <xsl:param name="reviewed" /> + <xsl:choose> + <xsl:when test="string-length($reviewed) > 0"> + <span class="publicationReviewedInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <span class="publicationReviewed"> + <xsl:choose> + <xsl:when test="$reviewed = 'true'"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@true" /> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@false" /> + </xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </span> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationReviewedInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Output the preproceessed series information, if any --> + <xsl:template match="bibrefFormat//series"> + <xsl:param name="series" /> + <xsl:param name="seriesVolume" select="''"/> + <xsl:choose> + <xsl:when test="string-length($series)> 0"> + <span class="publicationSeriesInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationSeries"> + <xsl:value-of select="$series" /> + </span> + <xsl:if test="./@postText = 'true'"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + <xsl:if test="string-length($seriesVolume) > 0"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" select="'SciPublications'" /> + <xsl:with-param name="id" select="./@numberText"/> + </xsl:call-template> + <xsl:value-of select="$seriesVolume"/> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationSerieseInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- + Outputs the title of the publication. Note: The value of the after attribute is only printed if + the last character of the title is *not* a '.', a '!' or a '?'. + --> + <xsl:template match="bibrefFormat//title"> + <xsl:param name="title" /> + <xsl:param name="oid" /> + <xsl:param name="useRelativeUrl" select="'false'" /> + <xsl:variable name="setDetailLink"> + <xsl:call-template name="mandalay:getSetting"> + <xsl:with-param name="module" + select="'SciPublications_PublicationList'" /> + <xsl:with-param name="setting" select="'setDetailLink'" /> + <xsl:with-param name="default" select="'false'" /> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="titleLastChar"> + <xsl:value-of select="substring($title, string-length($title))" /> + </xsl:variable> + + <span class="publicationTitleInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:choose> - <xsl:when test="./@initialsOnly='true'"> - <xsl:value-of select="substring($givenName, 1, 2)"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$givenName"/> - </xsl:otherwise> + <xsl:when test="$setDetailLink = 'true'"> + <span class="publicationName"> + <a> + <xsl:choose> + <xsl:when test="$useRelativeUrl = 'true'"> + <xsl:attribute name="href"> + <xsl:value-of select="$oid" /> + </xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="href">/redirect/?oid=<xsl:value-of select="$oid" /></xsl:attribute> + </xsl:otherwise> + </xsl:choose> + <xsl:choose> + <xsl:when test="./@highlight = 'true'"> + <em> + <xsl:value-of select="$title" /> + </em> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$title" /> + </xsl:otherwise> + </xsl:choose> + </a> + </span> + </xsl:when> + <xsl:otherwise> + <span class="publicationTitle"> + <xsl:choose> + <xsl:when test="./@highlight = 'true'"> + <em> + <xsl:value-of select="$title" /> + </em> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$title" /> + </xsl:otherwise> + </xsl:choose> + </span> + </xsl:otherwise> </xsl:choose> - </span> - <xsl:if test="./@after"> - <span class="after"><xsl:value-of select="./@after"/></span> - </xsl:if> + <xsl:if test="($titleLastChar != '.') and ($titleLastChar != '!') and ($titleLastChar != '?')"> + <xsl:value-of select="./@after"/> + </xsl:if> </span> - </xsl:if> - </xsl:template>--> + </xsl:template> - <!-- Proceess structs --> - <xsl:template match="bibrefFormat//struct"> - <xsl:param name="authors" select="''" /> - <xsl:param name="chapter" select="''" /> - <xsl:param name="collectedVolume" select="''" /> - <xsl:param name="dateFromOfConference" select="''" /> - <xsl:param name="dateToOfConference" select="''" /> - <xsl:param name="doi" select="''" /> - <xsl:param name="edition" select="''" /> - <xsl:param name="isbn" select="''" /> - <xsl:param name="issn" select="''" /> - <xsl:param name="issue" select="''" /> - <xsl:param name="journal" select="''" /> - <xsl:param name="lastAccessed" select="''" /> - <xsl:param name="misc" select="''" /> - <xsl:param name="nameOfConference" select="''" /> - <xsl:param name="number" select="''" /> - <xsl:param name="numberOfPages" select="''" /> - <xsl:param name="numberOfVolumes" select="''" /> - <xsl:param name="organization" select="''" /> - <xsl:param name="organizerOfConference" select="''" /> - <xsl:param name="pagesFrom" select="''" /> - <xsl:param name="pagesTo" select="''" /> - <xsl:param name="place" select="''" /> - <xsl:param name="placeOfConference" select="''" /> - <xsl:param name="proceedings" select="''" /> - <xsl:param name="publicationDate" select="''" /> - <xsl:param name="publisher" select="''" /> - <xsl:param name="reviewed" select="''" /> - <xsl:param name="series" select="''" /> - <xsl:param name="title" select="''" /> - <xsl:param name="url" select="''" /> - <xsl:param name="urn" select="''" /> - <xsl:param name="volume" select="''" /> - <xsl:param name="year" select="''" /> - <xsl:variable name="structName" select="./@name" /> - <xsl:variable name="structData"> - <xsl:apply-templates select="../../structDefs/structDef[@name=$structName]/*"> + <!-- + Processes the URL of an publication, if present. + --> + <xsl:template match="bibrefFormat/bibrefInternetArticleFormat/url | bibrefFormat/structDefs//url"> - <xsl:with-param name="authors" select="$authors" /> - <xsl:with-param name="chapter" select="$chapter" /> - <xsl:with-param name="collectedVolume" - select="$collectedVolume" /> - <xsl:with-param name="dateFromOfConference" - select="$dateToOfConference" /> - <xsl:with-param name="dateToOfConference" - select="$dateToOfConference" /> - <xsl:with-param name="doi" select="$doi" /> - <xsl:with-param name="edition" select="$edition" /> - <xsl:with-param name="isbn" select="$isbn" /> - <xsl:with-param name="issn" select="$issn" /> - <xsl:with-param name="issue" select="$issue" /> - <xsl:with-param name="journal" select="$journal" /> - <xsl:with-param name="lastAccessed" - select="$lastAccessed" /> - <xsl:with-param name="misc" select="$misc" /> - <xsl:with-param name="nameOfConference" - select="$nameOfConference" /> - <xsl:with-param name="number" select="$number" /> - <xsl:with-param name="numberOfPages" - select="$numberOfPages" /> - <xsl:with-param name="numberOfVolumes" - select="$numberOfVolumes" /> - <xsl:with-param name="organization" - select="$organization" /> - <xsl:with-param name="organizerOfConference" - select="$organizerOfConference" /> - <xsl:with-param name="pagesFrom" select="$pagesFrom" /> - <xsl:with-param name="pagesTo" select="$pagesTo" /> - <xsl:with-param name="place" select="$place" /> - <xsl:with-param name="placeOfConference" - select="$placeOfConference" /> - <xsl:with-param name="proceedings" select="$proceedings" /> - <xsl:with-param name="publicationDate" - select="$publicationDate" /> - <xsl:with-param name="publisher" select="$publisher" /> - <xsl:with-param name="reviewed" select="$reviewed" /> - <xsl:with-param name="series" select="$series" /> - <xsl:with-param name="title" select="$title" /> - <xsl:with-param name="url" select="$url" /> - <xsl:with-param name="urn" select="$urn" /> - <xsl:with-param name="volume" select="$volume" /> - <xsl:with-param name="year" select="$year" /> - </xsl:apply-templates> - </xsl:variable> - <xsl:variable name="minLength"> - <xsl:choose> - <xsl:when test="string-length(./@minLength) > 0"> - <xsl:value-of select="./@minLength" /> - </xsl:when> - <xsl:otherwise>0</xsl:otherwise> - </xsl:choose> - </xsl:variable> - <xsl:choose> - <xsl:when test="string-length(normalize-space($structData)) > $minLength"> + <xsl:param name="url" /> + <xsl:choose> + <xsl:when test="string-length($url) > 0"> + <span class="publicationUrlInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <a> + <xsl:attribute name="href"> + <xsl:value-of select="$url" /> + </xsl:attribute> + <xsl:value-of select="$url" /> + </a> + <xsl:if test="./@postText"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationUrlInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> - <span class="publicationDataStructInfo"> - <xsl:if test="./@before"> - <span class="before"> - <xsl:value-of select="./@before" /> - </span> - </xsl:if> - <xsl:if test="./@preText"> - <span class="preText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@preText" /> - </xsl:call-template> - </span> - </xsl:if> - <span class="publicationDataStruct"> - <xsl:value-of select="$structData" /> - </span> - <xsl:if test="./@postText = 'true'"> - <span class="postText"> - <xsl:call-template name="mandalay:getStaticText"> - <xsl:with-param name="module" - select="'SciPublications'" /> - <xsl:with-param name="id" select="./@postText" /> - </xsl:call-template> - </span> - </xsl:if> - <xsl:if test="./@after"> - <span class="after"> - <xsl:value-of select="./@after" /> - </span> - </xsl:if> - </span> - </xsl:when> - <xsl:otherwise> - <xsl:if test="./@ifEmpty"> - <span class="publicationDataStructInfo"> - <span class="ifEmpty"> - <xsl:value-of select="./@ifEmpty" /> - </span> - </span> + <!-- + Processes the URN of an publication, if present. + --> + <xsl:template match="bibrefFormat/bibrefInternetArticleFormat/urn | bibrefFormat/structDefs//urn"> + + <xsl:param name="urn" /> + <xsl:choose> + <xsl:when test="string-length($urn) > 0"> + <span class="publicationUrnInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <a> + <xsl:attribute name="href"> + <xsl:value-of select="$urn" /> + </xsl:attribute> + <xsl:value-of select="$urn" /> + </a> + <xsl:if test="./@postText"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationUrnInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- + Outputs the volume of an publication. + --> + <xsl:template match="bibrefFormat//volume"> + <xsl:param name="volume" /> + <xsl:choose> + <xsl:when test="string-length($volume) > 0"> + <span class="publicationVolumeInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationVolume"> + <xsl:value-of select="$volume" /> + </span> + <xsl:if test="./@postText"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationVolumeInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- + Outputs the year of publication of the publication. + --> + <xsl:template match="bibrefFormat//year"> + <xsl:param name="year" /> + <xsl:choose> + <xsl:when test="string-length($year) > 0"> + <span class="publicationYearInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationYear"> + <xsl:value-of select="$year" /> + </span> + <xsl:if test="./@postText = 'true'"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationYearInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Templates for preprocessed fields, like authors or a publisher --> + <!-- + Entry point for processing an author of a publication. + --> + <xsl:template name="bibrefAuthor" match="bibrefAuthorFormat"> + <xsl:param name="surname" /> + <xsl:param name="givenName" /> + <xsl:param name="isEditor" /> + <xsl:param name="oid" select="''" /> + <xsl:param name="authorsCount" /> + <xsl:param name="position" /> + <xsl:param name="linkAuthor" select="'false'" /> + <!-- + If this is not the first author, put the definied separator before + the author + --> + <xsl:if test="($authorsCount > 1) and ($position > 1)"> + <xsl:choose> + <xsl:when test="./@separatorKey"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@separatorKey" /> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <span> + <xsl:value-of select="./@separator" /> + </span> + </xsl:otherwise> + </xsl:choose> </xsl:if> - </xsl:otherwise> - </xsl:choose> - </xsl:template> + + <!-- + Put the author string into an variable. This is necessary, because + apply-templates creates a line break, which causes an space in the + browser. To avoid this, the author string is put into a variable, + which is put into the HTML output using value-of and the + XPath function normalize-space, which removes spaces from the + begeginning and the end of its argument. + --> + <xsl:variable name="author"> + <span class="publicationAuthor"> + <!-- Call the subsequent templates for surname, given name and editor --> + <xsl:apply-templates> + <xsl:with-param name="surname" select="$surname" /> + <xsl:with-param name="givenName" select="$givenName" /> + <xsl:with-param name="isEditor" select="$isEditor" /> + </xsl:apply-templates> + </span> + </xsl:variable> + + <xsl:choose> + <xsl:when test="$linkAuthor = 'true' and string-length($oid) > 0"> + <a> + <xsl:attribute name="href"> + <xsl:value-of select="concat('/redirect/?oid=', $oid)" /> + </xsl:attribute> + <xsl:value-of select="normalize-space($author)" /> + </a> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="normalize-space($author)" /> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Processes the surname of an author --> + <xsl:template match="bibrefAuthorFormat/surname"> + <xsl:param name="surname" /> + <xsl:if test="string-length($surname) > 0"> + <span class="publicationAuthorSurnameInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <span class="publicationAuthorSurname"> + <xsl:value-of select="$surname" /> + </span> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:if> + </xsl:template> + + <!-- + Processes the given name of an author. If the initialsOnly attribute + is the "true" in the format definition, only the first letter of the name + is shown. + --> + <xsl:template match="bibrefAuthorFormat/givenName"> + <xsl:param name="givenName" /> + <xsl:if test="string-length($givenName) > 0"> + <span class="publicationAuthorGivenNameInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <span class="publicationAuthorGivenName"> + <xsl:choose> + <xsl:when test="./@initialsOnly='true'"> + <xsl:value-of select="substring($givenName, 1, 2)" /> + <xsl:text>.</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$givenName" /> + </xsl:otherwise> + </xsl:choose> + </span> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:if> + </xsl:template> + + <!-- + Proceeses the editor tag, which is replaced with the text for editor, e.g. (Hrsg.) + for authors which are editors. + --> + <xsl:template match="bibrefAuthorFormat/editor"> + <xsl:param name="isEditor" /> + <xsl:if test="$isEditor = 'true'"> + <span class="publicationAuthorEditorInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <span class="publicationAuthorEditor"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@text" /> + </xsl:call-template> + </span> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:if> + </xsl:template> + + <!-- + *************************************************************** + ** Entry point for processing the publisher of a publication ** + *************************************************************** + --> + <xsl:template match="bibrefPublisherFormat"> + <xsl:param name="name" /> + <xsl:param name="place" /> + <xsl:apply-templates> + <xsl:with-param name="name" select="$name" /> + <xsl:with-param name="place" select="$place" /> + </xsl:apply-templates> + </xsl:template> + + <!-- Outputs the name of the publisher --> + <xsl:template match="bibrefPublisherFormat/name"> + <xsl:param name="name" /> + <xsl:if test="string-length($name) > 0"> + <span class="publicationPublisherNameInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <span class="publicationPublisherName"> + <xsl:value-of select="$name" /> + </span> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:if> + </xsl:template> + + <!-- Outputs the place of a publisher --> + <xsl:template match="bibrefPublisherFormat/place"> + <xsl:param name="place" /> + <xsl:if test="string-length($place)"> + <span class="publisherPlaceInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <span class="publisherPlace"> + <xsl:value-of select="$place" /> + </span> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:if> + </xsl:template> + + <!-- Proceess structs --> + <xsl:template match="bibrefFormat//struct"> + <xsl:param name="authors" select="''" /> + <xsl:param name="chapter" select="''" /> + <xsl:param name="collectedVolume" select="''" /> + <xsl:param name="dateFromOfConference" select="''" /> + <xsl:param name="dateToOfConference" select="''" /> + <xsl:param name="doi" select="''" /> + <xsl:param name="edition" select="''" /> + <xsl:param name="isbn" select="''" /> + <xsl:param name="issn" select="''" /> + <xsl:param name="issue" select="''" /> + <xsl:param name="journal" select="''" /> + <xsl:param name="lastAccessed" select="''" /> + <xsl:param name="misc" select="''" /> + <xsl:param name="nameOfConference" select="''" /> + <xsl:param name="number" select="''" /> + <xsl:param name="numberOfPages" select="''" /> + <xsl:param name="numberOfVolumes" select="''" /> + <xsl:param name="organization" select="''" /> + <xsl:param name="organizerOfConference" select="''" /> + <xsl:param name="pagesFrom" select="''" /> + <xsl:param name="pagesTo" select="''" /> + <xsl:param name="place" select="''" /> + <xsl:param name="placeOfConference" select="''" /> + <xsl:param name="proceedings" select="''" /> + <xsl:param name="publicationDate" select="''" /> + <xsl:param name="publisher" select="''" /> + <xsl:param name="reviewed" select="''" /> + <xsl:param name="series" select="''" /> + <xsl:param name="title" select="''" /> + <xsl:param name="url" select="''" /> + <xsl:param name="urn" select="''" /> + <xsl:param name="volume" select="''" /> + <xsl:param name="year" select="''" /> + <xsl:variable name="structName" select="./@name" /> + <xsl:variable name="structData"> + <xsl:apply-templates select="../../structDefs/structDef[@name=$structName]/*"> + + <xsl:with-param name="authors" select="$authors" /> + <xsl:with-param name="chapter" select="$chapter" /> + <xsl:with-param name="collectedVolume" + select="$collectedVolume" /> + <xsl:with-param name="dateFromOfConference" + select="$dateToOfConference" /> + <xsl:with-param name="dateToOfConference" + select="$dateToOfConference" /> + <xsl:with-param name="doi" select="$doi" /> + <xsl:with-param name="edition" select="$edition" /> + <xsl:with-param name="isbn" select="$isbn" /> + <xsl:with-param name="issn" select="$issn" /> + <xsl:with-param name="issue" select="$issue" /> + <xsl:with-param name="journal" select="$journal" /> + <xsl:with-param name="lastAccessed" + select="$lastAccessed" /> + <xsl:with-param name="misc" select="$misc" /> + <xsl:with-param name="nameOfConference" + select="$nameOfConference" /> + <xsl:with-param name="number" select="$number" /> + <xsl:with-param name="numberOfPages" + select="$numberOfPages" /> + <xsl:with-param name="numberOfVolumes" + select="$numberOfVolumes" /> + <xsl:with-param name="organization" + select="$organization" /> + <xsl:with-param name="organizerOfConference" + select="$organizerOfConference" /> + <xsl:with-param name="pagesFrom" select="$pagesFrom" /> + <xsl:with-param name="pagesTo" select="$pagesTo" /> + <xsl:with-param name="place" select="$place" /> + <xsl:with-param name="placeOfConference" + select="$placeOfConference" /> + <xsl:with-param name="proceedings" select="$proceedings" /> + <xsl:with-param name="publicationDate" + select="$publicationDate" /> + <xsl:with-param name="publisher" select="$publisher" /> + <xsl:with-param name="reviewed" select="$reviewed" /> + <xsl:with-param name="series" select="$series" /> + <xsl:with-param name="title" select="$title" /> + <xsl:with-param name="url" select="$url" /> + <xsl:with-param name="urn" select="$urn" /> + <xsl:with-param name="volume" select="$volume" /> + <xsl:with-param name="year" select="$year" /> + </xsl:apply-templates> + </xsl:variable> + <xsl:variable name="minLength"> + <xsl:choose> + <xsl:when test="string-length(./@minLength) > 0"> + <xsl:value-of select="./@minLength" /> + </xsl:when> + <xsl:otherwise>0</xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:choose> + <xsl:when test="string-length(normalize-space($structData)) > $minLength"> + + <span class="publicationDataStructInfo"> + <xsl:if test="./@before"> + <span class="before"> + <xsl:value-of select="./@before" /> + </span> + </xsl:if> + <xsl:if test="./@preText"> + <span class="preText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@preText" /> + </xsl:call-template> + </span> + </xsl:if> + <span class="publicationDataStruct"> + <xsl:value-of select="$structData" /> + </span> + <xsl:if test="./@postText = 'true'"> + <span class="postText"> + <xsl:call-template name="mandalay:getStaticText"> + <xsl:with-param name="module" + select="'SciPublications'" /> + <xsl:with-param name="id" select="./@postText" /> + </xsl:call-template> + </span> + </xsl:if> + <xsl:if test="./@after"> + <span class="after"> + <xsl:value-of select="./@after" /> + </span> + </xsl:if> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:if test="./@ifEmpty"> + <span class="publicationDataStructInfo"> + <span class="ifEmpty"> + <xsl:value-of select="./@ifEmpty" /> + </span> + </span> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> </xsl:stylesheet> \ No newline at end of file diff --git a/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/SciPublicationsDramaticArtsResources.properties b/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/SciPublicationsDramaticArtsResources.properties index a8564aa54..616885156 100644 --- a/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/SciPublicationsDramaticArtsResources.properties +++ b/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/SciPublicationsDramaticArtsResources.properties @@ -16,3 +16,4 @@ publications.dramaticarts.ui.movie.production_company.no_company_selected=No pro publications.dramaticarts.ui.play.production_theater.none=No theatre assigned publications.dramaticarts.ui.play.production_theater.remove=Remove publications.dramaticarts.ui.play.production_theater.remove.confirm=Are you sure to remove the assigned theatre? +publications.dramaticarts.ui.play.productiontheater=First production theathre diff --git a/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/SciPublicationsDramaticArtsResources_de.properties b/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/SciPublicationsDramaticArtsResources_de.properties index ba7dcd17f..1f15f30e7 100644 --- a/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/SciPublicationsDramaticArtsResources_de.properties +++ b/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/SciPublicationsDramaticArtsResources_de.properties @@ -16,3 +16,4 @@ publications.dramaticarts.ui.movie.production_company.no_company_selected=Keine publications.dramaticarts.ui.play.production_theater.none=Kein Theater zugewiesen publications.dramaticarts.ui.play.production_theater.remove=Entfernen publications.dramaticarts.ui.play.production_theater.remove.confirm=Sind Sie sicher, dass Sie das zugewiesene Theater entfernen wollen? +publications.dramaticarts.ui.play.productiontheater=Erstes Theater diff --git a/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/ui/SciPublicationsMovieDirectorSheet.java b/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/ui/SciPublicationsMovieDirectorSheet.java index d3e9bb7b6..0572ca57c 100644 --- a/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/ui/SciPublicationsMovieDirectorSheet.java +++ b/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/ui/SciPublicationsMovieDirectorSheet.java @@ -147,8 +147,8 @@ public class SciPublicationsMovieDirectorSheet case 0: return director.getFullName(); case 1: - return globalisationUtil.globalise( - "publications.dramaticarts.ui.movie.director.remove"); + return new Label(globalisationUtil.globalise( + "publications.dramaticarts.ui.movie.director.remove")); default: return null; } @@ -234,12 +234,12 @@ public class SciPublicationsMovieDirectorSheet movie); if (canEdit) { - final ControlLink link = new ControlLink(value.toString()); + final ControlLink link = new ControlLink((Label)value); link.setConfirmation(globalisationUtil.globalise( "publications.dramaticarts.ui.movie.director.remove.confirm")); return link; } else { - return new Label(value.toString()); + return (Label) value; } } diff --git a/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/ui/SciPublicationsMovieProductionCompanySheet.java b/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/ui/SciPublicationsMovieProductionCompanySheet.java index 8f9cd26f0..e2e14dabb 100644 --- a/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/ui/SciPublicationsMovieProductionCompanySheet.java +++ b/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/ui/SciPublicationsMovieProductionCompanySheet.java @@ -146,8 +146,8 @@ public class SciPublicationsMovieProductionCompanySheet case 0: return productionCompany.getTitle(); case 1: - return globalisationUtil.globalise( - "publications.dramaticarts.ui.movie.production_company.remove"); + return new Label(globalisationUtil.globalise( + "publications.dramaticarts.ui.movie.production_company.remove")); default: return null; } @@ -233,12 +233,12 @@ public class SciPublicationsMovieProductionCompanySheet movie); if (canEdit) { - final ControlLink link = new ControlLink(value.toString()); + final ControlLink link = new ControlLink((Label) value); link.setConfirmation(globalisationUtil.globalise( "publications.dramaticarts.ui.movie.production_company.remove.confirm")); return link; } else { - return new Label(value.toString()); + return (Label) value; } } diff --git a/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/ui/SciPublicationsPlayProductionTheaterSheet.java b/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/ui/SciPublicationsPlayProductionTheaterSheet.java index 0f0f6189e..6ae9ce5d6 100644 --- a/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/ui/SciPublicationsPlayProductionTheaterSheet.java +++ b/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/ui/SciPublicationsPlayProductionTheaterSheet.java @@ -145,8 +145,8 @@ public class SciPublicationsPlayProductionTheaterSheet case 0: return productionTheater.getTitle(); case 1: - return globalisationUtil.globalise( - "publications.dramaticarts.ui.play.production_theater.remove"); + return new Label(globalisationUtil.globalise( + "publications.dramaticarts.ui.play.production_theater.remove")); default: return null; } @@ -233,12 +233,12 @@ public class SciPublicationsPlayProductionTheaterSheet play); if (canEdit) { - final ControlLink link = new ControlLink(value.toString()); + final ControlLink link = new ControlLink((Label) value); link.setConfirmation(globalisationUtil.globalise( "publications.dramaticarts.ui.play.production_theater.remove.confirm")); return link; } else { - return new Label(value.toString()); + return (Label) value; } } diff --git a/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/ui/SciPublicationsPlayPropertyForm.java b/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/ui/SciPublicationsPlayPropertyForm.java index d9ab1f80f..7d6587732 100644 --- a/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/ui/SciPublicationsPlayPropertyForm.java +++ b/ccm-sci-publications-dramaticarts/src/com/arsdigita/cms/contenttypes/ui/SciPublicationsPlayPropertyForm.java @@ -20,6 +20,7 @@ package com.arsdigita.cms.contenttypes.ui; import com.arsdigita.bebop.FormData; import com.arsdigita.bebop.FormProcessException; +import com.arsdigita.bebop.Label; import com.arsdigita.bebop.event.FormInitListener; import com.arsdigita.bebop.event.FormProcessListener; import com.arsdigita.bebop.event.FormSectionEvent; @@ -64,6 +65,7 @@ public class SciPublicationsPlayPropertyForm final TextField firstProdYear = new TextField(firstProdYearParam); firstProdYear.setMaxLength(4); firstProdYear.setLabel(globalisationUtil.globalise("publications.dramaticarts.ui.play.first_production_year")); + add(new Label(globalisationUtil.globalise("publications.dramaticarts.ui.play.first_production_year"))); add(firstProdYear); }