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