Merge remote-tracking branch 'kc/new/bug_5868' into kcmaster
[koha.git] / koha-tmpl / opac-tmpl / prog / en / xslt / NORMARCslim2OPACDetail.xsl
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- $Id: MARC21slim2DC.xsl,v 1.1 2003/01/06 08:20:27 adam Exp $ -->
3 <xsl:stylesheet version="1.0"
4   xmlns:marc="http://www.loc.gov/MARC21/slim"
5   xmlns:items="http://www.koha-community.org/items"
6   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
7   exclude-result-prefixes="marc items">
8     <xsl:import href="NORMARCslimUtils.xsl"/>
9     <xsl:output method = "xml" indent="yes" omit-xml-declaration = "yes" />
10     <xsl:template match="/">
11             <xsl:apply-templates/>
12     </xsl:template>
13
14     <xsl:template match="marc:record">
15
16         <xsl:variable name="leader" select="marc:leader"/>
17         <xsl:variable name="leader6" select="substring($leader,7,1)"/>
18         <xsl:variable name="leader7" select="substring($leader,8,1)"/>
19         <xsl:variable name="controlField008" select="marc:controlfield[@tag=008]"/>
20         <xsl:variable name="field019b" select="marc:datafield[@tag=019]/marc:subfield[@code='b']"/>
21         <xsl:variable name="materialTypeCode">
22             <xsl:choose>
23                 <xsl:when test="$field019b='b' or $field019b='k' or $field019b='l' or $leader6='b'">Mon</xsl:when>
24                 <xsl:when test="$field019b='e' or contains($field019b,'ec') or contains($field019b,'ed') or contains($field019b,'ee') or contains($field019b,'ef') or $leader6='g'">FV</xsl:when>
25                 <xsl:when test="$field019b='c' or $field019b='d' or contains($field019b,'da') or contains($field019b,'db') or contains($field019b,'dc') or contains($field019b,'dd') or contains($field019b,'dg') or contains($field019b,'dh') or contains($field019b,'di') or contains($field019b,'dj') or contains($field019b,'dk') or $leader6='c' or $leader6='d' or $leader6='i' or $leader6='j'">Mus</xsl:when>
26                 <xsl:when test="$field019b='a' or contains($field019b,'ab') or contains($field019b,'aj') or $leader6='e' or $leader6='f'">Kar</xsl:when>
27                 <xsl:when test="$field019b='f' or $field019b='i' or contains($field019b,'ib') or contains($field019b,'ic') or contains($field019b,'fd') or contains($field019b,'ff') or contains($field019b,'fi') or $leader6='k'">gra</xsl:when>
28                 <xsl:when test="$field019b='g' or contains($field019b,'gb') or contains($field019b,'gd') or contains($field019b,'ge') or $leader6='m'">Fil</xsl:when>
29                 <xsl:when test="$leader6='o'">kom</xsl:when>
30                 <xsl:when test="$field019b='h' or $leader6='r'">trd</xsl:when>
31                 <xsl:when test="$field019b='j' or $leader6='a'">
32                     <xsl:choose>
33                         <xsl:when test="$leader7='a' or $leader7='c' or $leader7='m' or $leader7='p'">Mon</xsl:when>
34                         <xsl:when test="$field019b='j' or $leader7='b' or $leader7='s'">Per</xsl:when>
35                     </xsl:choose>
36                 </xsl:when>
37             </xsl:choose>
38         </xsl:variable>
39         <xsl:variable name="materialTypeLabel">
40                         <xsl:choose>
41                 <xsl:when test="$field019b='b' or $field019b='k' or $field019b='l' or $leader6='b'">Bok</xsl:when>
42                 <xsl:when test="$field019b='e' or contains($field019b,'ec') or contains($field019b,'ed') or contains($field019b,'ee') or contains($field019b,'ef') or $leader6='g'">Film og video</xsl:when>
43                 <xsl:when test="$field019b='c' or $field019b='d' or contains($field019b,'da') or contains($field019b,'db') or contains($field019b,'dc') or contains($field019b,'dd') or contains($field019b,'dg') or contains($field019b,'dh') or contains($field019b,'di') or contains($field019b,'dj') or contains($field019b,'dk') or $leader6='c' or $leader6='d' or $leader6='i' or $leader6='j'">Musikalier</xsl:when>
44                 <xsl:when test="$field019b='a' or contains($field019b,'ab') or contains($field019b,'aj') or $leader6='e' or $leader6='f'">Kart</xsl:when>
45                 <xsl:when test="$field019b='f' or $field019b='i' or contains($field019b,'ib') or contains($field019b,'ic') or contains($field019b,'fd') or contains($field019b,'ff') or contains($field019b,'fi') or $leader6='k'">Grafisk materiale</xsl:when>
46                 <xsl:when test="$field019b='g' or contains($field019b,'gb') or contains($field019b,'gd') or contains($field019b,'ge') or $leader6='m'">Fil</xsl:when>
47                 <xsl:when test="$leader6='o'">Kombidokument</xsl:when>
48                 <xsl:when test="$field019b='h' or $leader6='r'">Tredimensjonal gjenstand</xsl:when>
49                 <xsl:when test="$field019b='j' or $leader6='a'">
50                     <xsl:choose>
51                         <xsl:when test="$leader7='a' or $leader7='c' or $leader7='m' or $leader7='p'">Bok</xsl:when>
52                         <xsl:when test="$field019b='j' or $leader7='b' or $leader7='s'">Periodikum</xsl:when>
53                     </xsl:choose>
54                 </xsl:when>
55             </xsl:choose>
56
57         </xsl:variable>
58
59         <!-- Tittel og ansvarsopplysninger -->
60         <xsl:if test="marc:datafield[@tag=245]">
61         <h1>
62             <xsl:for-each select="marc:datafield[@tag=245]">
63                     <xsl:call-template name="subfieldSelect">
64                         <xsl:with-param name="codes">a</xsl:with-param>
65                     </xsl:call-template>
66                     <xsl:if test="marc:subfield[@code='b']">
67                         <xsl:text> : </xsl:text>
68                         <xsl:call-template name="subfieldSelect">
69                             <xsl:with-param name="codes">b</xsl:with-param>
70                         </xsl:call-template>
71                     </xsl:if>
72                     <xsl:if test="marc:subfield[@code='h']">
73                         <xsl:text> </xsl:text>
74                         (<xsl:call-template name="subfieldSelect">
75                             <xsl:with-param name="codes">h</xsl:with-param>
76                         </xsl:call-template>) 
77                     </xsl:if>
78                     <xsl:text> </xsl:text>
79                     <xsl:call-template name="subfieldSelect">
80                         <xsl:with-param name="codes">np</xsl:with-param>
81                     </xsl:call-template>
82             </xsl:for-each>
83         </h1>
84         </xsl:if>
85
86         <!-- Author Statement -->
87                 <!-- 245$9 is Koha authority number --> 
88         <xsl:choose>
89         <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]">
90         <h5 class="author">av
91         <xsl:for-each select="marc:datafield[@tag=100 or @tag=700]">
92         <a>
93         <xsl:choose>
94             <xsl:when test="marc:subfield[@code=9]">
95                 <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
96             </xsl:when>
97             <xsl:otherwise>
98             <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=au:<xsl:value-of select="marc:subfield[@code='a']"/></xsl:attribute>
99             </xsl:otherwise>
100         </xsl:choose>
101         <xsl:call-template name="nameABCDQ"/></a>
102         <xsl:choose>
103         <xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
104         </xsl:for-each>
105
106         <xsl:for-each select="marc:datafield[@tag=110 or @tag=710]">
107         <a>
108         <xsl:choose>
109             <xsl:when test="marc:subfield[@code=9]">
110                 <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
111             </xsl:when>
112             <xsl:otherwise>
113             <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=au:<xsl:value-of select="marc:subfield[@code='a']"/></xsl:attribute>      
114             </xsl:otherwise>
115         </xsl:choose>
116         <xsl:call-template name="nameABCDN"/></a>
117         <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
118         </xsl:for-each>
119
120         <xsl:for-each select="marc:datafield[@tag=111 or @tag=711]">
121         <a>
122         <xsl:choose>
123             <xsl:when test="marc:subfield[@code=9]">
124                 <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
125             </xsl:when>
126             <xsl:otherwise>
127             <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=au:<xsl:value-of select="marc:subfield[@code='a']"/></xsl:attribute>
128             </xsl:otherwise>
129         </xsl:choose>
130         <xsl:call-template name="nameACDEQ"/></a>
131         <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
132
133         </xsl:for-each>
134         </h5>
135         </xsl:when>
136         </xsl:choose>
137         <div id="views">
138         <span class="view"><span id="Normalview">Normal visning</span> </span>
139         <span class="view"><a id="MARCviewPop" href="/cgi-bin/koha/opac-showmarc.pl?id={marc:datafield[@tag=999]/marc:subfield[@code='c']}" title="MARC" rel="gb_page_center[600,500]">MARC-visning</a></span>
140         <span class="view"><a id="MARCview" href="/cgi-bin/koha/opac-MARCdetail.pl?biblionumber={marc:datafield[@tag=999]/marc:subfield[@code='c']}" title="MARC">Utvidet MARC-visning</a></span>
141         <span class="view"><a id="ISBDview" href="/cgi-bin/koha/opac-ISBDdetail.pl?biblionumber={marc:datafield[@tag=999]/marc:subfield[@code='c']}">Kortvisning (ISBD)</a></span>
142         </div> 
143
144
145         <xsl:if test="$materialTypeCode!=''">
146         <span class="results_summary"><span class="label">Materialtype: </span>
147         <xsl:element name="img"><xsl:attribute name="src">/opac-tmpl/prog/famfamfam/<xsl:value-of select="$materialTypeCode"/>.png</xsl:attribute><xsl:attribute name="alt"></xsl:attribute></xsl:element>
148         <xsl:value-of select="$materialTypeLabel"/>
149         </span>
150         </xsl:if>
151
152         <!--Series -->
153         <xsl:if test="marc:datafield[@tag=440 or @tag=490]">
154                 <span class="results_summary"><span class="label">Series: </span>
155                 <xsl:for-each select="marc:datafield[@tag=440]">
156                      <a href="/cgi-bin/koha/opac-search.pl?q=se:{marc:subfield[@code='a']}">
157                     <xsl:call-template name="chopPunctuation">
158                                     <xsl:with-param name="chopString">
159                                         <xsl:call-template name="subfieldSelect">
160                                             <xsl:with-param name="codes">av</xsl:with-param>
161                                         </xsl:call-template>
162                                     </xsl:with-param>
163                                 </xsl:call-template>
164                                 </a>
165                             <xsl:text> </xsl:text><xsl:call-template name="part"/>
166                     <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
167                 </xsl:for-each>
168         
169                 <xsl:for-each select="marc:datafield[@tag=490][@ind1=0]">
170                      <a href="/cgi-bin/koha/opac-search.pl?q=se:{marc:subfield[@code='a']}">
171                                 <xsl:call-template name="chopPunctuation">
172                                     <xsl:with-param name="chopString">
173                                         <xsl:call-template name="subfieldSelect">
174                                             <xsl:with-param name="codes">av</xsl:with-param>
175                                         </xsl:call-template>
176                                     </xsl:with-param>
177                                 </xsl:call-template>
178                     </a>
179                             <xsl:call-template name="part"/>
180                 <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
181                 </xsl:for-each>
182                 </span>
183         </xsl:if>
184
185         <!-- Publisher Statement -->
186         
187         <xsl:if test="marc:datafield[@tag=260]">
188         <span class="results_summary"><span class="label">Utgiver: </span>
189             <xsl:for-each select="marc:datafield[@tag=260]">
190                 <xsl:call-template name="chopPunctuation">
191                   <xsl:with-param name="chopString">
192                     <xsl:call-template name="subfieldSelect">
193                         <xsl:with-param name="codes">bcg</xsl:with-param>
194                     </xsl:call-template>
195                    </xsl:with-param>
196                </xsl:call-template>
197                     <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
198             </xsl:for-each>
199         </span> 
200         </xsl:if>
201
202         <!-- Edition Statement -->
203         
204         <xsl:if test="marc:datafield[@tag=250]">
205         <span class="results_summary"><span class="label">Utgave: </span>
206             <xsl:for-each select="marc:datafield[@tag=250]">
207                 <xsl:call-template name="chopPunctuation">
208                   <xsl:with-param name="chopString">
209                     <xsl:call-template name="subfieldSelect">
210                         <xsl:with-param name="codes">ab</xsl:with-param>
211                     </xsl:call-template>
212                    </xsl:with-param>
213                </xsl:call-template>
214                     <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
215             </xsl:for-each>
216         </span>
217         </xsl:if>
218
219         <!-- Description -->
220         
221         <xsl:if test="marc:datafield[@tag=300]">
222         <span class="results_summary"><span class="label">Beskrivelse: </span>
223             <xsl:for-each select="marc:datafield[@tag=300]">
224                 <xsl:call-template name="chopPunctuation">
225                   <xsl:with-param name="chopString">
226                     <xsl:call-template name="subfieldSelect">
227                         <xsl:with-param name="codes">abceg</xsl:with-param>
228                     </xsl:call-template>
229                    </xsl:with-param>
230                </xsl:call-template>
231                     <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
232             </xsl:for-each>
233         </span>
234        </xsl:if>
235
236        <abbr class="unapi-id" title="koha:biblionumber:{marc:datafield[@tag=999]/marc:subfield[@code='c']}" ><!-- unAPI --></abbr>
237
238        <xsl:if test="marc:datafield[@tag=020]">
239         <span class="results_summary"><span class="label">ISBN: </span>
240         <xsl:for-each select="marc:datafield[@tag=020]">
241         <xsl:variable name="isbn" select="marc:subfield[@code='a']"/>
242                 <xsl:value-of select="marc:subfield[@code='a']"/>
243                 <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
244         </xsl:for-each>
245         </span>
246         </xsl:if>
247
248         <xsl:if test="marc:datafield[@tag=022]">
249         <span class="results_summary"><span class="label">ISSN: </span>
250         <xsl:for-each select="marc:datafield[@tag=022]">
251                 <xsl:value-of select="marc:subfield[@code='a']"/>
252                 <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
253         </xsl:for-each>
254         </span>
255         </xsl:if>
256
257         <!-- Other Title  Statement -->
258
259         <xsl:if test="marc:datafield[@tag=246]">
260         <span class="results_summary"><span class="label">Parallelltittel: </span>
261             <xsl:for-each select="marc:datafield[@tag=246]">
262                 <xsl:call-template name="chopPunctuation">
263                   <xsl:with-param name="chopString">
264                     <xsl:call-template name="subfieldSelect">
265                         <xsl:with-param name="codes">abhfgnp</xsl:with-param>
266                     </xsl:call-template>
267                    </xsl:with-param>
268                </xsl:call-template>
269                     <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
270             </xsl:for-each>
271         </span>
272        </xsl:if>
273
274         <!-- Uniform Title  Statement -->
275
276         <xsl:if test="marc:datafield[@tag=130]|marc:datafield[@tag=240]|marc:datafield[@tag=730][@ind2!=2]">
277         <span class="results_summary"><span class="label">Standardtittel: </span>
278         <xsl:for-each select="marc:datafield[@tag=130]|marc:datafield[@tag=240]|marc:datafield[@tag=730][@ind2!=2]">
279             <xsl:variable name="str">
280                 <xsl:for-each select="marc:subfield">
281                     <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'])))">
282                         <xsl:value-of select="text()"/>
283                         <xsl:text> </xsl:text>
284                      </xsl:if>
285                 </xsl:for-each>
286             </xsl:variable>
287             <xsl:call-template name="chopPunctuation">
288                 <xsl:with-param name="chopString">
289                     <xsl:value-of select="substring($str,1,string-length($str)-1)"/>
290                         
291                 </xsl:with-param>
292             </xsl:call-template>
293             <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
294         </xsl:for-each>
295         </span>
296         </xsl:if>
297
298         <xsl:if test="marc:datafield[substring(@tag, 1, 1) = '6']">
299             <span class="results_summary"><span class="label">Emner: </span>
300             <xsl:for-each select="marc:datafield[substring(@tag, 1, 1) = '6']">
301             <a>
302             <xsl:choose>
303             <xsl:when test="marc:subfield[@code=9]">
304                 <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
305             </xsl:when>
306             <xsl:otherwise>
307                 <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=su:<xsl:value-of select="marc:subfield[@code='a']"/></xsl:attribute>
308             </xsl:otherwise>
309             </xsl:choose>
310             <xsl:call-template name="chopPunctuation">
311                 <xsl:with-param name="chopString">
312                     <xsl:call-template name="subfieldSelect">
313                         <xsl:with-param name="codes">abcdvxyz</xsl:with-param>
314                         <xsl:with-param name="subdivCodes">vxyz</xsl:with-param>
315                         <xsl:with-param name="subdivDelimiter">-- </xsl:with-param>
316                     </xsl:call-template>
317                 </xsl:with-param>
318             </xsl:call-template></a>
319             <xsl:choose>
320             <xsl:when test="position()=last()"></xsl:when>
321             <xsl:otherwise> | </xsl:otherwise>
322             </xsl:choose>
323
324             </xsl:for-each>
325             </span>
326         </xsl:if>
327
328         <xsl:if test="marc:datafield[@tag=856]">
329         <span class="results_summary"><span class="label">Nettbasert ressurs: </span>
330         <xsl:for-each select="marc:datafield[@tag=856]">
331             <a><xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute>
332         <xsl:choose>
333             <xsl:when test="marc:subfield[@code='y' or @code='3' or @code='z']">
334                     <xsl:call-template name="subfieldSelect">
335                         <xsl:with-param name="codes">y3z</xsl:with-param>
336                     </xsl:call-template>
337             </xsl:when>
338         <xsl:when test="not(marc:subfield[@code='y']) and not(marc:subfield[@code='3']) and not(marc:subfield[@code='z'])">
339         Klikk her for tilgang
340         </xsl:when>
341         </xsl:choose>
342         </a>
343             <xsl:choose>
344             <xsl:when test="position()=last()"></xsl:when>
345             <xsl:otherwise> | </xsl:otherwise>
346             </xsl:choose>  
347         </xsl:for-each>
348         </span>
349         </xsl:if>
350         
351         <!-- NORMARC does not define indicators for 505
352         <xsl:if test="marc:datafield[@tag=505]">
353         <xsl:for-each select="marc:datafield[@tag=505]">
354         <span class="results_summary"><span class="label">
355         <xsl:choose>
356         <xsl:when test="@ind1=0">
357             Contents:
358         </xsl:when>
359         <xsl:when test="@ind1=1">
360             Incomplete contents:
361         </xsl:when>
362         <xsl:when test="@ind1=1">
363             Partial contents:
364         </xsl:when>
365         </xsl:choose>  
366         </span>
367         <xsl:choose>
368         <xsl:when test="@ind2=0">
369             <xsl:for-each select="marc:subfield[@code='t']">
370                 <xsl:value-of select="marc:subfield[@code=t]"/> <xsl:value-of select="marc:subfield[@code=r]"/>
371             </xsl:for-each> 
372         </xsl:when>
373         <xsl:otherwise>
374             <xsl:call-template name="subfieldSelect">
375                 <xsl:with-param name="codes">au</xsl:with-param>
376             </xsl:call-template>
377         </xsl:otherwise>
378         </xsl:choose>
379         </span>
380         </xsl:for-each>
381         </xsl:if>
382         -->
383         <xsl:if test="marc:datafield[@tag=505]">
384                 <xsl:call-template name="subfieldSelect">
385                 <xsl:with-param name="codes">a</xsl:with-param>
386             </xsl:call-template>
387                 </xsl:if>
388                 
389         <!-- 780 -->
390         <xsl:if test="marc:datafield[@tag=780]">
391         <xsl:for-each select="marc:datafield[@tag=780]">
392         <span class="results_summary"><span class="label">
393         <xsl:choose>
394                 <xsl:when test="@ind2=0">
395                     Fortsettelse av:
396                 </xsl:when>
397                 <xsl:when test="@ind2=1">
398                     Delvis fortsettelse av:
399                 </xsl:when>
400                 <xsl:when test="@ind2=2">
401                     Avløser:
402                 </xsl:when>
403                 <xsl:when test="@ind2=3">
404                     Avløser delvis:
405                 </xsl:when>
406                 <xsl:when test="@ind2=4">
407                     Sammenslåing av: ... ; og ...
408                 </xsl:when>
409                 <xsl:when test="@ind2=5">
410                     Har tatt opp:
411                 </xsl:when>
412                 <xsl:when test="@ind2=6">
413                     Har delvis tatt opp:
414                 </xsl:when>
415                 <xsl:when test="@ind2=7">
416                     Utskilt fra:
417                 </xsl:when>
418         </xsl:choose>
419         </span>
420                 <xsl:variable name="f780">
421                     <xsl:call-template name="subfieldSelect">
422                         <xsl:with-param name="codes">at</xsl:with-param>
423                     </xsl:call-template>
424                 </xsl:variable>
425              <a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=<xsl:value-of select="translate($f780, '()', '')"/></xsl:attribute>
426                 <xsl:value-of select="translate($f780, '()', '')"/>
427             </a>
428         </span>
429  
430         <xsl:choose>
431         <xsl:when test="@ind1=0">
432             <span class="results_summary"><xsl:value-of select="marc:subfield[@code='n']"/></span>
433         </xsl:when>
434         </xsl:choose>
435
436         </xsl:for-each>
437         </xsl:if>
438
439         <!-- 785 -->
440         <xsl:if test="marc:datafield[@tag=785]">
441         <xsl:for-each select="marc:datafield[@tag=785]">
442         <span class="results_summary"><span class="label">
443         <xsl:choose>
444                 <xsl:when test="@ind2=0">
445                     Fortsettelse i:
446                 </xsl:when>
447                 <xsl:when test="@ind2=1">
448                     Fortsettes delvis i:
449                 </xsl:when>
450                 <xsl:when test="@ind2=2">
451                     Avløst av:
452                 </xsl:when>
453                 <xsl:when test="@ind2=3">
454                     Delvsi avløst av:
455                 </xsl:when>
456                 <xsl:when test="@ind2=4">
457                     Gått inn i:
458                 </xsl:when>
459                 <xsl:when test="@ind2=5">
460                     Delvis gått inn i:
461                 </xsl:when>
462                 <xsl:when test="@ind2=6">
463                     Fortsettes av: ...; og ...
464                 </xsl:when>
465                 <xsl:when test="@ind2=7">
466                         Slått sammen med: .., til: ...
467                 </xsl:when>
468         </xsl:choose>
469         </span>
470                    <xsl:variable name="f785">
471                     <xsl:call-template name="subfieldSelect">
472                         <xsl:with-param name="codes">at</xsl:with-param>
473                     </xsl:call-template>
474                 </xsl:variable>
475
476                 <a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=<xsl:value-of select="translate($f785, '()', '')"/></xsl:attribute>
477                 <xsl:value-of select="translate($f785, '()', '')"/>
478             </a>
479
480         </span>
481         </xsl:for-each>
482         </xsl:if>
483
484     </xsl:template>
485
486     <xsl:template name="part">
487         <xsl:variable name="partNumber">
488             <xsl:call-template name="specialSubfieldSelect">
489                 <xsl:with-param name="axis">n</xsl:with-param>
490                 <xsl:with-param name="anyCodes">n</xsl:with-param>
491                 <xsl:with-param name="afterCodes">fghkdlmor</xsl:with-param>
492             </xsl:call-template>
493         </xsl:variable>
494         <xsl:variable name="partName">
495             <xsl:call-template name="specialSubfieldSelect">
496                 <xsl:with-param name="axis">p</xsl:with-param>
497                 <xsl:with-param name="anyCodes">p</xsl:with-param>
498                 <xsl:with-param name="afterCodes">fghkdlmor</xsl:with-param>
499             </xsl:call-template>
500         </xsl:variable>
501         <xsl:if test="string-length(normalize-space($partNumber))">
502                 <xsl:call-template name="chopPunctuation">
503                     <xsl:with-param name="chopString" select="$partNumber"/>
504                 </xsl:call-template>
505         </xsl:if>
506         <xsl:if test="string-length(normalize-space($partName))">
507                 <xsl:call-template name="chopPunctuation">
508                     <xsl:with-param name="chopString" select="$partName"/>
509                 </xsl:call-template>
510         </xsl:if>
511     </xsl:template>
512
513     <xsl:template name="specialSubfieldSelect">
514         <xsl:param name="anyCodes"/>
515         <xsl:param name="axis"/>
516         <xsl:param name="beforeCodes"/>
517         <xsl:param name="afterCodes"/>
518         <xsl:variable name="str">
519             <xsl:for-each select="marc:subfield">
520                 <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])">
521                     <xsl:value-of select="text()"/>
522                     <xsl:text> </xsl:text>
523                 </xsl:if>
524             </xsl:for-each>
525         </xsl:variable>
526         <xsl:value-of select="substring($str,1,string-length($str)-1)"/>
527     </xsl:template>
528 </xsl:stylesheet>