exclude-result-prefixes="marc items">
<xsl:import href="MARC21slimUtils.xsl"/>
<xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" encoding="UTF-8"/>
+
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
</xsl:choose>
</xsl:variable>
+ <!-- Schema.org type -->
+ <xsl:variable name="schemaOrgType">
+ <xsl:choose>
+ <xsl:when test="$materialTypeLabel='Book'">Book</xsl:when>
+ <xsl:when test="$materialTypeLabel='Map'">Map</xsl:when>
+ <xsl:when test="$materialTypeLabel='Music'">MusicAlbum</xsl:when>
+ <xsl:otherwise>CreativeWork</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- Wrapper div for our schema.org object -->
+ <xsl:element name="div">
+ <xsl:attribute name="class">record</xsl:attribute>
+ <xsl:attribute name="vocab">http://schema.org/</xsl:attribute>
+ <xsl:attribute name="typeof"><xsl:value-of select='$schemaOrgType' /> Product</xsl:attribute>
+ <xsl:attribute name="resource">#record</xsl:attribute>
+
<!-- Title Statement -->
<!-- Alternate Graphic Representation (MARC 880) -->
<xsl:if test="$display880">
- <h1 class="title">
+ <h1 class="title" property="alternativeHeadline">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">245</xsl:with-param>
<xsl:with-param name="codes">abhfgknps</xsl:with-param>
</xsl:if>
<xsl:if test="marc:datafield[@tag=245]">
- <h1 class="title">
+ <h1 class="title" property="name">
<xsl:for-each select="marc:datafield[@tag=245]">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">a</xsl:with-param>
</xsl:if>
<xsl:choose>
<xsl:when test="marc:datafield[@tag=100] or marc:datafield[@tag=110] or marc:datafield[@tag=111] or marc:datafield[@tag=700] or marc:datafield[@tag=710] or marc:datafield[@tag=711]">
- <h5 class="author">by
+ <h5 class="author" property="author">by
<xsl:call-template name="showAuthor">
<xsl:with-param name="authorfield" select="marc:datafield[@tag=100 or @tag=110 or @tag=111 or @tag=700 or @tag=710 or @tag=711]"/>
<xsl:with-param name="UseAuthoritiesForTracings" select="$UseAuthoritiesForTracings"/>
<xsl:if test="marc:datafield[@tag=260]">
<span class="results_summary publisher"><span class="label">Publisher: </span>
<xsl:for-each select="marc:datafield[@tag=260]">
+ <span property="publisher" typeof="Organization">
<xsl:if test="marc:subfield[@code='a']">
+ <span property="location">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">a</xsl:with-param>
</xsl:call-template>
+ </span>
</xsl:if>
<xsl:text> </xsl:text>
<xsl:if test="marc:subfield[@code='b']">
- <a href="/cgi-bin/koha/opac-search.pl?q=pb:{marc:subfield[@code='b']}">
+ <span property="name"><a href="/cgi-bin/koha/opac-search.pl?q=pb:{marc:subfield[@code='b']}">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">b</xsl:with-param>
</xsl:call-template>
- </a>
- </xsl:if>
- <xsl:text> </xsl:text>
- <xsl:call-template name="chopPunctuation">
- <xsl:with-param name="chopString">
- <xsl:call-template name="subfieldSelect">
- <xsl:with-param name="codes">cg</xsl:with-param>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:call-template>
- <xsl:choose><xsl:when test="position()=last()"><xsl:text></xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
+ </a></span>
+ </xsl:if>
+ </span>
+ <xsl:text> </xsl:text>
+ <xsl:if test="marc:subfield[@code='c' or @code='g']">
+ <span property="datePublished">
+ <xsl:call-template name="chopPunctuation">
+ <xsl:with-param name="chopString">
+ <xsl:call-template name="subfieldSelect">
+ <xsl:with-param name="codes">cg</xsl:with-param>
+ </xsl:call-template>
+ </xsl:with-param>
+ </xsl:call-template>
+ </span>
+ </xsl:if>
+ <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=250]">
<span class="results_summary edition"><span class="label">Edition: </span>
<xsl:for-each select="marc:datafield[@tag=250]">
+ <span property="bookEdition">
<xsl:call-template name="chopPunctuation">
<xsl:with-param name="chopString">
<xsl:call-template name="subfieldSelect">
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
+ </span>
<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 test="marc:datafield[@tag=300]">
<span class="results_summary description"><span class="label">Description: </span>
<xsl:for-each select="marc:datafield[@tag=300]">
+ <span property="description">
<xsl:call-template name="chopPunctuation">
<xsl:with-param name="chopString">
<xsl:call-template name="subfieldSelect">
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
+ </span>
<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 test="marc:datafield[@tag=020]">
<span class="results_summary isbn"><span class="label">ISBN: </span>
<xsl:for-each select="marc:datafield[@tag=020]">
+ <span property="isbn">
<xsl:variable name="isbn" select="marc:subfield[@code='a']"/>
<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>
+ </span>
</xsl:for-each>
</span>
</xsl:if>
<xsl:if test="marc:datafield[@tag=246]">
<span class="results_summary other_title"><span class="label">Other title: </span>
<xsl:for-each select="marc:datafield[@tag=246]">
+ <span property="alternativeHeadline">
<xsl:call-template name="chopPunctuation">
<xsl:with-param name="chopString">
<xsl:call-template name="subfieldSelect">
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
+ </span>
<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 test="marc:datafield[@tag=242]">
<span class="results_summary translated_title"><span class="label">Title translated: </span>
<xsl:for-each select="marc:datafield[@tag=242]">
+ <span property="alternativeHeadline">
<xsl:call-template name="chopPunctuation">
<xsl:with-param name="chopString">
<xsl:call-template name="subfieldSelect">
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
+ </span>
<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>
<!-- Uniform Title Statement: Alternate Graphic Representation (MARC 880) -->
<xsl:if test="$display880">
+ <span property="alternativeHeadline">
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">130,240</xsl:with-param>
<xsl:with-param name="codes">adfklmor</xsl:with-param>
<xsl:with-param name="class">results_summary uniform_title</xsl:with-param>
<xsl:with-param name="label">Uniform titles: </xsl:with-param>
</xsl:call-template>
+ </span>
</xsl:if>
<xsl:if test="marc:datafield[@tag=130]|marc:datafield[@tag=240]|marc:datafield[@tag=730][@ind2!=2]">
<span class="results_summary uniform_titles"><span class="label">Uniform titles: </span>
<xsl:for-each select="marc:datafield[@tag=130]|marc:datafield[@tag=240]|marc:datafield[@tag=730][@ind2!=2]">
+ <span property="alternativeHeadline">
<xsl:variable name="str">
<xsl:for-each select="marc:subfield">
<xsl:if test="(contains('adfklmor',@code) and (not(../marc:subfield[@code='n' or @code='p']) or (following-sibling::marc:subfield[@code='n' or @code='p'])))">
</xsl:with-param>
</xsl:call-template>
+ </span>
<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 test="marc:datafield[substring(@tag, 1, 1) = '6']">
<span class="results_summary subjects"><span class="label">Subject(s): </span>
<xsl:for-each select="marc:datafield[substring(@tag, 1, 1) = '6']">
+ <span property="keywords">
<a>
<xsl:choose>
<xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'">
</xsl:with-param>
</xsl:call-template>
</a>
+ </span>
<xsl:if test="marc:subfield[@code=9]">
<a class='authlink'>
<xsl:attribute name="href">/cgi-bin/koha/opac-authoritiesdetail.pl?authid=<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
<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>
+ <a property="url">
<xsl:choose>
<xsl:when test="$OPACTrackClicks='track'">
<xsl:attribute name="href">/cgi-bin/koha/tracklinks.pl?uri=<xsl:value-of select="marc:subfield[@code='u']"/>;biblionumber=<xsl:value-of select="$biblionumber"/></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
- <div class='contentblock'>
+ <div class='contentblock' property='description'>
<xsl:choose>
<xsl:when test="@ind2=0">
<xsl:call-template name="subfieldSelectSpan">
<span class="label">Separated from:</span>
</xsl:when>
</xsl:choose>
+ <xsl:text> </xsl:text>
<xsl:variable name="f780">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">a_t</xsl:with-param>
</a>
</xsl:when>
<xsl:otherwise>
- <a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=<xsl:value-of select="translate($f780, '()', '')"/></xsl:attribute>
+ <a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=ti,phr:<xsl:value-of select="translate($f780, '()', '')"/></xsl:attribute>
<xsl:value-of select="translate($f780, '()', '')"/>
</a>
</xsl:otherwise>
<xsl:when test="@ind2=8">
<span class="label">Changed back to:</span>
</xsl:when>
-
</xsl:choose>
+ <xsl:text> </xsl:text>
<xsl:variable name="f785">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">a_t</xsl:with-param>
</a>
</xsl:when>
<xsl:otherwise>
- <a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=<xsl:value-of select="translate($f785, '()', '')"/></xsl:attribute>
+ <a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=ti,phr:<xsl:value-of select="translate($f785, '()', '')"/></xsl:attribute>
<xsl:value-of select="translate($f785, '()', '')"/>
</a>
</xsl:otherwise>
</xsl:for-each>
</xsl:if>
+ </xsl:element>
</xsl:template>
<xsl:template name="showAuthor">
<a>
<xsl:choose>
<xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'">
- <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
+ <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=an:"<xsl:value-of select="marc:subfield[@code=9]"/>"</xsl:attribute>
</xsl:when>
<xsl:otherwise>
- <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=au:<xsl:value-of select="marc:subfield[@code='a']"/></xsl:attribute>
+ <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=au:"<xsl:value-of select="marc:subfield[@code='a']"/>"</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
- <xsl:when test="@tag=100 or @tag=700"><xsl:call-template name="nameABCDQ"/></xsl:when>
+ <xsl:when test="@tag=100 or @tag=700"><xsl:call-template name="nameABCQ"/></xsl:when>
<xsl:when test="@tag=110 or @tag=710"><xsl:call-template name="nameABCDN"/></xsl:when>
<xsl:when test="@tag=111 or @tag=711"><xsl:call-template name="nameACDEQ"/></xsl:when>
</xsl:choose>
<xsl:text>.</xsl:text>
</xsl:template>
- <xsl:template name="nameABCDQ">
+ <xsl:template name="nameABCQ">
<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:with-param name="codes">abcq</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: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:for-each select="marc:datafield[(@tag=100 or @tag=700) and @ind1!='z']">
<xsl:choose>
<xsl:when test="position()=last()">
- <xsl:call-template name="nameABCDQ"/>.
+ <xsl:call-template name="nameABCQ"/>.
</xsl:when>
<xsl:otherwise>
- <xsl:call-template name="nameABCDQ"/>;
+ <xsl:call-template name="nameABCQ"/>;
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</p>
<xsl:if test="marc:datafield[@tag=250]">
- <span class="results_summary">
+ <span class="results_summary edition">
<span class="label">Edition: </span>
<xsl:for-each select="marc:datafield[@tag=250]">
<xsl:call-template name="subfieldSelect">
<xsl:if test="marc:datafield[@tag=773]">
<xsl:for-each select="marc:datafield[@tag=773]">
<xsl:if test="marc:subfield[@code='t']">
- <span class="results_summary">
+ <span class="results_summary source">
<span class="label">Source: </span>
<xsl:value-of select="marc:subfield[@code='t']"/>
</span>
</xsl:if>
<xsl:if test="$DisplayOPACiconsXSLT!='0'">
- <span class="results_summary">
+ <span class="results_summary type">
<xsl:if test="$typeOf008!=''">
<span class="label">Type: </span>
<xsl:choose>
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">260</xsl:with-param>
<xsl:with-param name="codes">abcg</xsl:with-param>
- <xsl:with-param name="class">results_summary</xsl:with-param>
+ <xsl:with-param name="class">results_summary publisher</xsl:with-param>
<xsl:with-param name="label">Publisher: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:call-template name="m880Select">
<xsl:with-param name="basetags">246</xsl:with-param>
<xsl:with-param name="codes">ab</xsl:with-param>
- <xsl:with-param name="class">results_summary</xsl:with-param>
- <xsl:with-param name="label">Other Title: </xsl:with-param>
+ <xsl:with-param name="class">results_summary other_title</xsl:with-param>
+ <xsl:with-param name="label">Other title: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=246]">
- <span class="results_summary">
+ <span class="results_summary other_title">
<span class="label">Other title: </span>
<xsl:for-each select="marc:datafield[@tag=246]">
<xsl:call-template name="subfieldSelect">
</span>
</xsl:if>
<xsl:if test="marc:datafield[@tag=242]">
- <span class="results_summary">
+ <span class="results_summary translated_title">
<span class="label">Title translated: </span>
<xsl:for-each select="marc:datafield[@tag=242]">
<xsl:call-template name="subfieldSelect">
</span>
</xsl:if>
<xsl:if test="marc:datafield[@tag=856]">
- <span class="results_summary">
+ <span class="results_summary online_resources">
<span class="label">Online Access: </span>
<xsl:for-each select="marc:datafield[@tag=856]">
<xsl:variable name="SubqText"><xsl:value-of select="marc:subfield[@code='q']"/></xsl:variable>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="$available_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]">
- <xsl:value-of select="items:homebranch"/>
+ <xsl:value-of select="items:homebranch"/>
<xsl:if test="items:itemcallnumber != '' and items:itemcallnumber and $OPACItemLocation='callnum'"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if>
<xsl:text> (</xsl:text>
<xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/>
<b><xsl:text>Copies available for reference: </xsl:text></b>
<xsl:variable name="reference_items" select="key('item-by-status', 'reference')"/>
<xsl:for-each select="$reference_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]">
+ <xsl:if test="$singleBranchMode=0">
<xsl:value-of select="items:homebranch"/>
- <xsl:if test="items:itemcallnumber != '' and items:itemcallnumber"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if>
- <xsl:text> (</xsl:text>
- <xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/>
- <xsl:text> )</xsl: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:if>
+ <xsl:if test="items:itemcallnumber != '' and items:itemcallnumber"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if>
+ <xsl:text> (</xsl:text>
+ <xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/>
+ <xsl:text> )</xsl: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>
</span>
</xsl:when>
</xsl:choose>
</xsl:template>
- <xsl:template name="nameABCDQ">
+ <xsl:template name="nameABCQ">
<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:with-param name="codes">abcq</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: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="nameDate">
<xsl:for-each select="marc:subfield[@code='d']">
<xsl:call-template name="chopPunctuation">
</span>
<xsl:variable name="f773">
<xsl:call-template name="chopPunctuation"><xsl:with-param name="chopString"><xsl:call-template name="subfieldSelect">
- <xsl:with-param name="codes">at</xsl:with-param>
+ <xsl:with-param name="codes">a_t</xsl:with-param>
</xsl:call-template></xsl:with-param></xsl:call-template>
</xsl:variable>
<xsl:choose>
</span>
<xsl:variable name="f773">
<xsl:call-template name="chopPunctuation"><xsl:with-param name="chopString"><xsl:call-template name="subfieldSelect">
- <xsl:with-param name="codes">at</xsl:with-param>
+ <xsl:with-param name="codes">a_t</xsl:with-param>
</xsl:call-template></xsl:with-param></xsl:call-template>
</xsl:variable>
<xsl:choose>
<xsl:variable name="reference_items"
select="key('item-by-status', 'reference')"/>
<xsl:for-each select="$reference_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]">
- <xsl:value-of select="items:homebranch"/>
-
+ <xsl:if test="$singleBranchMode=0">
+ <xsl:value-of select="items:homebranch"/>
+ </xsl:if>
<xsl:if test="items:itemcallnumber != '' and items:itemcallnumber"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if>
<xsl:text> (</xsl:text>
<xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/>
<xsl:call-template name="tag_title">
<xsl:with-param name="tag">454</xsl:with-param>
<xsl:with-param name="label">Translation of</xsl:with-param>
+ <xsl:with-param name="spanclass">original_title</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="tag_title">
<xsl:with-param name="tag">461</xsl:with-param>
<xsl:with-param name="label">Set Level</xsl:with-param>
+ <xsl:with-param name="spanclass">set_level</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="tag_title">
<xsl:with-param name="tag">464</xsl:with-param>
<xsl:with-param name="label">Piece-Analytic Level</xsl:with-param>
+ <xsl:with-param name="spanclass">piece_analytic_level</xsl:with-param>
</xsl:call-template>
<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:call-template name="tag_title">
<xsl:with-param name="tag">500</xsl:with-param>
<xsl:with-param name="label">Uniform Title</xsl:with-param>
+ <xsl:with-param name="spanclass">uniform_title</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="tag_title">
<xsl:with-param name="tag">503</xsl:with-param>
<xsl:with-param name="label">Uniform Conventional Heading</xsl:with-param>
+ <xsl:with-param name="spanclass">uniform_conventional_heading</xsl:with-param>
</xsl:call-template>
<xsl:if test="marc:datafield[@tag=101]">
- <span class="results_summary">
- <span class="label">Language:</span>
+ <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:if>
<xsl:if test="marc:datafield[@tag=102]">
- <span class="results_summary">
+ <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:call-template name="tag_comma">
<xsl:with-param name="tag">205</xsl:with-param>
<xsl:with-param name="label">Edition Statement</xsl:with-param>
+ <xsl:with-param name="spanclass">edition</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="tag_210" />
<xsl:call-template name="tag_215" />
<xsl:if test="marc:datafield[@tag=010]/marc:subfield[@code='a']">
- <span class="results_summary"><span class="label">ISBN: </span>
+ <span class="results_summary isbn"><span class="label">ISBN: </span>
<xsl:for-each select="marc:datafield[@tag=010]">
<xsl:variable name="isbn" select="marc:subfield[@code='a']"/>
<xsl:value-of select="marc:subfield[@code='a']"/>
</xsl:if>
<xsl:if test="marc:datafield[@tag=011]">
- <span class="results_summary">
+ <span class="results_summary issn">
<span class="label">ISSN: </span>
<xsl:for-each select="marc:datafield[@tag=011]">
<xsl:value-of select="marc:subfield[@code='a']"/>
<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">
+ <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>
<xsl:if test="marc:datafield[@tag=686]">
- <span class="results_summary">
+ <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>
<xsl:if test="marc:datafield[@tag=327]">
- <span class="results_summary">
+ <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:if>
<xsl:if test="marc:datafield[@tag=330]">
- <span class="results_summary">
+ <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:if>
<xsl:if test="marc:datafield[@tag=317]">
- <span class="results_summary">
+ <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:if>
<xsl:if test="marc:datafield[@tag=320]">
- <span class="results_summary">
+ <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:if>
<xsl:if test="marc:datafield[@tag=328]">
- <span class="results_summary">
+ <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:if>
<xsl:if test="marc:datafield[@tag=333]">
- <span class="results_summary">
+ <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:if>
<xsl:if test="marc:datafield[@tag=955]">
- <span class="results_summary">
+ <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:call-template>
<xsl:if test="marc:datafield[@tag=856]">
- <span class="results_summary">
+ <span class="results_summary online_resources">
<span class="label">Online Resources:</span>
<xsl:for-each select="marc:datafield[@tag=856]">
<a>
<xsl:variable name="hidelostitems" select="marc:sysprefs/marc:syspref[@name='hidelostitems']"/>
<xsl:variable name="singleBranchMode" select="marc:sysprefs/marc:syspref[@name='singleBranchMode']"/>
+ <xsl:variable name="OPACURLOpenInNewWindow" select="marc:sysprefs/marc:syspref[@name='OPACURLOpenInNewWindow']"/>
<xsl:if test="marc:datafield[@tag=200]">
<xsl:for-each select="marc:datafield[@tag=200]">
<xsl:call-template name="tag_title">
<xsl:with-param name="tag">454</xsl:with-param>
<xsl:with-param name="label">Translation of</xsl:with-param>
+ <xsl:with-param name="spanclass">original_title</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="tag_title">
<xsl:with-param name="tag">461</xsl:with-param>
<xsl:with-param name="label">Set Level</xsl:with-param>
+ <xsl:with-param name="spanclass">set_level</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="tag_title">
<xsl:with-param name="tag">464</xsl:with-param>
<xsl:with-param name="label">Piece-Analytic Level</xsl:with-param>
+ <xsl:with-param name="spanclass">piece_analytic_level</xsl:with-param>
</xsl:call-template>
<xsl:call-template name="tag_210" />
<xsl:call-template name="tag_215" />
- <span class="results_summary">
+ <span class="results_summary availability">
<span class="label">Availability: </span>
<xsl:choose>
<xsl:when test="marc:datafield[@tag=856]">
<xsl:attribute name="href">
<xsl:value-of select="marc:subfield[@code='u']"/>
</xsl:attribute>
+ <xsl:if test="$OPACURLOpenInNewWindow='1'">
+ <xsl:attribute name="target">_blank</xsl:attribute>
+ </xsl:if>
<xsl:choose>
<xsl:when test="marc:subfield[@code='y' or @code='3' or @code='z']">
<xsl:call-template name="subfieldSelect">
<xsl:variable name="reference_items"
select="key('item-by-status', 'reference')"/>
<xsl:for-each select="$reference_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]">
- <xsl:value-of select="items:homebranch"/>
+ <xsl:if test="$singleBranchMode=0">
+ <xsl:value-of select="items:homebranch"/>
+ </xsl:if>
<xsl:if test="items:itemcallnumber != '' and items:itemcallnumber">[<xsl:value-of select="items:itemcallnumber"/>]</xsl:if>
<xsl:text> (</xsl:text>
<xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/>
<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">
+ <span class="results_summary {$spanclass}">
<span class="label">
<xsl:value-of select="$label"/>: </span>
<xsl:for-each select="marc:datafield[@tag=$tag]">
<xsl:template name="tag_comma">
<xsl:param name="tag" />
<xsl:param name="label" />
+ <xsl:param name="spanclass" />
<xsl:if test="marc:datafield[@tag=$tag]">
- <span class="results_summary">
+ <span class="results_summary {$spanclass}">
<span class="label">
<xsl:value-of select="$label"/>: </span>
<xsl:for-each select="marc:datafield[@tag=$tag]">
</xsl:template>
<xsl:template name="tag_210">
- <span class="results_summary">
- <span class="label">Publication:</span>
+ <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:template name="tag_215">
<xsl:for-each select="marc:datafield[@tag=215]">
- <span class="results_summary">
+ <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: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">
+ <span class="results_summary subjects {$spanclass}">
<span class="label">
<xsl:value-of select="$label"/>
<xsl:text>: </xsl:text>
<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">
+ <span class="results_summary author {$spanclass}">
<span class="label">
<xsl:value-of select="$label" />
<xsl:text>: </xsl:text>