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