Exempel på anpassningar av XSLT-stilmallarna som andra har funnit användbara

Från Svenska kohanätverkets wiki
Hoppa till navigering Hoppa till sök

Visa LIBRIS-ID på en posts detaljsida (001)

Koha version: 18.11.06

Av: Hanna Dehlin, Bibliotek och högskolepedagogik, Högskolan Kristianstad - hanna.dehlin@hkr.se

Följande läggs till i XSLT-stilmallen för en posts detaljsida (MARC21slim2intranetDetail.xsl) på den plats där man vill lägga till Libris-ID, vi valde att infoga det efter "Beskrivning". ID:t blir en länk till posten i Libris webbsök. 
OBS! För att anpassningen ska fungera krävs att Libris-ID:t finns i posterna i fält 001.

<xsl:if test="marc:controlfield[@tag=001]">
<span class="results_summary">
<span class="label">Libris-ID: </span>
<a>
  <xsl:attribute name="href">https://libris.kb.se/bib/<xsl:value-of select="marc:controlfield[@tag=001]"/></xsl:attribute>
  <xsl:attribute name="target">blank</xsl:attribute>
  <xsl:attribute name="id">LibrisID</xsl:attribute>
  <xsl:value-of select="marc:controlfield[@tag=001]" />
</a>
</span>
</xsl:if>

Visa LIBRIS-ID på en posts detaljsida (035$a)

Koha version: 18.11.04

Av: Andreas Hedström Mace & Per Åberg, Stockholms universitetsbibliotek

Det här är en variant av koden ovan, för de bibliotek som inte har LIBRIS-ID i fält 001 utan i 035$a. Eftersom 035 är upprepningsbart, och det kan finnas id:n där filtreras det på inledande "(LIBRIS)". Används istället SE-LIBR behöver det ändras till motsvarande.

<xsl:if test="marc:datafield[@tag=035 and marc:subfield[@code='a' and contains(., '(LIBRIS)')]]">
<xsl:variable name="libris035" select="marc:datafield[@tag=035 and marc:subfield[@code='a' and contains(., '(LIBRIS)')]]/marc:subfield[@code='a']"/>
<span class="results_summary libris">
<span class="label">Libris-ID: </span>
<xsl:value-of select="substring-after($libris035, '(LIBRIS)')" />
</span>
</xsl:if>