diff options
Diffstat (limited to 'stylesheets/lfs-xsl/docbook-xsl-1.78.1/xhtml/biblio-iso690.xsl')
-rw-r--r-- | stylesheets/lfs-xsl/docbook-xsl-1.78.1/xhtml/biblio-iso690.xsl | 1300 |
1 files changed, 0 insertions, 1300 deletions
diff --git a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/xhtml/biblio-iso690.xsl b/stylesheets/lfs-xsl/docbook-xsl-1.78.1/xhtml/biblio-iso690.xsl deleted file mode 100644 index c3b71f683..000000000 --- a/stylesheets/lfs-xsl/docbook-xsl-1.78.1/xhtml/biblio-iso690.xsl +++ /dev/null @@ -1,1300 +0,0 @@ -<?xml version="1.0" encoding="ASCII"?> -<!--This file was created automatically by html2xhtml--> -<!--from the HTML stylesheets.--> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0"> - - -<!-- ******************************************************************** - $Id: biblio.xsl 6402 2006-11-12 08:23:21Z bobstayton $ - ******************************************************************** - - This file is part of the XSL DocBook Stylesheet distribution. - See ../README or http://docbook.sf.net/release/xsl/current/ for - copyright and other information. - - The original code for processing bibliography in ISO690 style - was provided by Jana Dvorakova <jana4u@seznam.cz> - - ******************************************************************** --> - -<!-- ==================================================================== --> - -<!-- if biblioentry.alt.primary.seps is set to nonzero value then use alternative separators for primary responsibility - $alt.person.two.sep, $alt.person.last.sep, $alt.person.more.sep --> -<xsl:param name="biblioentry.alt.primary.seps" select="0"/> - -<!-- how many authors will be printed if there is more than three authors - set to number 1 (default value), 2 or 3 --> -<xsl:param name="biblioentry.primary.count" select="1"/> - -<!-- ==================================================================== --> - -<xsl:template name="iso690.makecitation"> -<!-- Types of resources --> - <xsl:choose> - - <!-- SYSTEMS OF ELECTRONIC COMMUNICATION : ENTIRE MESSAGE SYSTEM --> - <!-- same as Monographs --> - <xsl:when test="./@role='messagesystem'"> - <xsl:call-template name="iso690.monogr"/> - </xsl:when> - - <!-- SYSTEMS OF ELECTRONIC COMMUNICATION : ELECTRONIC MESSAGES --> - <!-- same as Contributions to Monographs --> - <xsl:when test="./@role='message'"> - <xsl:call-template name="iso690.paper.mon"/> - </xsl:when> - - <!-- SERIALS --> - <xsl:when test="./@role='serial' or ./biblioid/@class='issn' or ./issn"> - <xsl:call-template name="iso690.serial"/> - </xsl:when> - - <!-- PARTS OF MONOGRAPHS --> - <xsl:when test="./@role='part' or (./bibliomisc[@role='secnum']|./bibliomisc[@role='sectitle'])"> - <xsl:call-template name="iso690.monogr.part"/> - </xsl:when> - - <!-- CONTRIBUTIONS TO MONOGRAPHS --> - <xsl:when test="./@role='contribution' or (./biblioset/@relation='part' and ./biblioset/@relation='book')"> - <xsl:call-template name="iso690.paper.mon"/> - </xsl:when> - - <!-- ARTICLES, ETC., IN SERIALS --> - <xsl:when test="./@role='article' or (./biblioset/@relation='journal' and ./biblioset/@relation='article')"> - <xsl:call-template name="iso690.article"/> - </xsl:when> - - <!-- PATENT DOCUMENTS --> - <xsl:when test="./@role='patent' or (./bibliomisc[@role='patenttype'] and ./bibliomisc[@role='patentnum'])"> - <xsl:call-template name="iso690.patent"/> - </xsl:when> - - <!-- MONOGRAPHS --> - <xsl:otherwise> - <xsl:call-template name="iso690.monogr"/> - </xsl:otherwise> - - </xsl:choose> -</xsl:template> - -<!-- ==================================================================== --> - -<!-- MONOGRAPHS --> -<xsl:template name="iso690.monogr"> - <!-- Primary responsibility --> - <xsl:call-template name="iso690.primary"/> - <!-- Title and Type of medium --> - <xsl:call-template name="iso690.title"/> - <!-- Subordinate responsibility --> - <xsl:call-template name="iso690.secondary"/> - <!-- Edition --> - <xsl:call-template name="iso690.edition"/> - <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation --> - <xsl:call-template name="iso690.pub"/> - <!-- Extent --> - <xsl:call-template name="iso690.extent"/> - <!-- Series --> - <xsl:call-template name="iso690.serie"/> - <!-- Notes --> - <xsl:call-template name="iso690.notice"/> - <!-- Avaibility and access --> - <xsl:call-template name="iso690.access"/> - <!-- Standard number --> - <xsl:call-template name="iso690.isbn"/> -</xsl:template> - -<!-- SERIALS --> -<xsl:template name="iso690.serial"> - <!-- Title and Type of medium --> - <xsl:call-template name="iso690.title"/> - <!-- Responsibility [nonEL] --> - <xsl:if test="not(./bibliomisc[@role='medium'])"> - <xsl:call-template name="iso690.secondary"/> - </xsl:if> - <!-- Edition --> - <xsl:call-template name="iso690.edition"> - <xsl:with-param name="after" select="./bibliomisc[@role='issuing']"/> - </xsl:call-template> - <!-- Issue designation (date and/or num) [nonEL] --> - <xsl:if test="not(./bibliomisc[@role='medium'])"> - <xsl:call-template name="iso690.issuing"/> - </xsl:if> - <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation --> - <xsl:call-template name="iso690.pub"/> - <!-- Series --> - <xsl:call-template name="iso690.serie"/> - <!-- Notes --> - <xsl:call-template name="iso690.notice"/> - <!-- Avaibility and access --> - <xsl:call-template name="iso690.access"/> - <!-- Standard number --> - <xsl:call-template name="iso690.issn"/> -</xsl:template> - -<!-- PARTS OF MONOGRAPHS --> -<xsl:template name="iso690.monogr.part"> - <!-- Primary responsibility of host document --> - <xsl:call-template name="iso690.primary"/> - <!-- Title and Type of medium of host document --> - <xsl:call-template name="iso690.title"/> - <!-- Subordinate responsibility of host document [EL] --> - <xsl:if test="./bibliomisc[@role='medium']"> - <xsl:call-template name="iso690.secondary"/> - </xsl:if> - <!-- Edition --> - <xsl:call-template name="iso690.edition"> - <xsl:with-param name="after" select="./volumenum"/> - </xsl:call-template> - <!-- Numeration of the part [nonEL]--> - <xsl:if test="not(./bibliomisc[@role='medium'])"> - <xsl:call-template name="iso690.partnr"/> - <!-- Subordinate responsibility [nonEL] --> - <xsl:call-template name="iso690.secondary"/> - </xsl:if> - <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation --> - <xsl:call-template name="iso690.pub"/> - <!-- Location within host --> - <xsl:call-template name="iso690.part.location"/> - <xsl:if test="./bibliomisc[@role='medium']"> - <!-- Numeration within host document [EL] --> - <!-- Notes [EL] --> - <xsl:call-template name="iso690.notice"/> - <!-- Avaibility and access [EL] --> - <xsl:call-template name="iso690.access"/> - <!-- Standard number [EL] --> - <xsl:call-template name="iso690.isbn"/> - </xsl:if> -</xsl:template> - -<!-- CONTRIBUTIONS TO MONOGRAPHS --> -<xsl:template name="iso690.paper.mon"> -<!-- Contribution --> - <xsl:apply-templates mode="iso690.paper.part" select="./biblioset[@relation='part']"/> -<!-- In --> - <xsl:text>In </xsl:text> -<!-- Host --> - <xsl:apply-templates mode="iso690.paper.book" select="./biblioset[@relation='book']"/> -</xsl:template> - -<xsl:template match="biblioset" mode="iso690.paper.part"> -<!-- Contribution --> - <!-- Primary responsibility --> - <xsl:call-template name="iso690.primary"/> - <!-- Title --> - <xsl:call-template name="iso690.title"> - <xsl:with-param name="italic" select="0"/> - </xsl:call-template> -</xsl:template> - -<xsl:template match="biblioset" mode="iso690.paper.book"> -<!-- Host --> - <!-- Primary responsibility --> - <xsl:call-template name="iso690.primary"/> - <!-- Title and Type of medium --> - <xsl:call-template name="iso690.title"/> - <!-- Subordinate responsibility [EL] --> - <xsl:if test="./bibliomisc[@role='medium']"> - <xsl:call-template name="iso690.secondary"/> - </xsl:if> - <!-- Edition --> - <xsl:call-template name="iso690.edition"/> - <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation --> - <xsl:call-template name="iso690.paper.pub"/> - <!-- Numeration within host document [EL] --> - <!-- Location within host --> - <xsl:call-template name="iso690.location"/> - <xsl:if test="./bibliomisc[@role='medium']"> - <!-- Notes [EL] --> - <xsl:call-template name="iso690.notice"/> - <!-- Avaibility and access [EL] --> - <xsl:call-template name="iso690.access"/> - <!-- Standard number [EL] --> - <xsl:call-template name="iso690.isbn"/> - </xsl:if> -</xsl:template> - -<!-- ARTICLES, ETC., IN SERIALS --> -<xsl:template name="iso690.article"> -<!-- Article --> - <xsl:apply-templates mode="iso690.article.art" select="./biblioset[@relation='article']"/> -<!-- Serial --> - <xsl:apply-templates mode="iso690.article.jour" select="./biblioset[@relation='journal']"/> -</xsl:template> - -<xsl:template match="biblioset" mode="iso690.article.art"> -<!-- Article --> - <!-- Primary responsibility --> - <xsl:call-template name="iso690.primary"/> - <!-- Title --> - <xsl:call-template name="iso690.title"> - <xsl:with-param name="italic" select="0"/> - </xsl:call-template> - <!-- Subordinate responsibility [nonEL] --> - <xsl:if test="not(../*/bibliomisc[@role='medium'])"> - <xsl:call-template name="iso690.secondary"/> - </xsl:if> -</xsl:template> - -<xsl:template match="biblioset" mode="iso690.article.jour"> -<!-- Serial --> - <!-- Title and Type of medium --> - <xsl:call-template name="iso690.title"/> - <!-- Edition --> - <xsl:call-template name="iso690.edition"> - <xsl:with-param name="after" select="./pubdate[not(@role='issuing')]|./volumenum|./issuenum|./pagenums"/> - </xsl:call-template> - <!-- Number designation [EL] --> - <!-- Location within host --> - <xsl:call-template name="iso690.article.location"/> - <xsl:if test="./bibliomisc[@role='medium']"> - <!-- Notes [EL] --> - <xsl:call-template name="iso690.notice"/> - <!-- Avaibility and access [EL] --> - <xsl:call-template name="iso690.access"/> - <!-- Standard number [EL] --> - <xsl:call-template name="iso690.issn"/> - </xsl:if> -</xsl:template> - -<!-- PATENT DOCUMENTS --> -<xsl:template name="iso690.patent"> - <!-- Primary responsibility (applicant) --> - <xsl:call-template name="iso690.primary"/> - <!-- Title of the invention --> - <xsl:call-template name="iso690.title"/> - <!-- Subordinate responsibility --> - <xsl:call-template name="iso690.secondary"/> - <!-- Notes --> - <xsl:call-template name="iso690.notice"/> - <!-- Identification --> - <xsl:call-template name="iso690.pat.ident"/> -</xsl:template> - -<!-- ==================================================================== --> -<!-- Elements --> - -<!-- Primary responsibility --> -<xsl:template name="iso690.primary"> - <xsl:param name="primary.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'primary.sep'"/></xsl:call-template> - </xsl:param> - <xsl:choose> - <xsl:when test="./authorgroup/author|./author"> - <xsl:call-template name="iso690.author.list"> - <xsl:with-param name="person.list" select=".//authorgroup/author|.//author"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="./authorgroup/editor|./editor"> - <xsl:call-template name="iso690.author.list"> - <xsl:with-param name="person.list" select=".//authorgroup/editor|.//editor"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="./authorgroup/corpauthor|./corpauthor"> - <xsl:call-template name="iso690.author.list"> - <xsl:with-param name="person.list" select=".//authorgroup/corpauthor|.//corpauthor"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:if test="(./firstname)and(./surname)"> - <xsl:call-template name="iso690.author"/> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="string(./firstname[1])"/> - <xsl:with-param name="sep" select="$primary.sep"/> - </xsl:call-template> - </xsl:if> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template name="iso690.author.list"> - <xsl:param name="person.list" select="author|corpauthor|editor"/> - <xsl:param name="person.count" select="count($person.list)"/> - <xsl:param name="count" select="1"/> - <xsl:param name="group" select="./authorgroup[@role='many']"/> - <xsl:param name="many" select="0"/> - - <xsl:param name="primary.many"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'primary.many'"/></xsl:call-template> - </xsl:param> - <xsl:param name="primary.editor"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'primary.editor'"/></xsl:call-template> - </xsl:param> - <xsl:param name="primary.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'primary.sep'"/></xsl:call-template> - </xsl:param> - - <xsl:choose> - <xsl:when test="$count > $person.count"/> - <xsl:otherwise> - <xsl:choose> - <xsl:when test="$person.count < 4 and not($group)"> - <xsl:call-template name="iso690.author"> - <xsl:with-param name="node" select="$person.list[position()=$count]"/> - </xsl:call-template> - <xsl:choose> - <xsl:when test="$person.count = 2 and $count = 1 and $biblioentry.alt.primary.seps != 0"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'alt.person.two.sep'"/></xsl:call-template> - </xsl:when> - <xsl:when test="$person.count = 2 and $count = 1"> - <xsl:call-template name="gentext.template"> - <xsl:with-param name="context" select="'authorgroup'"/> - <xsl:with-param name="name" select="'sep2'"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="$person.count > 2 and $count+1 = $person.count and $biblioentry.alt.primary.seps != 0"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'alt.person.last.sep'"/></xsl:call-template> - </xsl:when> - <xsl:when test="$person.count > 2 and $count+1 = $person.count"> - <xsl:call-template name="gentext.template"> - <xsl:with-param name="context" select="'authorgroup'"/> - <xsl:with-param name="name" select="'seplast'"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="$count < $person.count and $biblioentry.alt.primary.seps != 0"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'alt.person.more.sep'"/></xsl:call-template> - </xsl:when> - <xsl:when test="$count < $person.count"> - <xsl:call-template name="gentext.template"> - <xsl:with-param name="context" select="'authorgroup'"/> - <xsl:with-param name="name" select="'sep'"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="($count = $person.count)"> - <xsl:choose> - <xsl:when test="$many!=0"> - <xsl:if test="name($person.list[position()=$count])='editor'"> - <xsl:value-of select="$primary.editor"/> - </xsl:if> - <xsl:value-of select="$primary.many"/> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="$primary.many"/> - <xsl:with-param name="sep" select="$primary.sep"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="name($person.list[position()=$count])='editor'"> - <xsl:value-of select="$primary.editor"/> - <xsl:value-of select="$primary.sep"/> - </xsl:when> - <xsl:when test="name($person.list[position()=$count])='corpauthor'"> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="string($person.list[position()=$count])"/> - <xsl:with-param name="sep" select="$primary.sep"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="string($person.list[position()=$count]//firstname[1])"/> - <xsl:with-param name="sep" select="$primary.sep"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - </xsl:choose> - - <xsl:call-template name="iso690.author.list"> - <xsl:with-param name="person.list" select="$person.list"/> - <xsl:with-param name="person.count" select="$person.count"/> - <xsl:with-param name="count" select="$count+1"/> - <xsl:with-param name="many" select="$many"/> - <xsl:with-param name="group"/> - </xsl:call-template> - </xsl:when> - - <xsl:otherwise> - <xsl:choose> - <xsl:when test="($biblioentry.primary.count>=3) and ($person.count>=3)"> - <xsl:call-template name="iso690.author.list"> - <xsl:with-param name="person.list" select="$person.list[1]|$person.list[2]|$person.list[3]"/> - <xsl:with-param name="person.count" select="3"/> - <xsl:with-param name="count" select="1"/> - <xsl:with-param name="many" select="1"/> - <xsl:with-param name="group"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="($biblioentry.primary.count>1) and ($person.count>1)"> - <xsl:call-template name="iso690.author.list"> - <xsl:with-param name="person.list" select="$person.list[1]|$person.list[2]"/> - <xsl:with-param name="person.count" select="2"/> - <xsl:with-param name="count" select="1"/> - <xsl:with-param name="many" select="1"/> - <xsl:with-param name="group"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="iso690.author.list"> - <xsl:with-param name="person.list" select="$person.list[1]"/> - <xsl:with-param name="person.count" select="1"/> - <xsl:with-param name="count" select="1"/> - <xsl:with-param name="many" select="1"/> - <xsl:with-param name="group"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:otherwise> - </xsl:choose> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template name="iso690.author"> - <xsl:param name="node" select="."/> - <xsl:param name="lastfirst.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'lastfirst.sep'"/></xsl:call-template> - </xsl:param> - <xsl:choose> - <xsl:when test="name($node)!='corpauthor'"> - <span style="text-transform:uppercase"> - <xsl:apply-templates mode="iso690.mode" select="$node//surname[1]"/> - </span> - <xsl:if test="$node//surname and $node//firstname"> - <xsl:value-of select="$lastfirst.sep"/> - </xsl:if> - <xsl:apply-templates mode="iso690.mode" select="$node//firstname[1]"/> - </xsl:when> - <xsl:otherwise> - <span style="text-transform:uppercase"> - <xsl:apply-templates mode="iso690.mode" select="$node"/> - </span> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="corpauthor|firstname|surname" mode="iso690.mode"> - <xsl:apply-templates mode="iso690.mode"/> -</xsl:template> - -<!-- Title and Type of medium --> -<xsl:template name="iso690.title"> - <xsl:param name="medium" select="./bibliomisc[@role='medium']"/> - <xsl:param name="italic" select="1"/> - <xsl:param name="sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'title.sep'"/></xsl:call-template> - </xsl:param> - - <xsl:apply-templates mode="iso690.mode" select="./title"> - <xsl:with-param name="medium" select="$medium"/> - <xsl:with-param name="italic" select="$italic"/> - <xsl:with-param name="sep" select="$sep"/> - </xsl:apply-templates> -</xsl:template> - -<xsl:template match="title" mode="iso690.mode"> - <xsl:param name="medium"/> - <xsl:param name="italic" select="1"/> - <xsl:param name="sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'title.sep'"/></xsl:call-template> - </xsl:param> - <xsl:param name="medium1"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'medium1'"/></xsl:call-template> - </xsl:param> - <xsl:param name="medium2"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'medium2'"/></xsl:call-template> - </xsl:param> - <xsl:choose> - <xsl:when test="$italic=1"> - <xsl:call-template name="iso690.italic.title"/> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="iso690.make.title"/> - </xsl:otherwise> - </xsl:choose> - <xsl:if test="$medium"> - <xsl:value-of select="$medium1"/> - <xsl:apply-templates mode="iso690.mode" select="$medium"/> - <xsl:value-of select="$medium2"/> - </xsl:if> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="concat(string(.),string(../subtitle))"/> - <xsl:with-param name="sep" select="$sep"/> - </xsl:call-template> -</xsl:template> - -<xsl:template name="iso690.italic.title"> - <em xmlns:xslo="http://www.w3.org/1999/XSL/Transform"> - <xsl:call-template name="iso690.make.title"/> - </em> -</xsl:template> - -<xsl:template name="iso690.make.title"> - <xsl:param name="submaintitle.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'submaintitle.sep'"/></xsl:call-template> - </xsl:param> - <xsl:apply-templates mode="iso690.mode"/> - <xsl:if test="../subtitle|../info/subtitle"> - <xsl:value-of select="$submaintitle.sep"/> - <xsl:apply-templates mode="iso690.mode" select="../subtitle|../info/subtitle"/> - </xsl:if> -</xsl:template> - -<xsl:template match="subtitle" mode="iso690.mode"> - <xsl:apply-templates mode="iso690.mode"/> -</xsl:template> - -<xsl:template match="bibliomisc[@role='medium']" mode="iso690.mode"> - <xsl:apply-templates mode="iso690.mode"/> -</xsl:template> - -<!-- Subordinate responsibility --> -<xsl:template name="iso690.secondary"> - <xsl:param name="secondary.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'secondary.sep'"/></xsl:call-template> - </xsl:param> - <xsl:param name="secondary.person.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'secondary.person.sep'"/></xsl:call-template> - </xsl:param> - <xsl:for-each select="./bibliomisc[@role='secondary']"> - <xsl:apply-templates mode="iso690.mode" select="."/> - <xsl:choose> - <xsl:when test="position()=count(../bibliomisc[@role='secondary'])"> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="string(.)"/> - <xsl:with-param name="sep" select="$secondary.sep"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$secondary.person.sep"/> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> -</xsl:template> - -<xsl:template match="bibliomisc[@role='secondary']" mode="iso690.mode"> - <xsl:apply-templates mode="iso690.mode"/> -</xsl:template> - -<!-- Edition --> -<xsl:template name="iso690.edition"> - <xsl:param name="after"/> - <xsl:param name="edition.serial.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'edition.serial.sep'"/></xsl:call-template> - </xsl:param> - <xsl:choose> - <xsl:when test="string($after)!=''"> - <xsl:apply-templates mode="iso690.mode" select="./edition"> - <xsl:with-param name="sep" select="$edition.serial.sep"/> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates mode="iso690.mode" select="./edition"/> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="edition" mode="iso690.mode"> - <xsl:param name="sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'edition.sep'"/></xsl:call-template> - </xsl:param> - <xsl:apply-templates mode="iso690.mode"/> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="string(.)"/> - <xsl:with-param name="sep" select="$sep"/> - </xsl:call-template> -</xsl:template> - -<!-- Issue designation (date and/or num) --> -<xsl:template name="iso690.issuing"> - <xsl:param name="issuing.div"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.div'"/></xsl:call-template> - </xsl:param> - <xsl:param name="issuing.range"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.range'"/></xsl:call-template> - </xsl:param> - <xsl:param name="issuing.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.sep'"/></xsl:call-template> - </xsl:param> - <xsl:choose> - <xsl:when test="./pubdate[@role='issuing'] and ./volumenum[2] and ./issuenum[2]"> - <xsl:call-template name="iso690.issuedate"/> - <xsl:apply-templates mode="iso690.mode" select="./volumenum[1]"> - <xsl:with-param name="sep" select="$issuing.div"/> - </xsl:apply-templates> - <xsl:apply-templates mode="iso690.mode" select="./issuenum[1]"> - <xsl:with-param name="sep" select="$issuing.range"/> - </xsl:apply-templates> - <xsl:apply-templates mode="iso690.mode" select="./volumenum[2]"> - <xsl:with-param name="sep" select="$issuing.div"/> - </xsl:apply-templates> - <xsl:apply-templates mode="iso690.mode" select="./issuenum[2]"> - <xsl:with-param name="sep" select="$issuing.sep"/> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./pubdate[@role='issuing'] and ./volumenum[2]"> - <xsl:call-template name="iso690.issuedate"/> - <xsl:apply-templates mode="iso690.mode" select="./volumenum[1]"> - <xsl:with-param name="sep" select="$issuing.range"/> - </xsl:apply-templates> - <xsl:apply-templates mode="iso690.mode" select="./volumenum[2]"> - <xsl:with-param name="sep" select="$issuing.sep"/> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./pubdate[@role='issuing'] and ./volumenum and ./issuenum"> - <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing']"> - <xsl:with-param name="sep" select="$issuing.div"/> - </xsl:apply-templates> - <xsl:apply-templates mode="iso690.mode" select="./volumenum"> - <xsl:with-param name="sep" select="$issuing.div"/> - </xsl:apply-templates> - <xsl:apply-templates mode="iso690.mode" select="./issuenum"> - <xsl:with-param name="sep" select="$issuing.sep"/> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./pubdate[@role='issuing']"> - <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing']"> - <xsl:with-param name="sep" select="$issuing.sep"/> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./volumenum"> - <xsl:apply-templates mode="iso690.mode" select="./volumenum"> - <xsl:with-param name="sep" select="$issuing.sep"/> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./issuenum"> - <xsl:apply-templates mode="iso690.mode" select="./issuenum"> - <xsl:with-param name="sep" select="$issuing.sep"/> - </xsl:apply-templates> - </xsl:when> - </xsl:choose> -</xsl:template> - -<xsl:template name="iso690.issuedate"> - <xsl:param name="issuing.div"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.div'"/></xsl:call-template> - </xsl:param> - <xsl:param name="issuing.range"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.range'"/></xsl:call-template> - </xsl:param> - <xsl:param name="issuing.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issuing.sep'"/></xsl:call-template> - </xsl:param> - <xsl:choose> - <xsl:when test="./pubdate[@role='issuing'][2]"> - <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing'][1]"> - <xsl:with-param name="sep" select="$issuing.range"/> - </xsl:apply-templates> - <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing'][2]"> - <xsl:with-param name="sep" select="$issuing.div"/> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates mode="iso690.mode" select="./pubdate[@role='issuing']"> - <xsl:with-param name="sep" select="$issuing.div"/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template match="pubdate[@role='issuing']" mode="iso690.mode"> - <xsl:param name="sep"/> - <xsl:variable name="substr" select="substring(string(.),string-length(string(.)))"/> - <xsl:apply-templates mode="iso690.mode"/> - <xsl:call-template name="iso690.space"> - <xsl:with-param name="text" select="$substr"/> - </xsl:call-template> - <xsl:choose> - <xsl:when test="$substr='-'"> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="' '"/> - <xsl:with-param name="sep" select="$sep"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="string(.)"/> - <xsl:with-param name="sep" select="$sep"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- Numeration of the part --> -<xsl:template name="iso690.partnr"> - <xsl:param name="partnr.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'partnr.sep'"/></xsl:call-template> - </xsl:param> - <xsl:apply-templates mode="iso690.mode" select="./volumenum"> - <xsl:with-param name="sep" select="$partnr.sep"/> - </xsl:apply-templates> -</xsl:template> - -<!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation --> -<xsl:template name="iso690.pub"> - <xsl:param name="onlydate" select="0"/> - <xsl:param name="placesep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'placepubl.sep'"/></xsl:call-template> - </xsl:param> - <xsl:param name="pubsep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'publyear.sep'"/></xsl:call-template> - </xsl:param> - <xsl:param name="endsep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'pubinfo.sep'"/></xsl:call-template> - </xsl:param> - <xsl:choose> - <xsl:when test="(./publisher/publishername|./publishername|./publisher/address/city)and($onlydate=0)and(./pubdate[not(@role='issuing')]|./copyright/year|./date[@role='upd']|./date[@role='upd'])"> - <xsl:apply-templates mode="iso690.mode" select="./publisher/address/city"> - <xsl:with-param name="sep" select="$placesep"/> - </xsl:apply-templates> - <xsl:apply-templates mode="iso690.mode" select="./publisher/publishername|./publishername"> - <xsl:with-param name="sep" select="$pubsep"/> - </xsl:apply-templates> - <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]|./copyright/year"> - <xsl:with-param name="sep" select="$endsep"/> - </xsl:apply-templates> - <xsl:if test="not(./pubdate[not(@role='issuing')]|./copyright/year)"> - <xsl:call-template name="iso690.data"> - <xsl:with-param name="sep" select="$endsep"/> - </xsl:call-template> - </xsl:if> - </xsl:when> - <xsl:when test="(./publisher/publishername|./publishername)and(./publisher/address/city)and($onlydate=0)"> - <xsl:apply-templates mode="iso690.mode" select="./publisher/address/city"> - <xsl:with-param name="sep" select="$placesep"/> - </xsl:apply-templates> - <xsl:apply-templates mode="iso690.mode" select="./publisher/publishername|./publishername"> - <xsl:with-param name="sep" select="$endsep"/> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="($onlydate=1)or(./pubdate[not(@role='issuing')]|./copyright/year)"> - <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]|./copyright/year"> - <xsl:with-param name="sep" select="$endsep"/> - </xsl:apply-templates> - <xsl:if test="$onlydate=1"> - <xsl:call-template name="iso690.location"> - <xsl:with-param name="onlypages" select="1"/> - </xsl:call-template> - </xsl:if> - </xsl:when> - <xsl:when test="not(./pubdate[not(@role='issuing')]|./copyright/year)"> - <xsl:call-template name="iso690.data"> - <xsl:with-param name="sep" select="$endsep"/> - </xsl:call-template> - </xsl:when> - </xsl:choose> -</xsl:template> - -<xsl:template name="iso690.paper.pub"> - <xsl:param name="spec.pubinfo.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'spec.pubinfo.sep'"/></xsl:call-template> - </xsl:param> - <xsl:choose> - <xsl:when test="./volumnum|./issuenum|./pagenums"> - <xsl:call-template name="iso690.pub"> - <xsl:with-param name="endsep" select="$spec.pubinfo.sep"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="iso690.pub"/> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template name="iso690.data"> - <xsl:param name="sep"/> - <xsl:param name="datecit2"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'datecit2'"/></xsl:call-template> - </xsl:param> - <xsl:apply-templates mode="iso690.mode" select="./date[@role='upd']"> - <xsl:with-param name="sep"/> - </xsl:apply-templates> - <xsl:apply-templates mode="iso690.mode" select="./date[@role='cit']"/> - <xsl:choose> - <xsl:when test="./date[@role='cit']"> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="$datecit2"/> - <xsl:with-param name="sep" select="$sep"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="./date[@role='upd']"> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="string(./date[@role='upd'])"/> - <xsl:with-param name="sep" select="$sep"/> - </xsl:call-template> - </xsl:when> - </xsl:choose> -</xsl:template> - -<xsl:template match="publisher/address/city|publishername" mode="iso690.mode"> - <xsl:param name="sep"/> - <xsl:param name="upd" select="0"/> - <xsl:apply-templates mode="iso690.mode"/> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="string(.)"/> - <xsl:with-param name="sep" select="$sep"/> - </xsl:call-template> -</xsl:template> - -<xsl:template match="pubdate|copyright/year" mode="iso690.mode"> - <xsl:param name="sep"/> - <xsl:param name="upd" select="1"/> - <xsl:param name="datecit2"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'datecit2'"/></xsl:call-template> - </xsl:param> - <xsl:variable name="substr" select="substring(string(.),string-length(string(.)))"/> - <xsl:if test="name(.)!='pubdate'"> - <xsl:value-of select="'©'"/><!-- copyright --> - </xsl:if> - <xsl:apply-templates mode="iso690.mode"/> - <xsl:call-template name="iso690.space"> - <xsl:with-param name="text" select="$substr"/> - </xsl:call-template> - <xsl:if test="$upd!=0"> - <xsl:choose> - <xsl:when test="name(.)='pubdate'"> - <xsl:apply-templates mode="iso690.mode" select="../date[@role='upd']"/> - <xsl:apply-templates mode="iso690.mode" select="../date[@role='cit']"/> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates mode="iso690.mode" select="../../date[@role='upd']"/> - <xsl:apply-templates mode="iso690.mode" select="../../date[@role='cit']"/> - </xsl:otherwise> - </xsl:choose> - </xsl:if> - <xsl:choose> - <xsl:when test="../date[@role='cit']|../../date[@role='cit'] and $upd!=0"> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="$datecit2"/> - <xsl:with-param name="sep" select="$sep"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="../date[@role='upd']|../../date[@role='upd'] and $upd!=0"> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="string(../date[@role='upd'])"/> - <xsl:with-param name="sep" select="$sep"/> - </xsl:call-template> - </xsl:when> - <xsl:when test="$substr='-'"> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="' '"/> - <xsl:with-param name="sep" select="$sep"/> - </xsl:call-template> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="string(.)"/> - <xsl:with-param name="sep" select="$sep"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template name="iso690.space"> - <xsl:param name="text" select="substring(string(.),string-length(string(.)))"/> - <xsl:if test="$text='-'"> - <xsl:value-of select="' '"/> - </xsl:if> -</xsl:template> - -<!-- Date of update/revision --> -<xsl:template match="date[@role='upd']" mode="iso690.mode"> - <xsl:param name="sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'upd.sep'"/></xsl:call-template> - </xsl:param> - <xsl:value-of select="$sep"/> - <xsl:apply-templates mode="iso690.mode"/> -</xsl:template> - -<!-- Date of citation --> -<xsl:template match="date[@role='cit']" mode="iso690.mode"> - <xsl:param name="datecit1"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'datecit1'"/></xsl:call-template> - </xsl:param> - <xsl:param name="datecit2"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'datecit2'"/></xsl:call-template> - </xsl:param> - <xsl:value-of select="$datecit1"/> - <xsl:apply-templates mode="iso690.mode"/> - <xsl:value-of select="$datecit2"/> -</xsl:template> - -<!-- Extent --> -<xsl:template name="iso690.extent"> - <xsl:param name="extent.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'extent.sep'"/></xsl:call-template> - </xsl:param> - <xsl:apply-templates mode="iso690.mode" select="./pagenums"> - <xsl:with-param name="sep" select="$extent.sep"/> - </xsl:apply-templates> -</xsl:template> - -<!-- Location within host --> -<xsl:template name="iso690.part.location"> - <xsl:param name="location.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'location.sep'"/></xsl:call-template> - </xsl:param> - <xsl:choose> - <xsl:when test="./pagenums"> - <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='secnum']"/> - <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='sectitle']"/> - <xsl:apply-templates mode="iso690.mode" select="./pagenums"/> - </xsl:when> - <xsl:when test="./bibliomisc[@role='sectitle']"> - <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='secnum']"/> - <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='sectitle']"> - <xsl:with-param name="sep" select="$location.sep"/> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='secnum']"> - <xsl:with-param name="sep" select="$location.sep"/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template name="iso690.article.location"> - <xsl:param name="location.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'location.sep'"/></xsl:call-template> - </xsl:param> - <xsl:param name="locs.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'locs.sep'"/></xsl:call-template> - </xsl:param> - <xsl:choose> - <xsl:when test="not(./date[@role='upd']|./date[@role='cit'])"> - <xsl:choose> - <xsl:when test="./volumenum|./issuenum|./pagenums"> - <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]"> - <xsl:with-param name="upd" select="0"/> - <xsl:with-param name="sep" select="$locs.sep"/> - </xsl:apply-templates> - <xsl:call-template name="iso690.location"/> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]"> - <xsl:with-param name="sep" select="$location.sep"/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:otherwise> - <xsl:choose> - <xsl:when test="./volumenum|./issuenum|./pagenums"> - <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]"> - <xsl:with-param name="upd" select="0"/> - <xsl:with-param name="sep" select="$locs.sep"/> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]"> - <xsl:with-param name="upd" select="0"/> - <xsl:with-param name="sep" select="$location.sep"/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> - <xsl:choose> - <xsl:when test="./issuenum"> - <xsl:apply-templates mode="iso690.mode" select="./volumenum"/> - <xsl:apply-templates mode="iso690.mode" select="./issuenum"> - <xsl:with-param name="sep"/> - </xsl:apply-templates> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates mode="iso690.mode" select="./volumenum"> - <xsl:with-param name="sep"/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> - <xsl:choose> - <xsl:when test="./pagenums"> - <xsl:call-template name="iso690.data"> - <xsl:with-param name="sep" select="$locs.sep"/> - </xsl:call-template> - <xsl:apply-templates mode="iso690.mode" select="./pagenums"/> - </xsl:when> - <xsl:otherwise> - <xsl:call-template name="iso690.data"> - <xsl:with-param name="sep" select="$location.sep"/> - </xsl:call-template> - </xsl:otherwise> - </xsl:choose> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<xsl:template name="iso690.location"> - <xsl:param name="location.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'location.sep'"/></xsl:call-template> - </xsl:param> - <xsl:choose> - <xsl:when test="./volumenum and not(./issuenum) and not(./pagenums)"> - <xsl:apply-templates mode="iso690.mode" select="./volumenum"> - <xsl:with-param name="sep" select="$location.sep"/> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./issuenum and not(./pagenums)"> - <xsl:apply-templates mode="iso690.mode" select="./volumenum"/> - <xsl:apply-templates mode="iso690.mode" select="./issuenum"> - <xsl:with-param name="sep" select="$location.sep"/> - </xsl:apply-templates> - </xsl:when> - <xsl:when test="./pagenums"> - <xsl:apply-templates mode="iso690.mode" select="./volumenum"/> - <xsl:apply-templates mode="iso690.mode" select="./issuenum"/> - <xsl:apply-templates mode="iso690.mode" select="./pagenums"/> - </xsl:when> - </xsl:choose> -</xsl:template> - -<xsl:template match="bibliomisc[@role='secnum']|bibliomisc[@role='sectitle']" mode="iso690.mode"> - <xsl:param name="sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'locs.sep'"/></xsl:call-template> - </xsl:param> - <xsl:apply-templates mode="iso690.mode"/> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="string(.)"/> - <xsl:with-param name="sep" select="$sep"/> - </xsl:call-template> -</xsl:template> - -<xsl:template match="volumenum|issuenum" mode="iso690.mode"> - <xsl:param name="sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'locs.sep'"/></xsl:call-template> - </xsl:param> - <xsl:apply-templates mode="iso690.mode"/> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="string(.)"/> - <xsl:with-param name="sep" select="$sep"/> - </xsl:call-template> -</xsl:template> - -<xsl:template match="pagenums" mode="iso690.mode"> - <xsl:param name="sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'location.sep'"/></xsl:call-template> - </xsl:param> - <xsl:apply-templates mode="iso690.mode"/> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="string(.)"/> - <xsl:with-param name="sep" select="$sep"/> - </xsl:call-template> -</xsl:template> - -<!-- Series --> -<xsl:template name="iso690.serie"> - <xsl:apply-templates mode="iso690.mode" select=".//bibliomisc[@role='serie']"/> -</xsl:template> - -<!-- Notes --> -<xsl:template name="iso690.notice"> - <xsl:apply-templates mode="iso690.mode" select=".//bibliomisc[not(@role)]"/> -</xsl:template> - -<xsl:template match="bibliomisc[not(@role)]|bibliomisc[@role='serie']" mode="iso690.mode"> - <xsl:param name="notice.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'notice.sep'"/></xsl:call-template> - </xsl:param> - <xsl:apply-templates mode="iso690.mode"/> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="string(.)"/> - <xsl:with-param name="sep" select="$notice.sep"/> - </xsl:call-template> -</xsl:template> - -<!-- Avaibility and access --> -<xsl:template name="iso690.access"> - <xsl:for-each select="./biblioid[@class='uri']|./bibliomisc[@role='access']"> - <xsl:choose> - <xsl:when test="position()=1"> - <xsl:apply-templates mode="iso690.mode" select="."/> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates mode="iso690.mode" select="."> - <xsl:with-param name="firstacc" select="0"/> - </xsl:apply-templates> - </xsl:otherwise> - </xsl:choose> - </xsl:for-each> -</xsl:template> - -<xsl:template match="biblioid[@class='uri']/ulink|bibliomisc[@role='access']/ulink" mode="iso690.mode"> - <xsl:param name="link1"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'link1'"/></xsl:call-template> - </xsl:param> - <xsl:param name="link2"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'link2'"/></xsl:call-template> - </xsl:param> - <xsl:value-of select="$link1"/> - <xsl:call-template name="ulink"/> - <xsl:value-of select="$link2"/> -</xsl:template> - -<xsl:template match="biblioid[@class='uri']|bibliomisc[@role='access']" mode="iso690.mode"> - <xsl:param name="firstacc" select="1"/> - <xsl:param name="access"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'access'"/></xsl:call-template> - </xsl:param> - <xsl:param name="acctoo"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'acctoo'"/></xsl:call-template> - </xsl:param> - <xsl:param name="onwww"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'onwww'"/></xsl:call-template> - </xsl:param> - <xsl:param name="oninet"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'oninet'"/></xsl:call-template> - </xsl:param> - <xsl:param name="access.end"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'access.end'"/></xsl:call-template> - </xsl:param> - <xsl:param name="access.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'access.sep'"/></xsl:call-template> - </xsl:param> - <xsl:choose> - <xsl:when test="$firstacc=1"> - <xsl:value-of select="$access"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$acctoo"/> - </xsl:otherwise> - </xsl:choose> - <xsl:choose> - <xsl:when test="(./ulink)and(string(./ulink)=string(.))"> - <xsl:choose> - <xsl:when test="(starts-with(./ulink/@url,'http://')or(starts-with(./ulink/@url,'https://')))"> - <xsl:value-of select="$onwww"/> - <xsl:value-of select="$access.end"/> - <xsl:apply-templates mode="iso690.mode" select="./ulink"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="$oninet"/> - <xsl:value-of select="$access.end"/> - <xsl:apply-templates mode="iso690.mode" select="./ulink"/> - </xsl:otherwise> - </xsl:choose> - </xsl:when> - <xsl:when test="(./ulink)and(string(./ulink)!=string(.))"> - <xsl:value-of select="text()[1]"/> - <xsl:call-template name="iso690.endsep"> - <xsl:with-param name="text" select="text()[1]"/> - <xsl:with-param name="sep" select="$access.end"/> - </xsl:call-template> - <xsl:apply-templates mode="iso690.mode" select="./ulink"/> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates mode="iso690.mode"/> - </xsl:otherwise> - </xsl:choose> - <xsl:value-of select="$access.sep"/> -</xsl:template> - -<!-- Standard number - ISBN --> -<xsl:template name="iso690.isbn"> - <xsl:choose> - <xsl:when test="./biblioid/@class='isbn'"> - <xsl:apply-templates mode="iso690.mode" select="./biblioid[@class='isbn']"/> - </xsl:when> - <xsl:when test="./isbn"> - <xsl:apply-templates mode="iso690.mode" select="./isbn"/> - </xsl:when> - </xsl:choose> -</xsl:template> - -<xsl:template match="isbn|biblioid[@class='isbn']" mode="iso690.mode"> - <xsl:param name="isbn"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'isbn'"/></xsl:call-template> - </xsl:param> - <xsl:param name="stdnum.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'stdnum.sep'"/></xsl:call-template> - </xsl:param> - <xsl:value-of select="$isbn"/> - <xsl:apply-templates mode="iso690.mode"/> - <xsl:value-of select="$stdnum.sep"/> -</xsl:template> - -<!-- Standard number - ISSN --> -<xsl:template name="iso690.issn"> - <xsl:choose> - <xsl:when test="./biblioid/@class='issn'"> - <xsl:apply-templates mode="iso690.mode" select="./biblioid[@class='issn']"/> - </xsl:when> - <xsl:when test="./issn"> - <xsl:apply-templates mode="iso690.mode" select="./issn"/> - </xsl:when> - </xsl:choose> -</xsl:template> - -<xsl:template match="issn|biblioid[@class='issn']" mode="iso690.mode"> - <xsl:param name="issn"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'issn'"/></xsl:call-template> - </xsl:param> - <xsl:param name="stdnum.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'stdnum.sep'"/></xsl:call-template> - </xsl:param> - <xsl:value-of select="$issn"/> - <xsl:apply-templates mode="iso690.mode"/> - <xsl:value-of select="$stdnum.sep"/> -</xsl:template> - -<!-- Identification of patent document --> -<xsl:template name="iso690.pat.ident"> - <xsl:param name="patdate.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'patdate.sep'"/></xsl:call-template> - </xsl:param> - <xsl:apply-templates mode="iso690.mode" select="./address/country"/> - <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='patenttype']"/> - <xsl:choose> - <xsl:when test="./biblioid[@class='other' and @otherclass='patentnum']"> - <xsl:apply-templates mode="iso690.mode" select="./biblioid[@class='other' and @otherclass='patentnum']"/> - </xsl:when> - <xsl:otherwise> - <xsl:apply-templates mode="iso690.mode" select="./bibliomisc[@role='patentnum']"/> - </xsl:otherwise> - </xsl:choose> - <xsl:apply-templates mode="iso690.mode" select="./pubdate[not(@role='issuing')]"> - <xsl:with-param name="sep" select="$patdate.sep"/> - </xsl:apply-templates> -</xsl:template> - -<!-- Country or issuing office --> -<xsl:template match="address/country" mode="iso690.mode"> - <xsl:param name="patcountry.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'patcountry.sep'"/></xsl:call-template> - </xsl:param> - <em xmlns:xslo="http://www.w3.org/1999/XSL/Transform"> - <xsl:apply-templates mode="iso690.mode"/> - </em> - <xsl:value-of select="$patcountry.sep"/> -</xsl:template> - -<!-- Kind of patent document --> -<xsl:template match="bibliomisc[@role='patenttype']" mode="iso690.mode"> - <xsl:param name="pattype.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'pattype.sep'"/></xsl:call-template> - </xsl:param> - <em xmlns:xslo="http://www.w3.org/1999/XSL/Transform"> - <xsl:apply-templates mode="iso690.mode"/> - </em> - <xsl:value-of select="$pattype.sep"/> -</xsl:template> - -<!-- Number --> -<xsl:template match="biblioid[@class='other' and @otherclass='patentnum']|bibliomisc[@role='patentnum']" mode="iso690.mode"> - <xsl:param name="patnum.sep"> - <xsl:call-template name="gentext.template"><xsl:with-param name="context" select="'iso690'"/><xsl:with-param name="name" select="'patnum.sep'"/></xsl:call-template> - </xsl:param> - <xsl:apply-templates mode="iso690.mode"/> - <xsl:value-of select="$patnum.sep"/> -</xsl:template> - -<!-- ==================================================================== --> -<!-- Supplementary templates --> - -<xsl:template name="iso690.endsep"> - <xsl:param name="text"/> - <xsl:param name="sep" select=". "/> - <xsl:choose> - <xsl:when test="substring($text,string-length($text))!=substring($sep,1,1)"> - <xsl:value-of select="$sep"/> - </xsl:when> - <xsl:when test="substring($text,string-length($text))=' '"> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="' '"/> - </xsl:otherwise> - </xsl:choose> -</xsl:template> - -<!-- ==================================================================== --> - -<xsl:template match="*" mode="iso690.mode"> - <xsl:apply-templates select="."/><!-- try the default mode --> -</xsl:template> - -<!-- ==================================================================== --> - -</xsl:stylesheet> |