Bugzilla – Attachment 132864 Details for
Bug 30430
UNIMARC XSLT : displaying field B_214
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 30430: UNIMARC XSLT add field B214 display
Bug-30430-UNIMARC-XSLT-add-field-B214-display.patch (text/plain), 96.88 KB, created by
François Pichenot
on 2022-04-01 12:53:01 UTC
(
hide
)
Description:
Bug 30430: UNIMARC XSLT add field B214 display
Filename:
MIME Type:
Creator:
François Pichenot
Created:
2022-04-01 12:53:01 UTC
Size:
96.88 KB
patch
obsolete
>From aa25d4c335a2d7055a59b8675b8f88786a81f80c Mon Sep 17 00:00:00 2001 >From: =?UTF-8?q?Fran=C3=A7ois=20Pichenot?= <fpichenot@ville-roubaix.fr> >Date: Fri, 1 Apr 2022 14:24:57 +0200 >Subject: [PATCH] Bug 30430: UNIMARC XSLT add field B214 display > >test plan : >- Apply patch >- Find a record with a B214 >- Check on both Opac-Details and Opac-Result that the field is displayed. >- Do the same checks on catalogue/search results and catalogue/details >in Staff interface. >--- > .../en/xslt/UNIMARCslim2intranetDetail.xsl | 975 +++++++++--------- > .../en/xslt/UNIMARCslim2intranetResults.xsl | 139 ++- > .../prog/en/xslt/UNIMARCslimUtils.xsl | 926 +++++++++++------ > .../en/xslt/UNIMARCslim2OPACDetail.xsl | 14 +- > .../en/xslt/UNIMARCslim2OPACResults.xsl | 4 +- > .../bootstrap/en/xslt/UNIMARCslimUtils.xsl | 264 +++++ > 6 files changed, 1458 insertions(+), 864 deletions(-) > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARCslim2intranetDetail.xsl b/koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARCslim2intranetDetail.xsl >index 1fc5d88f3d..2e85bcc17d 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARCslim2intranetDetail.xsl >+++ b/koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARCslim2intranetDetail.xsl >@@ -1,492 +1,503 @@ > <?xml version="1.0" encoding="UTF-8"?> >- > <!DOCTYPE stylesheet> >- > <xsl:stylesheet version="1.0" >- xmlns:marc="http://www.loc.gov/MARC21/slim" >- xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >- xmlns:str="http://exslt.org/strings" >+ xmlns:marc="http://www.loc.gov/MARC21/slim" >+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >+ xmlns:str="http://exslt.org/strings" > exclude-result-prefixes="marc str"> >- >-<xsl:import href="UNIMARCslimUtils.xsl"/> >-<xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" encoding="UTF-8"/> >-<xsl:template match="/"> >- <xsl:apply-templates/> >-</xsl:template> >- >-<xsl:template match="marc:record"> >- <xsl:variable name="Show856uAsImage" select="marc:sysprefs/marc:syspref[@name='Display856uAsImage']"/> >- <xsl:variable name="leader" select="marc:leader"/> >- <xsl:variable name="leader6" select="substring($leader,7,1)"/> >- <xsl:variable name="leader7" select="substring($leader,8,1)"/> >- <xsl:variable name="biblionumber" select="marc:controlfield[@tag=001]"/> >- >- >- <xsl:if test="marc:datafield[@tag=200]"> >- <xsl:for-each select="marc:datafield[@tag=200]"> >- <h1> >- <xsl:call-template name="addClassRtl" /> >- <xsl:variable name="title" select="marc:subfield[@code='a']"/> >- <xsl:variable name="ntitle" >+ <xsl:import href="UNIMARCslimUtils.xsl"/> >+ <xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" encoding="UTF-8"/> >+ <xsl:template match="/"> >+ <xsl:apply-templates/> >+ </xsl:template> >+ <xsl:template match="marc:record"> >+ <xsl:variable name="Show856uAsImage" select="marc:sysprefs/marc:syspref[@name='Display856uAsImage']"/> >+ <xsl:variable name="leader" select="marc:leader"/> >+ <xsl:variable name="leader6" select="substring($leader,7,1)"/> >+ <xsl:variable name="leader7" select="substring($leader,8,1)"/> >+ <xsl:variable name="biblionumber" select="marc:controlfield[@tag=001]"/> >+ <xsl:if test="marc:datafield[@tag=200]"> >+ <xsl:for-each select="marc:datafield[@tag=200]"> >+ <h1> >+ <xsl:call-template name="addClassRtl" /> >+ <xsl:variable name="title" select="marc:subfield[@code='a']"/> >+ <xsl:variable name="ntitle" > select="translate($title, '˜œ슜슛슘슈슉','')"/> >- <xsl:value-of select="$ntitle" /> >- <xsl:if test="marc:subfield[@code='e']"> >- <xsl:text> : </xsl:text> >- <xsl:for-each select="marc:subfield[@code='e']"> >- <xsl:value-of select="."/> >- </xsl:for-each> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='b']"> >- <xsl:text> [</xsl:text> >- <xsl:value-of select="marc:subfield[@code='b']"/> >- <xsl:text>]</xsl:text> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='f']"> >- <xsl:text> / </xsl:text> >- <xsl:value-of select="marc:subfield[@code='f']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='g']"> >- <xsl:text> ; </xsl:text> >- <xsl:value-of select="marc:subfield[@code='g']"/> >- </xsl:if> >- </h1> >- </xsl:for-each> >- </xsl:if> >- <xsl:call-template name="tag_4xx" /> >- >- <xsl:call-template name="tag_7xx"> >- <xsl:with-param name="tag">700</xsl:with-param> >- <xsl:with-param name="label">Main Author</xsl:with-param> >- <xsl:with-param name="spanclass">main_author</xsl:with-param> >- </xsl:call-template> >- >- <xsl:call-template name="tag_7xx"> >- <xsl:with-param name="tag">710</xsl:with-param> >- <xsl:with-param name="label">Corporate Author (Main)</xsl:with-param> >- <xsl:with-param name="spanclass">corporate_main_author</xsl:with-param> >- </xsl:call-template> >- >- <xsl:call-template name="tag_7xx"> >- <xsl:with-param name="tag">701</xsl:with-param> >- <xsl:with-param name="label">Coauthor</xsl:with-param> >- <xsl:with-param name="spanclass">coauthor</xsl:with-param> >- </xsl:call-template> >- >- <xsl:call-template name="tag_7xx"> >- <xsl:with-param name="tag">702</xsl:with-param> >- <xsl:with-param name="label">Secondary Author</xsl:with-param> >- <xsl:with-param name="spanclass">secondary_author</xsl:with-param> >- </xsl:call-template> >- >- <xsl:call-template name="tag_7xx"> >- <xsl:with-param name="tag">711</xsl:with-param> >- <xsl:with-param name="label">Corporate Author (Coauthor)</xsl:with-param> >- <xsl:with-param name="spanclass">corporate_coauthor</xsl:with-param> >- </xsl:call-template> >- >- <xsl:call-template name="tag_7xx"> >- <xsl:with-param name="tag">712</xsl:with-param> >- <xsl:with-param name="label">Corporate Author (Secondary)</xsl:with-param> >- <xsl:with-param name="spanclass">corporate_secondary_author</xsl:with-param> >- </xsl:call-template> >- >- <xsl:if test="marc:datafield[@tag=101]"> >- <span class="results_summary language"> >- <span class="label">Language: </span> >- <xsl:for-each select="marc:datafield[@tag=101]"> >- <xsl:for-each select="marc:subfield"> >- <xsl:choose> >- <xsl:when test="@code='b'">of intermediate text, </xsl:when> >- <xsl:when test="@code='c'">of original work, </xsl:when> >- <xsl:when test="@code='d'">of summary, </xsl:when> >- <xsl:when test="@code='e'">of contents page, </xsl:when> >- <xsl:when test="@code='f'">of title page, </xsl:when> >- <xsl:when test="@code='g'">of title proper, </xsl:when> >- <xsl:when test="@code='h'">of libretto, </xsl:when> >- <xsl:when test="@code='i'">of accompanying material, </xsl:when> >- <xsl:when test="@code='j'">of subtitles, </xsl:when> >- </xsl:choose> >- <xsl:value-of select="text()"/> >- <xsl:choose> >- <xsl:when test="position()=last()"> >- <xsl:text>.</xsl:text> >- </xsl:when> >- <xsl:otherwise> >- <xsl:text> ; </xsl:text> >- </xsl:otherwise> >- </xsl:choose> >- </xsl:for-each> >- </xsl:for-each> >- </span> >- </xsl:if> >- >- <xsl:if test="marc:datafield[@tag=102]"> >- <span class="results_summary country"> >- <span class="label">Country: </span> >- <xsl:for-each select="marc:datafield[@tag=102]"> >- <xsl:for-each select="marc:subfield"> >- <xsl:value-of select="text()"/> >- <xsl:choose> >- <xsl:when test="position()=last()"> >- <xsl:text>.</xsl:text> >- </xsl:when> >- <xsl:otherwise><xsl:text>, </xsl:text> >- </xsl:otherwise> >- </xsl:choose> >- </xsl:for-each> >- </xsl:for-each> >- </span> >- </xsl:if> >- >- <xsl:call-template name="tag_210" /> >- >- <xsl:call-template name="tag_215" /> >- >- <xsl:if test="marc:controlfield[@tag=009]"> >- <span class="results_summary tag_009"> >- <span class="label">Tag 009: </span> >- <xsl:value-of select="marc:controlfield[@tag=009]"/> >- </span> >- </xsl:if> >- >- <!-- Build ISBN --> >- <xsl:if test="marc:datafield[@tag=010]/marc:subfield[@code='a']"> >- <span class="results_summary isbn"> >- <span class="label">ISBN: </span> >- <xsl:for-each select="marc:datafield[@tag=010]/marc:subfield[@code='a']"> >- <span property="isbn"> >- <xsl:value-of select="."/> >- <xsl:choose> >- <xsl:when test="position()=last()"> >- <xsl:text>.</xsl:text> >- </xsl:when> >- <xsl:otherwise> >- <xsl:text>; </xsl:text> >- </xsl:otherwise> >- </xsl:choose> >- </span> >- </xsl:for-each> >- </span> >- </xsl:if> >- >- <!-- Build ISSN --> >- <xsl:if test="marc:datafield[@tag=011]/marc:subfield[@code='a']"> >- <span class="results_summary issn"> >- <span class="label">ISSN: </span> >- <xsl:for-each select="marc:datafield[@tag=011]/marc:subfield[@code='a']"> >- <span property="issn"> >- <xsl:value-of select="."/> >- <xsl:choose> >- <xsl:when test="position()=last()"> >- <xsl:text>.</xsl:text> >- </xsl:when> >- <xsl:otherwise> >- <xsl:text>; </xsl:text> >- </xsl:otherwise> >- </xsl:choose> >- </span> >- </xsl:for-each> >- </span> >- </xsl:if> >- >- <xsl:call-template name="tag_title"> >- <xsl:with-param name="tag">225</xsl:with-param> >- <xsl:with-param name="label">Series</xsl:with-param> >- <xsl:with-param name="spanclass">series</xsl:with-param> >- </xsl:call-template> >- >- <xsl:if test="marc:datafield[@tag=676]"> >- <span class="results_summary dewey"> >- <span class="label">Dewey: </span> >- <xsl:for-each select="marc:datafield[@tag=676]"> >- <xsl:value-of select="marc:subfield[@code='a']"/> >- <xsl:if test="marc:subfield[@code='v']"> >- <xsl:text>, </xsl:text> >- <xsl:value-of select="marc:subfield[@code='v']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='z']"> >- <xsl:text>, </xsl:text> >- <xsl:value-of select="marc:subfield[@code='z']"/> >+ <xsl:value-of select="$ntitle" /> >+ <xsl:if test="marc:subfield[@code='e']"> >+ <xsl:text> : </xsl:text> >+ <xsl:for-each select="marc:subfield[@code='e']"> >+ <xsl:value-of select="."/> >+ </xsl:for-each> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='b']"> >+ <xsl:text> [</xsl:text> >+ <xsl:value-of select="marc:subfield[@code='b']"/> >+ <xsl:text>]</xsl:text> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='f']"> >+ <xsl:text> / </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='f']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='g']"> >+ <xsl:text> ; </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='g']"/> >+ </xsl:if> >+ </h1> >+ </xsl:for-each> >+ </xsl:if> >+ <xsl:call-template name="tag_4xx" /> >+ <xsl:call-template name="tag_7xx"> >+ <xsl:with-param name="tag">700</xsl:with-param> >+ <xsl:with-param name="label">Main Author</xsl:with-param> >+ <xsl:with-param name="spanclass">main_author</xsl:with-param> >+ </xsl:call-template> >+ <xsl:call-template name="tag_7xx"> >+ <xsl:with-param name="tag">710</xsl:with-param> >+ <xsl:with-param name="label">Corporate Author (Main)</xsl:with-param> >+ <xsl:with-param name="spanclass">corporate_main_author</xsl:with-param> >+ </xsl:call-template> >+ <xsl:call-template name="tag_7xx"> >+ <xsl:with-param name="tag">701</xsl:with-param> >+ <xsl:with-param name="label">Coauthor</xsl:with-param> >+ <xsl:with-param name="spanclass">coauthor</xsl:with-param> >+ </xsl:call-template> >+ <xsl:call-template name="tag_7xx"> >+ <xsl:with-param name="tag">702</xsl:with-param> >+ <xsl:with-param name="label">Secondary Author</xsl:with-param> >+ <xsl:with-param name="spanclass">secondary_author</xsl:with-param> >+ </xsl:call-template> >+ <xsl:call-template name="tag_7xx"> >+ <xsl:with-param name="tag">711</xsl:with-param> >+ <xsl:with-param name="label">Corporate Author (Coauthor)</xsl:with-param> >+ <xsl:with-param name="spanclass">corporate_coauthor</xsl:with-param> >+ </xsl:call-template> >+ <xsl:call-template name="tag_7xx"> >+ <xsl:with-param name="tag">712</xsl:with-param> >+ <xsl:with-param name="label">Corporate Author (Secondary)</xsl:with-param> >+ <xsl:with-param name="spanclass">corporate_secondary_author</xsl:with-param> >+ </xsl:call-template> >+ <xsl:if test="marc:datafield[@tag=101]"> >+ <span class="results_summary language"> >+ <span class="label">Language: </span> >+ <xsl:for-each select="marc:datafield[@tag=101]"> >+ <xsl:for-each select="marc:subfield"> >+ <xsl:choose> >+ <xsl:when test="@code='b'">of intermediate text, </xsl:when> >+ <xsl:when test="@code='c'">of original work, </xsl:when> >+ <xsl:when test="@code='d'">of summary, </xsl:when> >+ <xsl:when test="@code='e'">of contents page, </xsl:when> >+ <xsl:when test="@code='f'">of title page, </xsl:when> >+ <xsl:when test="@code='g'">of title proper, </xsl:when> >+ <xsl:when test="@code='h'">of libretto, </xsl:when> >+ <xsl:when test="@code='i'">of accompanying material, </xsl:when> >+ <xsl:when test="@code='j'">of subtitles, </xsl:when> >+ </xsl:choose> >+ <xsl:value-of select="text()"/> >+ <xsl:choose> >+ <xsl:when test="position()=last()"> >+ <xsl:text>.</xsl:text> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:text> ; </xsl:text> >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:for-each> >+ </xsl:for-each> >+ </span> >+ </xsl:if> >+ <xsl:if test="marc:datafield[@tag=102]"> >+ <span class="results_summary country"> >+ <span class="label">Country: </span> >+ <xsl:for-each select="marc:datafield[@tag=102]"> >+ <xsl:for-each select="marc:subfield"> >+ <xsl:value-of select="text()"/> >+ <xsl:choose> >+ <xsl:when test="position()=last()"> >+ <xsl:text>.</xsl:text> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:text>, </xsl:text> >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:for-each> >+ </xsl:for-each> >+ </span> >+ </xsl:if> >+ >+ <xsl:if test="(marc:datafield[@tag=214] or marc:datafield[@tag=210])"> >+ <xsl:choose> >+ <xsl:when test="(marc:datafield[@tag=214] and marc:datafield[@tag=210])"> >+ <xsl:call-template name="tag_214" /> >+ </xsl:when> >+ <xsl:when test="(marc:datafield[@tag=214])"> >+ <xsl:call-template name="tag_214" /> >+ </xsl:when> >+ <xsl:when test="(marc:datafield[@tag=210])"> >+ <xsl:call-template name="tag_210" /> >+ </xsl:when> >+ </xsl:choose> > </xsl:if> >- <xsl:if test="not (position()=last())"> >- <xsl:text> ; </xsl:text> >- </xsl:if> >- </xsl:for-each> >- </span> >- </xsl:if> > >- <xsl:if test="marc:datafield[@tag=686]"> >- <span class="results_summary classification"> >- <span class="label">Classification: </span> >- <xsl:for-each select="marc:datafield[@tag=686]"> >- <xsl:value-of select="marc:subfield[@code='a']"/> >- <xsl:if test="marc:subfield[@code='b']"> >- <xsl:text>, </xsl:text> >- <xsl:value-of select="marc:subfield[@code='b']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='c']"> >- <xsl:text>, </xsl:text> >- <xsl:value-of select="marc:subfield[@code='c']"/> >- </xsl:if> >- <xsl:if test="not (position()=last())"><xsl:text> ; </xsl:text></xsl:if> >- </xsl:for-each> >- </span> >- </xsl:if> >- >- <xsl:if test="marc:datafield[@tag=327]"> >- <span class="results_summary contents"> >- <span class="label">Contents note: </span> >- <xsl:for-each select="marc:datafield[@tag=327]"> >- <xsl:call-template name="chopPunctuation"> >- <xsl:with-param name="chopString"> >- <xsl:call-template name="subfieldSelect"> >- <xsl:with-param name="codes">abcdjpvxyz</xsl:with-param> >- <xsl:with-param name="subdivCodes">jpxyz</xsl:with-param> >- <xsl:with-param name="subdivDelimiter">-- </xsl:with-param> >- </xsl:call-template> >- </xsl:with-param> >- </xsl:call-template> >- </xsl:for-each> >- </span> >- </xsl:if> >- >- <xsl:if test="marc:datafield[@tag=330]"> >- <span class="results_summary abstract"> >- <span class="label">Abstract: </span> >- <xsl:for-each select="marc:datafield[@tag=330]"> >- <xsl:value-of select="marc:subfield[@code='a']"/> >- <xsl:choose> >- <xsl:when test="position()=last()"> >- <xsl:text>.</xsl:text> >- </xsl:when> >- <xsl:otherwise> >- <xsl:text>; </xsl:text> >- </xsl:otherwise> >- </xsl:choose> >- </xsl:for-each> >- </span> >- </xsl:if> >- >- <xsl:if test="marc:datafield[@tag=317]"> >- <span class="results_summary provenance"> >- <span class="label">Provenance note: </span> >- <xsl:for-each select="marc:datafield[@tag=317]"> >- <xsl:value-of select="marc:subfield[@code='a']"/> >- </xsl:for-each> >- </span> >- </xsl:if> >- >- <xsl:if test="marc:datafield[@tag=320]"> >- <span class="results_summary bibliography"> >- <span class="label">Bibliography: </span> >- <xsl:for-each select="marc:datafield[@tag=320]"> >- <xsl:value-of select="marc:subfield[@code='a']"/> >- <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose> >- </xsl:for-each> >- </span> >- </xsl:if> >- >- <xsl:if test="marc:datafield[@tag=328]"> >- <span class="results_summary thesis"> >- <span class="label">Thesis: </span> >- <xsl:for-each select="marc:datafield[@tag=328]"> >- <xsl:value-of select="marc:subfield[@code='a']"/> >- <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose> >- </xsl:for-each> >- </span> >- </xsl:if> >- >- <xsl:if test="marc:datafield[@tag=333]"> >- <span class="results_summary audience"> >- <span class="label">Audience: </span> >- <xsl:for-each select="marc:datafield[@tag=333]"> >- <xsl:value-of select="marc:subfield[@code='a']"/> >- <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose> >- </xsl:for-each> >- </span> >- </xsl:if> >- >- <xsl:if test="marc:datafield[@tag=955]"> >- <span class="results_summary sudoc_serial_history"> >- <span class="label">SUDOC serial history: </span> >- <xsl:for-each select="marc:datafield[@tag=955]"> >- <xsl:value-of select="marc:subfield[@code='9']"/>: >- <xsl:value-of select="marc:subfield[@code='r']"/> >- <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose> >- </xsl:for-each> >- </span> >- </xsl:if> >- >- <xsl:call-template name="tag_subject"> >- <xsl:with-param name="tag">600</xsl:with-param> >- <xsl:with-param name="label">Subject - Personal Name</xsl:with-param> >- </xsl:call-template> >- >- <xsl:call-template name="tag_subject"> >- <xsl:with-param name="tag">601</xsl:with-param> >- <xsl:with-param name="label">Subject - Corporate Author</xsl:with-param> >- </xsl:call-template> >- >- <xsl:call-template name="tag_subject"> >- <xsl:with-param name="tag">602</xsl:with-param> >- <xsl:with-param name="label">Subject - Family</xsl:with-param> >- </xsl:call-template> >- >- <xsl:call-template name="tag_subject"> >- <xsl:with-param name="tag">604</xsl:with-param> >- <xsl:with-param name="label">Subject - Author/Title</xsl:with-param> >- </xsl:call-template> >- >- <xsl:call-template name="tag_subject"> >- <xsl:with-param name="tag">606</xsl:with-param> >- <xsl:with-param name="label">Subject - Topical Name</xsl:with-param> >- </xsl:call-template> >- >- <xsl:call-template name="tag_subject"> >- <xsl:with-param name="tag">607</xsl:with-param> >- <xsl:with-param name="label">Subject - Geographical Name</xsl:with-param> >- </xsl:call-template> >- >- <xsl:call-template name="tag_subject"> >- <xsl:with-param name="tag">608</xsl:with-param> >- <xsl:with-param name="label">Subject - Form</xsl:with-param> >- </xsl:call-template> >- >- <xsl:call-template name="tag_subject"> >- <xsl:with-param name="tag">610</xsl:with-param> >- <xsl:with-param name="label">Subject</xsl:with-param> >- </xsl:call-template> >- >- <xsl:call-template name="tag_subject"> >- <xsl:with-param name="tag">615</xsl:with-param> >- <xsl:with-param name="label">Subject Category</xsl:with-param> >- </xsl:call-template> >- >- <xsl:call-template name="tag_subject"> >- <xsl:with-param name="tag">616</xsl:with-param> >- <xsl:with-param name="label">Trademark</xsl:with-param> >- </xsl:call-template> >- >- <xsl:if test="marc:datafield[@tag=856]"> >- <span class="results_summary online_resources"> >- <span class="label">Online Resources:</span> >- <xsl:for-each select="marc:datafield[@tag=856]"> >- <xsl:variable name="SubqText"><xsl:value-of select="marc:subfield[@code='q']"/></xsl:variable> >- <a> >- <xsl:attribute name="href"> >- <xsl:value-of select="marc:subfield[@code='u']"/> >- </xsl:attribute> >- <xsl:choose> >- <xsl:when test="($Show856uAsImage='Details' or $Show856uAsImage='Both') and (substring($SubqText,1,6)='image/' or $SubqText='img' or $SubqText='bmp' or $SubqText='cod' or $SubqText='gif' or $SubqText='ief' or $SubqText='jpe' or $SubqText='jpeg' or $SubqText='jpg' or $SubqText='jfif' or $SubqText='png' or $SubqText='svg' or $SubqText='tif' or $SubqText='tiff' or $SubqText='ras' or $SubqText='cmx' or $SubqText='ico' or $SubqText='pnm' or $SubqText='pbm' or $SubqText='pgm' or $SubqText='ppm' or $SubqText='rgb' or $SubqText='xbm' or $SubqText='xpm' or $SubqText='xwd')"> >- <xsl:element name="img"><xsl:attribute name="src"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute><xsl:attribute name="alt"><xsl:value-of select="marc:subfield[@code='y']"/></xsl:attribute><xsl:attribute name="height">100</xsl:attribute></xsl:element><xsl:text></xsl:text> >- </xsl:when> >- <xsl:when test="marc:subfield[@code='y' or @code='3' or @code='z']"> >- <xsl:call-template name="subfieldSelect"> >- <xsl:with-param name="codes">y3z</xsl:with-param> >- </xsl:call-template> >- </xsl:when> >- <xsl:when test="not(marc:subfield[@code='y']) and not(marc:subfield[@code='3']) and not(marc:subfield[@code='z'])"> >+ <xsl:call-template name="tag_215" /> >+ <xsl:if test="marc:controlfield[@tag=009]"> >+ <span class="results_summary tag_009"> >+ <span class="label">Tag 009: </span> >+ <xsl:value-of select="marc:controlfield[@tag=009]"/> >+ </span> >+ </xsl:if> >+ <!-- Build ISBN --> >+ <xsl:if test="marc:datafield[@tag=010]/marc:subfield[@code='a']"> >+ <span class="results_summary isbn"> >+ <span class="label">ISBN: </span> >+ <xsl:for-each select="marc:datafield[@tag=010]/marc:subfield[@code='a']"> >+ <span property="isbn"> >+ <xsl:value-of select="."/> >+ <xsl:choose> >+ <xsl:when test="position()=last()"> >+ <xsl:text>.</xsl:text> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:text>; </xsl:text> >+ </xsl:otherwise> >+ </xsl:choose> >+ </span> >+ </xsl:for-each> >+ </span> >+ </xsl:if> >+ <!-- Build ISSN --> >+ <xsl:if test="marc:datafield[@tag=011]/marc:subfield[@code='a']"> >+ <span class="results_summary issn"> >+ <span class="label">ISSN: </span> >+ <xsl:for-each select="marc:datafield[@tag=011]/marc:subfield[@code='a']"> >+ <span property="issn"> >+ <xsl:value-of select="."/> >+ <xsl:choose> >+ <xsl:when test="position()=last()"> >+ <xsl:text>.</xsl:text> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:text>; </xsl:text> >+ </xsl:otherwise> >+ </xsl:choose> >+ </span> >+ </xsl:for-each> >+ </span> >+ </xsl:if> >+ <xsl:call-template name="tag_title"> >+ <xsl:with-param name="tag">225</xsl:with-param> >+ <xsl:with-param name="label">Series</xsl:with-param> >+ <xsl:with-param name="spanclass">series</xsl:with-param> >+ </xsl:call-template> >+ <xsl:if test="marc:datafield[@tag=676]"> >+ <span class="results_summary dewey"> >+ <span class="label">Dewey: </span> >+ <xsl:for-each select="marc:datafield[@tag=676]"> >+ <xsl:value-of select="marc:subfield[@code='a']"/> >+ <xsl:if test="marc:subfield[@code='v']"> >+ <xsl:text>, </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='v']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='z']"> >+ <xsl:text>, </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='z']"/> >+ </xsl:if> >+ <xsl:if test="not (position()=last())"> >+ <xsl:text> ; </xsl:text> >+ </xsl:if> >+ </xsl:for-each> >+ </span> >+ </xsl:if> >+ <xsl:if test="marc:datafield[@tag=686]"> >+ <span class="results_summary classification"> >+ <span class="label">Classification: </span> >+ <xsl:for-each select="marc:datafield[@tag=686]"> >+ <xsl:value-of select="marc:subfield[@code='a']"/> >+ <xsl:if test="marc:subfield[@code='b']"> >+ <xsl:text>, </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='b']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='c']"> >+ <xsl:text>, </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='c']"/> >+ </xsl:if> >+ <xsl:if test="not (position()=last())"> >+ <xsl:text> ; </xsl:text> >+ </xsl:if> >+ </xsl:for-each> >+ </span> >+ </xsl:if> >+ <xsl:if test="marc:datafield[@tag=327]"> >+ <span class="results_summary contents"> >+ <span class="label">Contents note: </span> >+ <xsl:for-each select="marc:datafield[@tag=327]"> >+ <xsl:call-template name="chopPunctuation"> >+ <xsl:with-param name="chopString"> >+ <xsl:call-template name="subfieldSelect"> >+ <xsl:with-param name="codes">abcdjpvxyz</xsl:with-param> >+ <xsl:with-param name="subdivCodes">jpxyz</xsl:with-param> >+ <xsl:with-param name="subdivDelimiter">-- </xsl:with-param> >+ </xsl:call-template> >+ </xsl:with-param> >+ </xsl:call-template> >+ </xsl:for-each> >+ </span> >+ </xsl:if> >+ <xsl:if test="marc:datafield[@tag=330]"> >+ <span class="results_summary abstract"> >+ <span class="label">Abstract: </span> >+ <xsl:for-each select="marc:datafield[@tag=330]"> >+ <xsl:value-of select="marc:subfield[@code='a']"/> >+ <xsl:choose> >+ <xsl:when test="position()=last()"> >+ <xsl:text>.</xsl:text> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:text>; </xsl:text> >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:for-each> >+ </span> >+ </xsl:if> >+ <xsl:if test="marc:datafield[@tag=317]"> >+ <span class="results_summary provenance"> >+ <span class="label">Provenance note: </span> >+ <xsl:for-each select="marc:datafield[@tag=317]"> >+ <xsl:value-of select="marc:subfield[@code='a']"/> >+ </xsl:for-each> >+ </span> >+ </xsl:if> >+ <xsl:if test="marc:datafield[@tag=320]"> >+ <span class="results_summary bibliography"> >+ <span class="label">Bibliography: </span> >+ <xsl:for-each select="marc:datafield[@tag=320]"> >+ <xsl:value-of select="marc:subfield[@code='a']"/> >+ <xsl:choose> >+ <xsl:when test="position()=last()"> >+ <xsl:text>.</xsl:text> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:text>; </xsl:text> >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:for-each> >+ </span> >+ </xsl:if> >+ <xsl:if test="marc:datafield[@tag=328]"> >+ <span class="results_summary thesis"> >+ <span class="label">Thesis: </span> >+ <xsl:for-each select="marc:datafield[@tag=328]"> >+ <xsl:value-of select="marc:subfield[@code='a']"/> >+ <xsl:choose> >+ <xsl:when test="position()=last()"> >+ <xsl:text>.</xsl:text> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:text>; </xsl:text> >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:for-each> >+ </span> >+ </xsl:if> >+ <xsl:if test="marc:datafield[@tag=333]"> >+ <span class="results_summary audience"> >+ <span class="label">Audience: </span> >+ <xsl:for-each select="marc:datafield[@tag=333]"> >+ <xsl:value-of select="marc:subfield[@code='a']"/> >+ <xsl:choose> >+ <xsl:when test="position()=last()"> >+ <xsl:text>.</xsl:text> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:text>; </xsl:text> >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:for-each> >+ </span> >+ </xsl:if> >+ <xsl:if test="marc:datafield[@tag=955]"> >+ <span class="results_summary sudoc_serial_history"> >+ <span class="label">SUDOC serial history: </span> >+ <xsl:for-each select="marc:datafield[@tag=955]"> >+ <xsl:value-of select="marc:subfield[@code='9']"/>: >+ >+ <xsl:value-of select="marc:subfield[@code='r']"/> >+ <xsl:choose> >+ <xsl:when test="position()=last()"> >+ <xsl:text>.</xsl:text> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:text>; </xsl:text> >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:for-each> >+ </span> >+ </xsl:if> >+ <xsl:call-template name="tag_subject"> >+ <xsl:with-param name="tag">600</xsl:with-param> >+ <xsl:with-param name="label">Subject - Personal Name</xsl:with-param> >+ </xsl:call-template> >+ <xsl:call-template name="tag_subject"> >+ <xsl:with-param name="tag">601</xsl:with-param> >+ <xsl:with-param name="label">Subject - Corporate Author</xsl:with-param> >+ </xsl:call-template> >+ <xsl:call-template name="tag_subject"> >+ <xsl:with-param name="tag">602</xsl:with-param> >+ <xsl:with-param name="label">Subject - Family</xsl:with-param> >+ </xsl:call-template> >+ <xsl:call-template name="tag_subject"> >+ <xsl:with-param name="tag">604</xsl:with-param> >+ <xsl:with-param name="label">Subject - Author/Title</xsl:with-param> >+ </xsl:call-template> >+ <xsl:call-template name="tag_subject"> >+ <xsl:with-param name="tag">606</xsl:with-param> >+ <xsl:with-param name="label">Subject - Topical Name</xsl:with-param> >+ </xsl:call-template> >+ <xsl:call-template name="tag_subject"> >+ <xsl:with-param name="tag">607</xsl:with-param> >+ <xsl:with-param name="label">Subject - Geographical Name</xsl:with-param> >+ </xsl:call-template> >+ <xsl:call-template name="tag_subject"> >+ <xsl:with-param name="tag">608</xsl:with-param> >+ <xsl:with-param name="label">Subject - Form</xsl:with-param> >+ </xsl:call-template> >+ <xsl:call-template name="tag_subject"> >+ <xsl:with-param name="tag">610</xsl:with-param> >+ <xsl:with-param name="label">Subject</xsl:with-param> >+ </xsl:call-template> >+ <xsl:call-template name="tag_subject"> >+ <xsl:with-param name="tag">615</xsl:with-param> >+ <xsl:with-param name="label">Subject Category</xsl:with-param> >+ </xsl:call-template> >+ <xsl:call-template name="tag_subject"> >+ <xsl:with-param name="tag">616</xsl:with-param> >+ <xsl:with-param name="label">Trademark</xsl:with-param> >+ </xsl:call-template> >+ <xsl:if test="marc:datafield[@tag=856]"> >+ <span class="results_summary online_resources"> >+ <span class="label">Online Resources:</span> >+ <xsl:for-each select="marc:datafield[@tag=856]"> >+ <xsl:variable name="SubqText"> >+ <xsl:value-of select="marc:subfield[@code='q']"/> >+ </xsl:variable> >+ <a> >+ <xsl:attribute name="href"> >+ <xsl:value-of select="marc:subfield[@code='u']"/> >+ </xsl:attribute> >+ <xsl:choose> >+ <xsl:when test="($Show856uAsImage='Details' or $Show856uAsImage='Both') and (substring($SubqText,1,6)='image/' or $SubqText='img' or $SubqText='bmp' or $SubqText='cod' or $SubqText='gif' or $SubqText='ief' or $SubqText='jpe' or $SubqText='jpeg' or $SubqText='jpg' or $SubqText='jfif' or $SubqText='png' or $SubqText='svg' or $SubqText='tif' or $SubqText='tiff' or $SubqText='ras' or $SubqText='cmx' or $SubqText='ico' or $SubqText='pnm' or $SubqText='pbm' or $SubqText='pgm' or $SubqText='ppm' or $SubqText='rgb' or $SubqText='xbm' or $SubqText='xpm' or $SubqText='xwd')"> >+ <xsl:element name="img"> >+ <xsl:attribute name="src"> >+ <xsl:value-of select="marc:subfield[@code='u']"/> >+ </xsl:attribute> >+ <xsl:attribute name="alt"> >+ <xsl:value-of select="marc:subfield[@code='y']"/> >+ </xsl:attribute> >+ <xsl:attribute name="height">100</xsl:attribute> >+ </xsl:element> >+ <xsl:text></xsl:text> >+ </xsl:when> >+ <xsl:when test="marc:subfield[@code='y' or @code='3' or @code='z']"> >+ <xsl:call-template name="subfieldSelect"> >+ <xsl:with-param name="codes">y3z</xsl:with-param> >+ </xsl:call-template> >+ </xsl:when> >+ <xsl:when test="not(marc:subfield[@code='y']) and not(marc:subfield[@code='3']) and not(marc:subfield[@code='z'])"> > Click here to access online > </xsl:when> >- </xsl:choose> >- </a> >- <xsl:choose> >- <xsl:when test="position()=last()"></xsl:when> >- <xsl:otherwise> | </xsl:otherwise> >- </xsl:choose> >- </xsl:for-each> >- </span> >- </xsl:if> >-</xsl:template> >- >- <xsl:template name="nameABCDQ"> >- <xsl:call-template name="chopPunctuation"> >- <xsl:with-param name="chopString"> >- <xsl:call-template name="subfieldSelect"> >- <xsl:with-param name="codes">aq</xsl:with-param> >- </xsl:call-template> >- </xsl:with-param> >- <xsl:with-param name="punctuation"> >- <xsl:text>:,;/ </xsl:text> >- </xsl:with-param> >- </xsl:call-template> >- <xsl:call-template name="termsOfAddress"/> >- </xsl:template> >- >- <xsl:template name="nameABCDN"> >- <xsl:for-each select="marc:subfield[@code='a']"> >- <xsl:call-template name="chopPunctuation"> >- <xsl:with-param name="chopString" select="."/> >- </xsl:call-template> >- </xsl:for-each> >- <xsl:for-each select="marc:subfield[@code='b']"> >- <xsl:value-of select="."/> >- </xsl:for-each> >- <xsl:if test="marc:subfield[@code='c'] or marc:subfield[@code='d'] or marc:subfield[@code='n']"> >- <xsl:call-template name="subfieldSelect"> >- <xsl:with-param name="codes">cdn</xsl:with-param> >- </xsl:call-template> >- </xsl:if> >- </xsl:template> >- >- <xsl:template name="nameACDEQ"> >- <xsl:call-template name="subfieldSelect"> >- <xsl:with-param name="codes">acdeq</xsl:with-param> >- </xsl:call-template> >- </xsl:template> >- <xsl:template name="termsOfAddress"> >- <xsl:if test="marc:subfield[@code='b' or @code='c']"> >- <xsl:call-template name="chopPunctuation"> >- <xsl:with-param name="chopString"> >- <xsl:call-template name="subfieldSelect"> >- <xsl:with-param name="codes">bc</xsl:with-param> >- </xsl:call-template> >- </xsl:with-param> >- </xsl:call-template> >- </xsl:if> >- </xsl:template> >- >- <xsl:template name="part"> >- <xsl:variable name="partNumber"> >- <xsl:call-template name="specialSubfieldSelect"> >- <xsl:with-param name="axis">n</xsl:with-param> >- <xsl:with-param name="anyCodes">n</xsl:with-param> >- <xsl:with-param name="afterCodes">fghkdlmor</xsl:with-param> >- </xsl:call-template> >- </xsl:variable> >- <xsl:variable name="partName"> >- <xsl:call-template name="specialSubfieldSelect"> >- <xsl:with-param name="axis">p</xsl:with-param> >- <xsl:with-param name="anyCodes">p</xsl:with-param> >- <xsl:with-param name="afterCodes">fghkdlmor</xsl:with-param> >- </xsl:call-template> >- </xsl:variable> >- <xsl:if test="string-length(normalize-space($partNumber))"> >- <xsl:call-template name="chopPunctuation"> >- <xsl:with-param name="chopString" select="$partNumber"/> >- </xsl:call-template> >- </xsl:if> >- <xsl:if test="string-length(normalize-space($partName))"> >- <xsl:call-template name="chopPunctuation"> >- <xsl:with-param name="chopString" select="$partName"/> >- </xsl:call-template> >- </xsl:if> >- </xsl:template> >- >- <xsl:template name="specialSubfieldSelect"> >- <xsl:param name="anyCodes"/> >- <xsl:param name="axis"/> >- <xsl:param name="beforeCodes"/> >- <xsl:param name="afterCodes"/> >- <xsl:variable name="str"> >- <xsl:for-each select="marc:subfield"> >- <xsl:if test="contains($anyCodes, @code) or (contains($beforeCodes,@code) and following-sibling::marc:subfield[@code=$axis]) or (contains($afterCodes,@code) and preceding-sibling::marc:subfield[@code=$axis])"> >- <xsl:value-of select="text()"/> >- <xsl:text> </xsl:text> >- </xsl:if> >- </xsl:for-each> >- </xsl:variable> >- <xsl:value-of select="substring($str,1,string-length($str)-1)"/> >- </xsl:template> >- >+ </xsl:choose> >+ </a> >+ <xsl:choose> >+ <xsl:when test="position()=last()"></xsl:when> >+ <xsl:otherwise> | </xsl:otherwise> >+ </xsl:choose> >+ </xsl:for-each> >+ </span> >+ </xsl:if> >+ </xsl:template> >+ <xsl:template name="nameABCDQ"> >+ <xsl:call-template name="chopPunctuation"> >+ <xsl:with-param name="chopString"> >+ <xsl:call-template name="subfieldSelect"> >+ <xsl:with-param name="codes">aq</xsl:with-param> >+ </xsl:call-template> >+ </xsl:with-param> >+ <xsl:with-param name="punctuation"> >+ <xsl:text>:,;/ </xsl:text> >+ </xsl:with-param> >+ </xsl:call-template> >+ <xsl:call-template name="termsOfAddress"/> >+ </xsl:template> >+ <xsl:template name="nameABCDN"> >+ <xsl:for-each select="marc:subfield[@code='a']"> >+ <xsl:call-template name="chopPunctuation"> >+ <xsl:with-param name="chopString" select="."/> >+ </xsl:call-template> >+ </xsl:for-each> >+ <xsl:for-each select="marc:subfield[@code='b']"> >+ <xsl:value-of select="."/> >+ </xsl:for-each> >+ <xsl:if test="marc:subfield[@code='c'] or marc:subfield[@code='d'] or marc:subfield[@code='n']"> >+ <xsl:call-template name="subfieldSelect"> >+ <xsl:with-param name="codes">cdn</xsl:with-param> >+ </xsl:call-template> >+ </xsl:if> >+ </xsl:template> >+ <xsl:template name="nameACDEQ"> >+ <xsl:call-template name="subfieldSelect"> >+ <xsl:with-param name="codes">acdeq</xsl:with-param> >+ </xsl:call-template> >+ </xsl:template> >+ <xsl:template name="termsOfAddress"> >+ <xsl:if test="marc:subfield[@code='b' or @code='c']"> >+ <xsl:call-template name="chopPunctuation"> >+ <xsl:with-param name="chopString"> >+ <xsl:call-template name="subfieldSelect"> >+ <xsl:with-param name="codes">bc</xsl:with-param> >+ </xsl:call-template> >+ </xsl:with-param> >+ </xsl:call-template> >+ </xsl:if> >+ </xsl:template> >+ <xsl:template name="part"> >+ <xsl:variable name="partNumber"> >+ <xsl:call-template name="specialSubfieldSelect"> >+ <xsl:with-param name="axis">n</xsl:with-param> >+ <xsl:with-param name="anyCodes">n</xsl:with-param> >+ <xsl:with-param name="afterCodes">fghkdlmor</xsl:with-param> >+ </xsl:call-template> >+ </xsl:variable> >+ <xsl:variable name="partName"> >+ <xsl:call-template name="specialSubfieldSelect"> >+ <xsl:with-param name="axis">p</xsl:with-param> >+ <xsl:with-param name="anyCodes">p</xsl:with-param> >+ <xsl:with-param name="afterCodes">fghkdlmor</xsl:with-param> >+ </xsl:call-template> >+ </xsl:variable> >+ <xsl:if test="string-length(normalize-space($partNumber))"> >+ <xsl:call-template name="chopPunctuation"> >+ <xsl:with-param name="chopString" select="$partNumber"/> >+ </xsl:call-template> >+ </xsl:if> >+ <xsl:if test="string-length(normalize-space($partName))"> >+ <xsl:call-template name="chopPunctuation"> >+ <xsl:with-param name="chopString" select="$partName"/> >+ </xsl:call-template> >+ </xsl:if> >+ </xsl:template> >+ <xsl:template name="specialSubfieldSelect"> >+ <xsl:param name="anyCodes"/> >+ <xsl:param name="axis"/> >+ <xsl:param name="beforeCodes"/> >+ <xsl:param name="afterCodes"/> >+ <xsl:variable name="str"> >+ <xsl:for-each select="marc:subfield"> >+ <xsl:if test="contains($anyCodes, @code) or (contains($beforeCodes,@code) and following-sibling::marc:subfield[@code=$axis]) or (contains($afterCodes,@code) and preceding-sibling::marc:subfield[@code=$axis])"> >+ <xsl:value-of select="text()"/> >+ <xsl:text></xsl:text> >+ </xsl:if> >+ </xsl:for-each> >+ </xsl:variable> >+ <xsl:value-of select="substring($str,1,string-length($str)-1)"/> >+ </xsl:template> > </xsl:stylesheet> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARCslim2intranetResults.xsl b/koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARCslim2intranetResults.xsl >index 5d0a06da15..3c11344436 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARCslim2intranetResults.xsl >+++ b/koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARCslim2intranetResults.xsl >@@ -1,81 +1,72 @@ > <?xml version="1.0" encoding="UTF-8"?> >- > <!DOCTYPE stylesheet> >- > <!-- $Id: MARC21slim2DC.xsl,v 1.1 2003/01/06 08:20:27 adam Exp $ --> > <xsl:stylesheet version="1.0" >- xmlns:marc="http://www.loc.gov/MARC21/slim" >- xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >- xmlns:str="http://exslt.org/strings" >+ xmlns:marc="http://www.loc.gov/MARC21/slim" >+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >+ xmlns:str="http://exslt.org/strings" > exclude-result-prefixes="marc str"> >- >-<xsl:import href="UNIMARCslimUtils.xsl"/> >-<xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" encoding="UTF-8"/> >- >-<xsl:template match="/"> >- <xsl:apply-templates/> >-</xsl:template> >- >-<xsl:template match="marc:record"> >- <xsl:variable name="IntranetBiblioDefaultView" select="marc:sysprefs/marc:syspref[@name='IntranetBiblioDefaultView']"/> >- <xsl:variable name="leader" select="marc:leader"/> >- <xsl:variable name="leader6" select="substring($leader,7,1)"/> >- <xsl:variable name="leader7" select="substring($leader,8,1)"/> >- <xsl:variable name="biblionumber" select="marc:controlfield[@tag=001]"/> >- <xsl:variable name="isbn" select="marc:datafield[@tag=010]/marc:subfield[@code='a']"/> >- >- <xsl:if test="marc:datafield[@tag=200]"> >- <xsl:for-each select="marc:datafield[@tag=200]"> >- <a> >- <xsl:attribute name="href"> >- <xsl:call-template name="buildBiblioDefaultViewURL"> >- <xsl:with-param name="IntranetBiblioDefaultView"> >- <xsl:value-of select="$IntranetBiblioDefaultView"/> >- </xsl:with-param> >- </xsl:call-template> >- <xsl:value-of select="str:encode-uri($biblionumber, true())"/> >- </xsl:attribute> >- <xsl:attribute name="class">title</xsl:attribute> >- >- <xsl:variable name="title" select="marc:subfield[@code='a']"/> >- <xsl:variable name="ntitle" >+ <xsl:import href="UNIMARCslimUtils.xsl"/> >+ <xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" encoding="UTF-8"/> >+ <xsl:template match="/"> >+ <xsl:apply-templates/> >+ </xsl:template> >+ <xsl:template match="marc:record"> >+ <xsl:variable name="IntranetBiblioDefaultView" select="marc:sysprefs/marc:syspref[@name='IntranetBiblioDefaultView']"/> >+ <xsl:variable name="leader" select="marc:leader"/> >+ <xsl:variable name="leader6" select="substring($leader,7,1)"/> >+ <xsl:variable name="leader7" select="substring($leader,8,1)"/> >+ <xsl:variable name="biblionumber" select="marc:controlfield[@tag=001]"/> >+ <xsl:variable name="isbn" select="marc:datafield[@tag=010]/marc:subfield[@code='a']"/> >+ <xsl:if test="marc:datafield[@tag=200]"> >+ <xsl:for-each select="marc:datafield[@tag=200]"> >+ <a> >+ <xsl:attribute name="href"> >+ <xsl:call-template name="buildBiblioDefaultViewURL"> >+ <xsl:with-param name="IntranetBiblioDefaultView"> >+ <xsl:value-of select="$IntranetBiblioDefaultView"/> >+ </xsl:with-param> >+ </xsl:call-template> >+ <xsl:value-of select="str:encode-uri($biblionumber, true())"/> >+ </xsl:attribute> >+ <xsl:attribute name="class">title</xsl:attribute> >+ <xsl:variable name="title" select="marc:subfield[@code='a']"/> >+ <xsl:variable name="ntitle" > select="translate($title, '˜œ슜슛슘슈슉','')"/> >- <xsl:value-of select="$ntitle" /> >- </a> >- <xsl:if test="marc:subfield[@code='e']"> >- <xsl:text> : </xsl:text> >- <xsl:value-of select="marc:subfield[@code='e']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='b']"> >- <xsl:text> [</xsl:text> >- <xsl:value-of select="marc:subfield[@code='b']"/> >- <xsl:text>]</xsl:text> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='h']"> >- <xsl:text> : </xsl:text> >- <xsl:value-of select="marc:subfield[@code='h']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='i']"> >- <xsl:text> : </xsl:text> >- <xsl:value-of select="marc:subfield[@code='i']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='f']"> >- <xsl:text> / </xsl:text> >- <xsl:value-of select="marc:subfield[@code='f']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='g']"> >- <xsl:text> ; </xsl:text> >- <xsl:value-of select="marc:subfield[@code='g']"/> >- </xsl:if> >- <xsl:text> </xsl:text> >- </xsl:for-each> >- </xsl:if> >- >- <xsl:call-template name="tag_4xx" /> >- >- <xsl:call-template name="tag_210" /> >- >- <xsl:call-template name="tag_215" /> >- >-</xsl:template> >+ <xsl:value-of select="$ntitle" /> >+ </a> >+ <xsl:if test="marc:subfield[@code='e']"> >+ <xsl:text> : </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='e']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='b']"> >+ <xsl:text> [</xsl:text> >+ <xsl:value-of select="marc:subfield[@code='b']"/> >+ <xsl:text>]</xsl:text> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='h']"> >+ <xsl:text> : </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='h']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='i']"> >+ <xsl:text> : </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='i']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='f']"> >+ <xsl:text> / </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='f']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='g']"> >+ <xsl:text> ; </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='g']"/> >+ </xsl:if> >+ <xsl:text></xsl:text> >+ </xsl:for-each> >+ </xsl:if> >+ <xsl:call-template name="tag_4xx" /> >+ <xsl:if test="marc:datafield[@tag=210 or @tag=214]"> >+ <xsl:call-template name="tag_210-214" /> >+ </xsl:if> >+ <xsl:call-template name="tag_215" /> >+ </xsl:template> > </xsl:stylesheet> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARCslimUtils.xsl b/koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARCslimUtils.xsl >index a27353cb70..ddf4827078 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARCslimUtils.xsl >+++ b/koha-tmpl/intranet-tmpl/prog/en/xslt/UNIMARCslimUtils.xsl >@@ -1,135 +1,440 @@ > <?xml version='1.0'?> >- > <!DOCTYPE stylesheet> >- > <xsl:stylesheet version="1.0" >- xmlns:marc="http://www.loc.gov/MARC21/slim" >- xmlns:items="http://www.koha-community.org/items" >- xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >- xmlns:str="http://exslt.org/strings" >+ xmlns:marc="http://www.loc.gov/MARC21/slim" >+ xmlns:items="http://www.koha-community.org/items" >+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >+ xmlns:str="http://exslt.org/strings" > exclude-result-prefixes="marc items str"> >+ <xsl:template name="datafield"> >+ <xsl:param name="tag"/> >+ <xsl:param name="ind1"> >+ <xsl:text></xsl:text> >+ </xsl:param> >+ <xsl:param name="ind2"> >+ <xsl:text></xsl:text> >+ </xsl:param> >+ <xsl:param name="subfields"/> >+ <xsl:element name="datafield"> >+ <xsl:attribute name="tag"> >+ <xsl:value-of select="$tag"/> >+ </xsl:attribute> >+ <xsl:attribute name="ind1"> >+ <xsl:value-of select="$ind1"/> >+ </xsl:attribute> >+ <xsl:attribute name="ind2"> >+ <xsl:value-of select="$ind2"/> >+ </xsl:attribute> >+ <xsl:copy-of select="$subfields"/> >+ </xsl:element> >+ </xsl:template> >+ <xsl:template name="tag_210"> >+ <span class="results_summary publication"> >+ <span class="label">Publication: </span> >+ <xsl:for-each select="marc:datafield[@tag=210]"> >+ <span> >+ <xsl:call-template name="addClassRtl" /> >+ <xsl:for-each select="marc:subfield"> >+ <xsl:choose> >+ <xsl:when test="@code='c' or @code='g'"> >+ <xsl:if test="position()>1"> >+ <xsl:text> : </xsl:text> >+ </xsl:if> >+ <xsl:value-of select="."/> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:if test="position()>1"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ <xsl:value-of select="."/> >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:for-each> >+ <xsl:if test="not (position() = last())"> >+ <xsl:text> ⢠</xsl:text> >+ </xsl:if> >+ </span> >+ </xsl:for-each> >+ </span> >+ </xsl:template> >+ <xsl:template name="tag_214"> >+ <xsl:for-each select="marc:datafield[@tag=214]"> >+ <xsl:sort select="@ind2" data-type="number" /> >+ <span class="results_summary publication"> >+ <span class="label"> >+ <xsl:choose> >+ <xsl:when test="@ind2=1">Production: >+ </xsl:when> >+ <xsl:when test="@ind2=2">Distribution: >+ </xsl:when> >+ <xsl:when test="@ind2=3">Manufacture: >+ </xsl:when> >+ <xsl:when test="@ind2=4"> >+ <xsl:choose> >+ <xsl:when test="substring(marc:subfield[@code='d'],1,1)='C'">Copyright date: >+ </xsl:when> >+ <xsl:when test="substring(marc:subfield[@code='d'],1,1)='P'">Protection date: >+ </xsl:when> >+ <xsl:otherwise>Copyright date / protection date: >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:when> >+ <xsl:otherwise>Publication: >+ </xsl:otherwise> >+ </xsl:choose> >+ </span> >+ <span> >+ <xsl:call-template name="addClassRtl" /> >+ <xsl:for-each select="marc:subfield"> >+ <xsl:choose> >+ <xsl:when test="@code='a'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>: </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='b'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="not(position()=1)"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='c'"> >+ <a> >+ <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?idx=pb&q=<xsl:value-of select="."/> >+ </xsl:attribute> >+ <xsl:attribute name="title"> Search for publisher "<xsl:value-of select="."/> >+ <xsl:text>"</xsl:text> >+ </xsl:attribute> >+ <xsl:value-of select="."/> >+ </a> >+ </xsl:when> >+ <xsl:when test="@code='d'"> >+ <xsl:if test="not(position()=1)"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ <xsl:choose> >+ <xsl:when test="substring(.,1,1)='C'"> >+ <xsl:value-of select="substring(.,2)"/> >+ </xsl:when> >+ <xsl:when test="substring(.,1,1)='P'"> >+ <xsl:value-of select="substring(.,2)"/> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:value-of select="."/> >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:when> >+ </xsl:choose> >+ </xsl:for-each> >+ </span> >+ </span> >+ </xsl:for-each> >+ </xsl:template> >+ <xsl:template name="tag_210-214"> >+ <span class="results_summary publication"> >+ <xsl:if test="marc:datafield[@tag=210 or @tag=214]"> >+ <xsl:choose> >+ <xsl:when test="marc:datafield[@tag=210 and @tag=214]"> >+ <xsl:for-each select="marc:datafield[@tag=214]"> >+ <xsl:if test="not (position() = 1)"> >+ <br/> >+ </xsl:if> >+ <span class="label"> >+ <xsl:choose> >+ <xsl:when test="@ind2=1">Production: >+ </xsl:when> >+ <xsl:when test="@ind2=2">Distribution: >+ </xsl:when> >+ <xsl:when test="@ind2=3">Manufacture: >+ </xsl:when> >+ <xsl:when test="@ind2=4"> >+ <xsl:choose> >+ <xsl:when test="substring(marc:subfield[@code='d'],1,1)='C'">Copyright date: >+ </xsl:when> >+ <xsl:when test="substring(marc:subfield[@code='d'],1,1)='P'">Protection date: >+ </xsl:when> >+ <xsl:otherwise>Copyright date / protection date: >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:when> >+ <xsl:otherwise>Publication: >+ </xsl:otherwise> >+ </xsl:choose> >+ </span> >+ <span class="valeur"> >+ <xsl:call-template name="addClassRtl" /> >+ <xsl:for-each select="marc:subfield"> >+ <xsl:choose> >+ <xsl:when test="@code='a'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>: </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='b'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='c' or @code='g'"> >+ <a> >+ <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?idx=pb&q=<xsl:value-of select="."/> >+ </xsl:attribute> >+ <xsl:attribute name="title"> Search for publisher "<xsl:value-of select="."/> >+ <xsl:text>"</xsl:text> >+ </xsl:attribute> >+ <xsl:value-of select="."/> >+ </a> >+ <xsl:if test="position() != last()"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='d'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ </xsl:choose> >+ </xsl:for-each> >+ </span> >+ </xsl:for-each> >+ </xsl:when> >+ <xsl:when test="marc:datafield[@tag=214]"> >+ <xsl:for-each select="marc:datafield[@tag=214]"> >+ <xsl:if test="not (position() = 1)"> >+ <br/> >+ </xsl:if> >+ <span class="label"> >+ <xsl:choose> >+ <xsl:when test="@ind2=1">Production: >+ </xsl:when> >+ <xsl:when test="@ind2=2">Distribution: >+ </xsl:when> >+ <xsl:when test="@ind2=3">Manufacture: >+ </xsl:when> >+ <xsl:when test="@ind2=4"> >+ <xsl:choose> >+ <xsl:when test="substring(marc:subfield[@code='d'],1,1)='C'">Copyright date: >+ </xsl:when> >+ <xsl:when test="substring(marc:subfield[@code='d'],1,1)='P'">Protection date: >+ </xsl:when> >+ <xsl:otherwise>Copyright date / protection date: >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:when> >+ <xsl:otherwise>Publication: >+ </xsl:otherwise> >+ </xsl:choose> >+ </span> >+ <span class="valeur"> >+ <xsl:call-template name="addClassRtl" /> >+ <xsl:for-each select="marc:subfield"> >+ <xsl:choose> >+ <xsl:when test="@code='a'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>: </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='b'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='c' or @code='g'"> >+ <a> >+ <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?idx=pb&q=<xsl:value-of select="."/> >+ </xsl:attribute> >+ <xsl:attribute name="title"> Search for publisher "<xsl:value-of select="."/> >+ <xsl:text>"</xsl:text> >+ </xsl:attribute> >+ <xsl:value-of select="."/> >+ </a> >+ <xsl:if test="position() != last()"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='d'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ </xsl:choose> >+ </xsl:for-each> >+ </span> >+ </xsl:for-each> >+ </xsl:when> >+ <xsl:when test="marc:datafield[@tag=210]"> >+ <xsl:for-each select="marc:datafield[@tag=210]"> >+ <xsl:if test="not (position() = 1)"> >+ <br/> >+ </xsl:if> >+ <span class="label">Publication: </span> >+ <span class="valeur"> >+ <xsl:call-template name="addClassRtl" /> >+ <xsl:for-each select="marc:subfield"> >+ <xsl:choose> >+ <xsl:when test="@code='a'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>: </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='b'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='c' or @code='g'"> >+ <a> >+ <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?idx=pb&q=<xsl:value-of select="."/> >+ </xsl:attribute> >+ <xsl:attribute name="title"> Search for publisher "<xsl:value-of select="."/> >+ <xsl:text>"</xsl:text> >+ </xsl:attribute> >+ <xsl:value-of select="."/> >+ </a> >+ <xsl:if test="position() != last()"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='d'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ </xsl:choose> >+ </xsl:for-each> >+ </span> >+ </xsl:for-each> >+ </xsl:when> >+ </xsl:choose> >+ </xsl:if> >+ </span> >+ </xsl:template> >+ <xsl:template name="tag_215"> >+ <xsl:for-each select="marc:datafield[@tag=215]"> >+ <span class="results_summary description"> >+ <span class="label">Description: </span> >+ <xsl:if test="marc:subfield[@code='a']"> >+ <xsl:value-of select="marc:subfield[@code='a']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='c']"> : >+ >+ >+ >+ >+ >+ >+ >+ <xsl:value-of select="marc:subfield[@code='c']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='d']"> ; >+ >+ >+ >+ >+ >+ >+ >+ <xsl:value-of select="marc:subfield[@code='d']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='e']"> + >+ >+ >+ >+ > >- <xsl:template name="datafield"> >- <xsl:param name="tag"/> >- <xsl:param name="ind1"><xsl:text> </xsl:text></xsl:param> >- <xsl:param name="ind2"><xsl:text> </xsl:text></xsl:param> >- <xsl:param name="subfields"/> >- <xsl:element name="datafield"> >- <xsl:attribute name="tag"> >- <xsl:value-of select="$tag"/> >- </xsl:attribute> >- <xsl:attribute name="ind1"> >- <xsl:value-of select="$ind1"/> >- </xsl:attribute> >- <xsl:attribute name="ind2"> >- <xsl:value-of select="$ind2"/> >- </xsl:attribute> >- <xsl:copy-of select="$subfields"/> >- </xsl:element> >- </xsl:template> >- >- <xsl:template name="tag_210"> >- <span class="results_summary publication"> >- <span class="label">Publication: </span> >- <xsl:for-each select="marc:datafield[@tag=210]"> >- <span> >- <xsl:call-template name="addClassRtl" /> >- <xsl:for-each select="marc:subfield"> >- <xsl:choose> >- <xsl:when test="@code='c' or @code='g'"> >- <xsl:if test="position()>1"> >- <xsl:text> : </xsl:text> >- </xsl:if> >- <xsl:value-of select="."/> >- </xsl:when> >- <xsl:otherwise> >- <xsl:if test="position()>1"> >- <xsl:text>, </xsl:text> >- </xsl:if> >- <xsl:value-of select="."/> >- </xsl:otherwise> >- </xsl:choose> >- </xsl:for-each> >- <xsl:if test="not (position() = last())"> >- <xsl:text> ⢠</xsl:text> >- </xsl:if> >- </span> >- </xsl:for-each> >- </span> >- </xsl:template> >- >- <xsl:template name="tag_215"> >- <xsl:for-each select="marc:datafield[@tag=215]"> >- <span class="results_summary description"> >- <span class="label">Description: </span> >- <xsl:if test="marc:subfield[@code='a']"> >- <xsl:value-of select="marc:subfield[@code='a']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='c']"> : >- <xsl:value-of select="marc:subfield[@code='c']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='d']"> ; >- <xsl:value-of select="marc:subfield[@code='d']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='e']"> + >- <xsl:value-of select="marc:subfield[@code='e']"/> >- </xsl:if> >- </span> >- </xsl:for-each> >- </xsl:template> > >+ >+ <xsl:value-of select="marc:subfield[@code='e']"/> >+ </xsl:if> >+ </span> >+ </xsl:for-each> >+ </xsl:template> > <xsl:template name="tag_4xx"> >- <xsl:for-each select="marc:datafield[@tag=464 or @tag=461]"> >- <span class="results_summary linked_with"> >- <span class="label">Linked with: </span> >- <span class="value"> >- <xsl:call-template name="addClassRtl" /> >- <xsl:if test="marc:subfield[@code='t']"> >- <xsl:value-of select="marc:subfield[@code='t']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='e']"> : >- <xsl:value-of select="marc:subfield[@code='e']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='f']"> / >- <xsl:value-of select="marc:subfield[@code='f']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='v']">, >- <xsl:value-of select="marc:subfield[@code='v']"/> >- </xsl:if> >- </span> >- </span> >- </xsl:for-each> >- </xsl:template> >+ <xsl:for-each select="marc:datafield[@tag=464 or @tag=461]"> >+ <span class="results_summary linked_with"> >+ <span class="label">Linked with: </span> >+ <span class="value"> >+ <xsl:call-template name="addClassRtl" /> >+ <xsl:if test="marc:subfield[@code='t']"> >+ <xsl:value-of select="marc:subfield[@code='t']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='e']"> : >+ >+ >+ >+ >+ >+ >+ >+ <xsl:value-of select="marc:subfield[@code='e']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='f']"> / >+ >+ >+ >+ >+ >+ > >+ <xsl:value-of select="marc:subfield[@code='f']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='v']">, >+ >+ >+ >+ >+ >+ >+ >+ <xsl:value-of select="marc:subfield[@code='v']"/> >+ </xsl:if> >+ </span> >+ </span> >+ </xsl:for-each> >+ </xsl:template> > <xsl:template name="subfieldSelect"> > <xsl:param name="codes"/> >- <xsl:param name="delimeter"><xsl:text> </xsl:text></xsl:param> >+ <xsl:param name="delimeter"> >+ <xsl:text></xsl:text> >+ </xsl:param> > <xsl:param name="subdivCodes"/> > <xsl:param name="subdivDelimiter"/> >- <xsl:param name="urlencode"/> >+ <xsl:param name="urlencode"/> > <xsl:variable name="str"> > <xsl:for-each select="marc:subfield"> > <xsl:if test="contains($codes, @code)"> >- <xsl:if test="contains($subdivCodes, @code)"> >- <xsl:value-of select="$subdivDelimiter"/> >- </xsl:if> >- <xsl:value-of select="text()"/><xsl:value-of select="$delimeter"/> >+ <xsl:if test="contains($subdivCodes, @code)"> >+ <xsl:value-of select="$subdivDelimiter"/> >+ </xsl:if> >+ <xsl:value-of select="text()"/> >+ <xsl:value-of select="$delimeter"/> > </xsl:if> > </xsl:for-each> > </xsl:variable> >- <xsl:choose> >- <xsl:when test="$urlencode=1"> >- <xsl:value-of select="str:encode-uri(substring($str,1,string-length($str)-string-length($delimeter)), true())"/> >- </xsl:when> >- <xsl:otherwise> >- <xsl:value-of select="substring($str,1,string-length($str)-string-length($delimeter))"/> >- </xsl:otherwise> >- </xsl:choose> >+ <xsl:choose> >+ <xsl:when test="$urlencode=1"> >+ <xsl:value-of select="str:encode-uri(substring($str,1,string-length($str)-string-length($delimeter)), true())"/> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:value-of select="substring($str,1,string-length($str)-string-length($delimeter))"/> >+ </xsl:otherwise> >+ </xsl:choose> > </xsl:template> >- > <xsl:template name="buildSpaces"> > <xsl:param name="spaces"/> >- <xsl:param name="char"><xsl:text> </xsl:text></xsl:param> >+ <xsl:param name="char"> >+ <xsl:text></xsl:text> >+ </xsl:param> > <xsl:if test="$spaces>0"> > <xsl:value-of select="$char"/> > <xsl:call-template name="buildSpaces"> >@@ -138,36 +443,32 @@ > </xsl:call-template> > </xsl:if> > </xsl:template> >- >- <xsl:template name="buildBiblioDefaultViewURL"> >- <xsl:param name="IntranetBiblioDefaultView"/> >- <xsl:choose> >- <xsl:when test="$IntranetBiblioDefaultView='normal'"> >- <xsl:text>/cgi-bin/koha/catalogue/detail.pl?biblionumber=</xsl:text> >- </xsl:when> >- <xsl:when test="$IntranetBiblioDefaultView='isbd'"> >- <xsl:text>/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=</xsl:text> >- </xsl:when> >- <xsl:when test="$IntranetBiblioDefaultView='labeled_marc'"> >- <xsl:text>/cgi-bin/koha/catalogue/labeledMARCdetail.pl?biblionumber=</xsl:text> >- </xsl:when> >- <xsl:when test="$IntranetBiblioDefaultView='marc'"> >- <xsl:text>/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=</xsl:text> >- </xsl:when> >- <xsl:otherwise> >- <xsl:text>/cgi-bin/koha/catalogue/detail.pl?biblionumber=</xsl:text> >- </xsl:otherwise> >- </xsl:choose> >- </xsl:template> >- >+ <xsl:template name="buildBiblioDefaultViewURL"> >+ <xsl:param name="IntranetBiblioDefaultView"/> >+ <xsl:choose> >+ <xsl:when test="$IntranetBiblioDefaultView='normal'"> >+ <xsl:text>/cgi-bin/koha/catalogue/detail.pl?biblionumber=</xsl:text> >+ </xsl:when> >+ <xsl:when test="$IntranetBiblioDefaultView='isbd'"> >+ <xsl:text>/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=</xsl:text> >+ </xsl:when> >+ <xsl:when test="$IntranetBiblioDefaultView='labeled_marc'"> >+ <xsl:text>/cgi-bin/koha/catalogue/labeledMARCdetail.pl?biblionumber=</xsl:text> >+ </xsl:when> >+ <xsl:when test="$IntranetBiblioDefaultView='marc'"> >+ <xsl:text>/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=</xsl:text> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:text>/cgi-bin/koha/catalogue/detail.pl?biblionumber=</xsl:text> >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:template> > <xsl:template name="chopSpecialCharacters"> >- <xsl:param name="title" /> >- <xsl:variable name="ntitle" >+ <xsl:param name="title" /> >+ <xsl:variable name="ntitle" > select="translate($title, '˜œ슜슛슘슈슉','')"/> >- <xsl:value-of select="$ntitle" /> >- </xsl:template> >- >- >+ <xsl:value-of select="$ntitle" /> >+ </xsl:template> > <xsl:template name="chopPunctuation"> > <xsl:param name="chopString"/> > <xsl:variable name="length" select="string-length($chopString)"/> >@@ -179,175 +480,188 @@ > </xsl:call-template> > </xsl:when> > <xsl:when test="not($chopString)"/> >- <xsl:otherwise><xsl:value-of select="$chopString"/></xsl:otherwise> >+ <xsl:otherwise> >+ <xsl:value-of select="$chopString"/> >+ </xsl:otherwise> > </xsl:choose> >- <xsl:text> </xsl:text> >+ <xsl:text></xsl:text> > </xsl:template> >- > <xsl:template name="addClassRtl"> >- <xsl:variable name="lang" select="marc:subfield[@code='7']" /> >- <xsl:if test="$lang = 'ha' or $lang = 'Hebrew' or $lang = 'fa' or $lang = 'Arabe'"> >- <xsl:attribute name="class">rtl</xsl:attribute> >- </xsl:if> >- </xsl:template> >- >- <xsl:template name="tag_title"> >- <xsl:param name="tag" /> >- <xsl:param name="label" /> >- <xsl:param name="spanclass" /> >- <xsl:if test="marc:datafield[@tag=$tag]"> >- <span class="results_summary {$spanclass}"> >- <span class="label"> >- <xsl:value-of select="$label"/> >- <xsl:text>: </xsl:text> >- </span> >- <xsl:for-each select="marc:datafield[@tag=$tag]"> >- <xsl:value-of select="marc:subfield[@code='a']" /> >- <xsl:if test="marc:subfield[@code='d']"> >- <xsl:text> : </xsl:text> >- <xsl:value-of select="marc:subfield[@code='e']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='e']"> >- <xsl:for-each select="marc:subfield[@code='e']"> >- <xsl:text> </xsl:text> >- <xsl:value-of select="."/> >- </xsl:for-each> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='f']"> >- <xsl:text> / </xsl:text> >- <xsl:value-of select="marc:subfield[@code='f']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='h']"> >- <xsl:text>, </xsl:text> >- <xsl:value-of select="marc:subfield[@code='h']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='i']"> >- <xsl:text>, </xsl:text> >- <xsl:value-of select="marc:subfield[@code='i']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='v']"> >- <xsl:text>, </xsl:text> >- <xsl:value-of select="marc:subfield[@code='v']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='x']"> >- <xsl:text>, </xsl:text> >- <xsl:value-of select="marc:subfield[@code='x']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='z']"> >- <xsl:text>, </xsl:text> >- <xsl:value-of select="marc:subfield[@code='z']"/> >- </xsl:if> >- </xsl:for-each> >- </span> >- </xsl:if> >- </xsl:template> >- >- <xsl:template name="tag_subject"> >- <xsl:param name="tag" /> >- <xsl:param name="label" /> >- <xsl:param name="spanclass"/> >- <xsl:if test="marc:datafield[@tag=$tag]"> >- <span class="results_summary subjects {$spanclass}"> >- <span class="label"> >- <xsl:value-of select="$label"/> >- <xsl:text>: </xsl:text> >- </span> >- <xsl:for-each select="marc:datafield[@tag=$tag]"> >- <a> >- <xsl:choose> >- <xsl:when test="marc:subfield[@code=9]"> >- <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=an:<xsl:value-of select="str:encode-uri(marc:subfield[@code=9], true())"/></xsl:attribute> >- </xsl:when> >- <xsl:otherwise> >- <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=su:<xsl:value-of select="str:encode-uri(marc:subfield[@code='a'], true())"/></xsl:attribute> >- </xsl:otherwise> >- </xsl:choose> >- <xsl:call-template name="chopPunctuation"> >- <xsl:with-param name="chopString"> >- <xsl:call-template name="subfieldSelect"> >- <xsl:with-param name="codes">abcdjptvxyz</xsl:with-param> >- <xsl:with-param name="subdivCodes">jpxyz</xsl:with-param> >- <xsl:with-param name="subdivDelimiter">-- </xsl:with-param> >- </xsl:call-template> >- </xsl:with-param> >- </xsl:call-template> >- </a> >- <xsl:if test="not (position()=last())"> >- <xsl:text> | </xsl:text> >- </xsl:if> >- </xsl:for-each> >- </span> >- </xsl:if> >- </xsl:template> >- >- <xsl:template name="tag_7xx"> >- <xsl:param name="tag" /> >- <xsl:param name="label" /> >- <xsl:param name="spanclass" /> >- <xsl:if test="marc:datafield[@tag=$tag]"> >- <span class="results_summary author {$spanclass}"> >- <span class="label"> >- <xsl:value-of select="$label" /> >- <xsl:text>: </xsl:text> >- </span> >- <span class="value"> >- <xsl:for-each select="marc:datafield[@tag=$tag]"> >- <xsl:call-template name="addClassRtl" /> >- <a> >- <xsl:choose> >- <xsl:when test="marc:subfield[@code=9]"> >- <xsl:attribute name="href"> >- <xsl:text>/cgi-bin/koha/catalogue/search.pl?q=an:</xsl:text> >- <xsl:value-of select="str:encode-uri(marc:subfield[@code=9], true())"/> >- </xsl:attribute> >- </xsl:when> >- <xsl:otherwise> >- <xsl:attribute name="href"> >- <xsl:text>/cgi-bin/koha/catalogue/search.pl?q=au:</xsl:text> >- <xsl:value-of select="str:encode-uri(marc:subfield[@code='a'], true())"/> >- <xsl:text>%20</xsl:text> >- <xsl:value-of select="str:encode-uri(marc:subfield[@code='b'], true())"/> >- </xsl:attribute> >- </xsl:otherwise> >- </xsl:choose> >- <xsl:if test="marc:subfield[@code='a']"> >- <xsl:value-of select="marc:subfield[@code='a']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='b']"> >- <xsl:text>, </xsl:text> >- <xsl:value-of select="marc:subfield[@code='b']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='c']"> >- <xsl:text>, </xsl:text> >- <xsl:value-of select="marc:subfield[@code='c']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='d']"> >- <xsl:text> </xsl:text> >- <xsl:value-of select="marc:subfield[@code='d']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='f']"> >- <span dir="ltr"> >- <xsl:text> (</xsl:text> >- <xsl:value-of select="marc:subfield[@code='f']"/> >- <xsl:text>)</xsl:text> >- </span> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='g']"> >- <xsl:text> </xsl:text> >- <xsl:value-of select="marc:subfield[@code='g']"/> >- </xsl:if> >- <xsl:if test="marc:subfield[@code='p']"> >- <xsl:text> </xsl:text> >- <xsl:value-of select="marc:subfield[@code='p']"/> >- </xsl:if> >- </a> >- <xsl:if test="not (position() = last())"> >- <xsl:text> ; </xsl:text> >- </xsl:if> >- </xsl:for-each> >- </span> >- </span> >- </xsl:if> >- </xsl:template> >+ <xsl:variable name="lang" select="marc:subfield[@code='7']" /> >+ <xsl:if test="$lang = 'ha' or $lang = 'Hebrew' or $lang = 'fa' or $lang = 'Arabe'"> >+ <xsl:attribute name="class">rtl</xsl:attribute> >+ </xsl:if> >+ </xsl:template> >+ <xsl:template name="tag_title"> >+ <xsl:param name="tag" /> >+ <xsl:param name="label" /> >+ <xsl:param name="spanclass" /> >+ <xsl:if test="marc:datafield[@tag=$tag]"> >+ <span class="results_summary {$spanclass}"> >+ <span class="label"> >+ <xsl:value-of select="$label"/> >+ <xsl:text>: </xsl:text> >+ </span> >+ <xsl:for-each select="marc:datafield[@tag=$tag]"> >+ <xsl:value-of select="marc:subfield[@code='a']" /> >+ <xsl:if test="marc:subfield[@code='d']"> >+ <xsl:text> : </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='e']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='e']"> >+ <xsl:for-each select="marc:subfield[@code='e']"> >+ <xsl:text></xsl:text> >+ <xsl:value-of select="."/> >+ </xsl:for-each> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='f']"> >+ <xsl:text> / </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='f']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='h']"> >+ <xsl:text>, </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='h']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='i']"> >+ <xsl:text>, </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='i']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='v']"> >+ <xsl:text>, </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='v']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='x']"> >+ <xsl:text>, </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='x']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='z']"> >+ <xsl:text>, </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='z']"/> >+ </xsl:if> >+ </xsl:for-each> >+ </span> >+ </xsl:if> >+ </xsl:template> >+ <xsl:template name="tag_subject"> >+ <xsl:param name="tag" /> >+ <xsl:param name="label" /> >+ <xsl:param name="spanclass"/> >+ <xsl:if test="marc:datafield[@tag=$tag]"> >+ <span class="results_summary subjects {$spanclass}"> >+ <span class="label"> >+ <xsl:value-of select="$label"/> >+ <xsl:text>: </xsl:text> >+ </span> >+ <xsl:for-each select="marc:datafield[@tag=$tag]"> >+ <a> >+ <xsl:choose> >+ <xsl:when test="marc:subfield[@code=9]"> >+ <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=an: >+ >+ >+ >+ > >+ >+ <xsl:value-of select="str:encode-uri(marc:subfield[@code=9], true())"/> >+ </xsl:attribute> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=su: >+ >+ >+ >+ >+ >+ >+ <xsl:value-of select="str:encode-uri(marc:subfield[@code='a'], true())"/> >+ </xsl:attribute> >+ </xsl:otherwise> >+ </xsl:choose> >+ <xsl:call-template name="chopPunctuation"> >+ <xsl:with-param name="chopString"> >+ <xsl:call-template name="subfieldSelect"> >+ <xsl:with-param name="codes">abcdjptvxyz</xsl:with-param> >+ <xsl:with-param name="subdivCodes">jpxyz</xsl:with-param> >+ <xsl:with-param name="subdivDelimiter">-- </xsl:with-param> >+ </xsl:call-template> >+ </xsl:with-param> >+ </xsl:call-template> >+ </a> >+ <xsl:if test="not (position()=last())"> >+ <xsl:text> | </xsl:text> >+ </xsl:if> >+ </xsl:for-each> >+ </span> >+ </xsl:if> >+ </xsl:template> >+ <xsl:template name="tag_7xx"> >+ <xsl:param name="tag" /> >+ <xsl:param name="label" /> >+ <xsl:param name="spanclass" /> >+ <xsl:if test="marc:datafield[@tag=$tag]"> >+ <span class="results_summary author {$spanclass}"> >+ <span class="label"> >+ <xsl:value-of select="$label" /> >+ <xsl:text>: </xsl:text> >+ </span> >+ <span class="value"> >+ <xsl:for-each select="marc:datafield[@tag=$tag]"> >+ <xsl:call-template name="addClassRtl" /> >+ <a> >+ <xsl:choose> >+ <xsl:when test="marc:subfield[@code=9]"> >+ <xsl:attribute name="href"> >+ <xsl:text>/cgi-bin/koha/catalogue/search.pl?q=an:</xsl:text> >+ <xsl:value-of select="str:encode-uri(marc:subfield[@code=9], true())"/> >+ </xsl:attribute> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:attribute name="href"> >+ <xsl:text>/cgi-bin/koha/catalogue/search.pl?q=au:</xsl:text> >+ <xsl:value-of select="str:encode-uri(marc:subfield[@code='a'], true())"/> >+ <xsl:text>%20</xsl:text> >+ <xsl:value-of select="str:encode-uri(marc:subfield[@code='b'], true())"/> >+ </xsl:attribute> >+ </xsl:otherwise> >+ </xsl:choose> >+ <xsl:if test="marc:subfield[@code='a']"> >+ <xsl:value-of select="marc:subfield[@code='a']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='b']"> >+ <xsl:text>, </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='b']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='c']"> >+ <xsl:text>, </xsl:text> >+ <xsl:value-of select="marc:subfield[@code='c']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='d']"> >+ <xsl:text></xsl:text> >+ <xsl:value-of select="marc:subfield[@code='d']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='f']"> >+ <span dir="ltr"> >+ <xsl:text> (</xsl:text> >+ <xsl:value-of select="marc:subfield[@code='f']"/> >+ <xsl:text>)</xsl:text> >+ </span> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='g']"> >+ <xsl:text></xsl:text> >+ <xsl:value-of select="marc:subfield[@code='g']"/> >+ </xsl:if> >+ <xsl:if test="marc:subfield[@code='p']"> >+ <xsl:text></xsl:text> >+ <xsl:value-of select="marc:subfield[@code='p']"/> >+ </xsl:if> >+ </a> >+ <xsl:if test="not (position() = last())"> >+ <xsl:text> ; </xsl:text> >+ </xsl:if> >+ </xsl:for-each> >+ </span> >+ </span> >+ </xsl:if> >+ </xsl:template> > </xsl:stylesheet> >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACDetail.xsl b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACDetail.xsl >index 4066be9ab4..56c9956641 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACDetail.xsl >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACDetail.xsl >@@ -186,7 +186,19 @@ > <xsl:with-param name="spanclass">edition</xsl:with-param> > </xsl:call-template> > >- <xsl:call-template name="tag_210" /> >+ <xsl:if test="(marc:datafield[@tag=214] or marc:datafield[@tag=210])"> >+ <xsl:choose> >+ <xsl:when test="(marc:datafield[@tag=214] and marc:datafield[@tag=210])"> >+ <xsl:call-template name="tag_214" /> >+ </xsl:when> >+ <xsl:when test="(marc:datafield[@tag=214])"> >+ <xsl:call-template name="tag_214" /> >+ </xsl:when> >+ <xsl:when test="(marc:datafield[@tag=210])"> >+ <xsl:call-template name="tag_210" /> >+ </xsl:when> >+ </xsl:choose> >+ </xsl:if> > > <xsl:call-template name="tag_215" /> > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACResults.xsl b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACResults.xsl >index 9d8c7de16e..731f6f170d 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACResults.xsl >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslim2OPACResults.xsl >@@ -151,7 +151,9 @@ > <xsl:with-param name="spanclass">piece_analytic_level</xsl:with-param> > </xsl:call-template> > >- <xsl:call-template name="tag_210" /> >+ <xsl:if test="marc:datafield[@tag=210 or @tag=214]"> >+ <xsl:call-template name="tag_210-214" /> >+ </xsl:if> > > <xsl:call-template name="tag_215" /> > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslimUtils.xsl b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslimUtils.xsl >index 8c5b7fde95..448c51b5c6 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslimUtils.xsl >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslimUtils.xsl >@@ -219,6 +219,270 @@ > </span> > </xsl:template> > >+ <xsl:template name="tag_210-214"> >+ <span class="results_summary publication"> >+ <xsl:if test="marc:datafield[@tag=210 or @tag=214]"> >+ <xsl:choose> >+ <xsl:when test="marc:datafield[@tag=210 and @tag=214]"> >+ <xsl:for-each select="marc:datafield[@tag=214]"> >+ <xsl:if test="not (position() = 1)"> >+ <br/> >+ </xsl:if> >+ <span class="label"> >+ <xsl:choose> >+ <xsl:when test="@ind2=1">Production: >+ </xsl:when> >+ <xsl:when test="@ind2=2">Distribution: >+ </xsl:when> >+ <xsl:when test="@ind2=3">Manufacture: >+ </xsl:when> >+ <xsl:when test="@ind2=4"> >+ <xsl:choose> >+ <xsl:when test="substring(marc:subfield[@code='d'],1,1)='C'">Copyright date: >+ </xsl:when> >+ <xsl:when test="substring(marc:subfield[@code='d'],1,1)='P'">Protection date: >+ </xsl:when> >+ <xsl:otherwise>Copyright date / protection date: >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:when> >+ <xsl:otherwise>Publication: >+ </xsl:otherwise> >+ </xsl:choose> >+ </span> >+ <span class="valeur"> >+ <xsl:call-template name="addClassRtl" /> >+ <xsl:for-each select="marc:subfield"> >+ <xsl:choose> >+ <xsl:when test="@code='a'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>: </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='b'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='c' or @code='g'"> >+ <a> >+ <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?idx=pb&q=<xsl:value-of select="."/> >+ </xsl:attribute> >+ <xsl:attribute name="title"> Search for publisher "<xsl:value-of select="."/> >+ <xsl:text>"</xsl:text> >+ </xsl:attribute> >+ <xsl:value-of select="."/> >+ </a> >+ <xsl:if test="position() != last()"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='d'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ </xsl:choose> >+ </xsl:for-each> >+ </span> >+ </xsl:for-each> >+ </xsl:when> >+ <xsl:when test="marc:datafield[@tag=214]"> >+ <xsl:for-each select="marc:datafield[@tag=214]"> >+ <xsl:if test="not (position() = 1)"> >+ <br/> >+ </xsl:if> >+ <span class="label"> >+ <xsl:choose> >+ <xsl:when test="@ind2=1">Production: >+ </xsl:when> >+ <xsl:when test="@ind2=2">Distribution: >+ </xsl:when> >+ <xsl:when test="@ind2=3">Manufacture: >+ </xsl:when> >+ <xsl:when test="@ind2=4"> >+ <xsl:choose> >+ <xsl:when test="substring(marc:subfield[@code='d'],1,1)='C'">Copyright date: >+ </xsl:when> >+ <xsl:when test="substring(marc:subfield[@code='d'],1,1)='P'">Protection date: >+ </xsl:when> >+ <xsl:otherwise>Copyright date / protection date: >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:when> >+ <xsl:otherwise>Publication: >+ </xsl:otherwise> >+ </xsl:choose> >+ </span> >+ <span class="valeur"> >+ <xsl:call-template name="addClassRtl" /> >+ <xsl:for-each select="marc:subfield"> >+ <xsl:choose> >+ <xsl:when test="@code='a'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>: </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='b'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='c' or @code='g'"> >+ <a> >+ <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?idx=pb&q=<xsl:value-of select="."/> >+ </xsl:attribute> >+ <xsl:attribute name="title"> Search for publisher "<xsl:value-of select="."/> >+ <xsl:text>"</xsl:text> >+ </xsl:attribute> >+ <xsl:value-of select="."/> >+ </a> >+ <xsl:if test="position() != last()"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='d'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ </xsl:choose> >+ </xsl:for-each> >+ </span> >+ </xsl:for-each> >+ </xsl:when> >+ <xsl:when test="marc:datafield[@tag=210]"> >+ <xsl:for-each select="marc:datafield[@tag=210]"> >+ <xsl:if test="not (position() = 1)"> >+ <br/> >+ </xsl:if> >+ <span class="label">Publication: </span> >+ <span class="valeur"> >+ <xsl:call-template name="addClassRtl" /> >+ <xsl:for-each select="marc:subfield"> >+ <xsl:choose> >+ <xsl:when test="@code='a'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>: </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='b'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='c' or @code='g'"> >+ <a> >+ <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?idx=pb&q=<xsl:value-of select="."/> >+ </xsl:attribute> >+ <xsl:attribute name="title"> Search for publisher "<xsl:value-of select="."/> >+ <xsl:text>"</xsl:text> >+ </xsl:attribute> >+ <xsl:value-of select="."/> >+ </a> >+ <xsl:if test="position() != last()"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='d'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ </xsl:choose> >+ </xsl:for-each> >+ </span> >+ </xsl:for-each> >+ </xsl:when> >+ </xsl:choose> >+ </xsl:if> >+ </span> >+ </xsl:template> >+ >+ <xsl:template name="tag_214"> >+ <xsl:for-each select="marc:datafield[@tag=214]"> >+ <xsl:sort select="@ind2" data-type="number" /> >+ <span class="results_summary publication"> >+ <span class="label"> >+ <xsl:choose> >+ <xsl:when test="@ind2=1">Production: >+ </xsl:when> >+ <xsl:when test="@ind2=2">Distribution: >+ </xsl:when> >+ <xsl:when test="@ind2=3">Manufacture: >+ </xsl:when> >+ <xsl:when test="@ind2=4"> >+ <xsl:choose> >+ <xsl:when test="substring(marc:subfield[@code='d'],1,1)='C'">Copyright date: >+ </xsl:when> >+ <xsl:when test="substring(marc:subfield[@code='d'],1,1)='P'">Protection date: >+ </xsl:when> >+ <xsl:otherwise>Copyright date / protection date: >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:when> >+ <xsl:otherwise>Publication: >+ </xsl:otherwise> >+ </xsl:choose> >+ </span> >+ <span> >+ <xsl:call-template name="addClassRtl" /> >+ <xsl:for-each select="marc:subfield"> >+ <xsl:choose> >+ <xsl:when test="@code='a'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="position() != last()"> >+ <xsl:text>: </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='b'"> >+ <xsl:value-of select="."/> >+ <xsl:if test="not(position()=1)"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ </xsl:when> >+ <xsl:when test="@code='c'"> >+ <a> >+ <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?idx=pb&q=<xsl:value-of select="."/> >+ </xsl:attribute> >+ <xsl:attribute name="title"> Search for publisher "<xsl:value-of select="."/> >+ <xsl:text>"</xsl:text> >+ </xsl:attribute> >+ <xsl:value-of select="."/> >+ </a> >+ </xsl:when> >+ <xsl:when test="@code='d'"> >+ <xsl:if test="not(position()=1)"> >+ <xsl:text>, </xsl:text> >+ </xsl:if> >+ <xsl:choose> >+ <xsl:when test="substring(.,1,1)='C'"> >+ <xsl:value-of select="substring(.,2)"/> >+ </xsl:when> >+ <xsl:when test="substring(.,1,1)='P'"> >+ <xsl:value-of select="substring(.,2)"/> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:value-of select="."/> >+ </xsl:otherwise> >+ </xsl:choose> >+ </xsl:when> >+ </xsl:choose> >+ </xsl:for-each> >+ </span> >+ </span> >+ </xsl:for-each> >+ </xsl:template> >+ > <xsl:template name="tag_215"> > <xsl:for-each select="marc:datafield[@tag=215]"> > <span class="results_summary description"> >-- >2.30.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 30430
:
132842
|
132864
|
132872
|
133235
|
134560
|
134652
|
134653
|
134667
|
134668
|
136758
|
136759
|
136760
|
136761
|
136762
|
136763