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