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