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