Bug 8793 - Fix materialTypeCode/typeOf008 icons for NORMARC XSLT
[koha.git] / koha-tmpl / opac-tmpl / prog / en / xslt / NORMARCslim2OPACResults.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 = "html" indent="yes" omit-xml-declaration = "yes" />
13     <xsl:key name="item-by-status" match="items:item" use="items:status"/>
14     <xsl:key name="item-by-status-and-branch" match="items:item" use="concat(items:status, ' ', items:homebranch)"/>
15
16     <xsl:template match="/">
17             <xsl:apply-templates/>
18     </xsl:template>
19     <xsl:template match="marc:record">
20
21     <xsl:variable name="DisplayOPACiconsXSLT" select="marc:sysprefs/marc:syspref[@name='DisplayOPACiconsXSLT']"/>
22     <xsl:variable name="singleBranchMode" select="marc:sysprefs/marc:syspref[@name='singleBranchMode']"/>
23
24         <xsl:variable name="leader" select="marc:leader"/>
25         <xsl:variable name="leader6" select="substring($leader,7,1)"/>
26         <xsl:variable name="leader7" select="substring($leader,8,1)"/>
27         <xsl:variable name="biblionumber" select="marc:datafield[@tag=999]/marc:subfield[@code='c']"/>
28         <xsl:variable name="isbn" select="marc:datafield[@tag=020]/marc:subfield[@code='a']"/>
29         <xsl:variable name="controlField007" select="marc:controlfield[@tag=007]"/>
30         <xsl:variable name="controlField007-00" select="substring($controlField007,1,1)"/>
31         <xsl:variable name="controlField007-01" select="substring($controlField007,2,1)"/>
32         <xsl:variable name="controlField008" select="marc:controlfield[@tag=008]"/>
33         <xsl:variable name="field019b" select="marc:datafield[@tag=019]/marc:subfield[@code='b']"/>
34         <xsl:variable name="typeOf008">
35             <!-- The logic here should be exactly the same for NORMARCslim2intranetDetail.xsl, NORMARCslim2intranetResults.xsl, NORMARCslim2OPACDetail.xsl and NORMARCslim2OPACResults.xsl -->
36             <xsl:choose>
37                 <xsl:when test="$field019b='b' or $field019b='k' or $field019b='l' or $leader6='b'">Mon</xsl:when>
38                 <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>
39                 <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>
40                 <xsl:when test="$field019b='a' or contains($field019b,'ab') or contains($field019b,'aj') or $leader6='e' or $leader6='f'">Kar</xsl:when>
41                 <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>
42                 <xsl:when test="$field019b='g' or contains($field019b,'gb') or contains($field019b,'gd') or contains($field019b,'ge') or $leader6='m'">Fil</xsl:when>
43                 <xsl:when test="$leader6='o'">kom</xsl:when>
44                 <xsl:when test="$field019b='h' or $leader6='r'">trd</xsl:when>
45                 <xsl:when test="$field019b='j' or $leader6='a'">
46                     <xsl:choose>
47                         <xsl:when test="$leader7='a' or $leader7='c' or $leader7='m' or $leader7='p'">Mon</xsl:when>
48                         <xsl:when test="$field019b='j' or $leader7='b' or $leader7='s'">Per</xsl:when>
49                     </xsl:choose>
50                 </xsl:when>
51             </xsl:choose>
52         </xsl:variable>
53         <xsl:variable name="controlField008-23" select="substring($controlField008,24,1)"/>
54         <xsl:variable name="controlField008-21" select="substring($controlField008,22,1)"/>
55         <xsl:variable name="controlField008-22" select="substring($controlField008,23,1)"/>
56         <xsl:variable name="controlField008-24" select="substring($controlField008,25,4)"/>
57         <xsl:variable name="controlField008-26" select="substring($controlField008,27,1)"/>
58         <xsl:variable name="controlField008-29" select="substring($controlField008,30,1)"/>
59         <xsl:variable name="controlField008-34" select="substring($controlField008,35,1)"/>
60         <xsl:variable name="controlField008-33" select="substring($controlField008,34,1)"/>
61         <xsl:variable name="controlField008-30-31" select="substring($controlField008,31,2)"/>
62
63         <xsl:variable name="physicalDescription">
64         
65         <!-- Why are these treated specially? 
66         
67             <xsl:if test="$typeOf008='CF' and marc:controlfield[@tag=007][substring(.,12,1)='a']">
68                 reformatted digital
69             </xsl:if>
70             <xsl:if test="$typeOf008='CF' and marc:controlfield[@tag=007][substring(.,12,1)='b']">
71                 digitized microfilm
72             </xsl:if>
73             <xsl:if test="$typeOf008='CF' and marc:controlfield[@tag=007][substring(.,12,1)='d']">
74                 digitized other analog
75             </xsl:if>
76
77             <xsl:variable name="check008-23">
78                 <xsl:if test="$typeOf008='BK' or $typeOf008='MU' or $typeOf008='CR' or $typeOf008='MX'">
79                     <xsl:value-of select="true()"></xsl:value-of>
80                 </xsl:if>
81             </xsl:variable>
82             <xsl:variable name="check008-29">
83                 <xsl:if test="$typeOf008='MP' or $typeOf008='VM'">
84                     <xsl:value-of select="true()"></xsl:value-of>
85                 </xsl:if>
86             </xsl:variable>
87             
88             <xsl:choose>
89                 <xsl:when test="($check008-23 and $controlField008-23='f') or ($check008-29 and $controlField008-29='f')">
90                     braille
91                 </xsl:when>
92                 <xsl:when test="($controlField008-23=' ' and ($leader6='c' or $leader6='d')) or (($typeOf008='BK' or $typeOf008='CR') and ($controlField008-23=' ' or $controlField008='r'))">
93                     print
94                 </xsl:when>
95                 <xsl:when test="$leader6 = 'm' or ($check008-23 and $controlField008-23='s') or ($check008-29 and $controlField008-29='s')">
96                     electronic
97                 </xsl:when>
98                 <xsl:when test="($check008-23 and $controlField008-23='b') or ($check008-29 and $controlField008-29='b')">
99                     microfiche
100                 </xsl:when>
101                 <xsl:when test="($check008-23 and $controlField008-23='a') or ($check008-29 and $controlField008-29='a')">
102                     microfilm
103                 </xsl:when>
104             </xsl:choose>
105             
106             -->
107             
108             <!-- 019$b from BSMARC -->
109             
110             <xsl:if test="$field019b">
111                                 <xsl:if test="$field019b='a'"> Kartografisk materiale</xsl:if>
112                                 <xsl:if test="contains($field019b,'ab')"> Atlas</xsl:if>
113                                 <xsl:if test="contains($field019b,'aj')"> Kart</xsl:if>
114                                 <xsl:if test="$field019b='b'"> Manuskripter</xsl:if>
115                                 <xsl:if test="$field019b='c'"> Musikktrykk</xsl:if>
116                                 <xsl:if test="$field019b='d'"> Lydopptak</xsl:if>
117                                 <xsl:if test="contains($field019b,'da')"> Grammofonplate</xsl:if>
118                                 <xsl:if test="contains($field019b,'db')"> Kassett</xsl:if>
119                                 <xsl:if test="contains($field019b,'dc')"> Kompaktplate</xsl:if>
120                                 <xsl:if test="contains($field019b,'dd')"> Avspiller med lydfil (eks. Digibøker)</xsl:if>
121                                 <xsl:if test="contains($field019b,'dg')"> Musikk</xsl:if>
122                                 <xsl:if test="contains($field019b,'dh')"> Språkkurs</xsl:if>
123                                 <xsl:if test="contains($field019b,'di')"> Lydbok</xsl:if>
124                                 <xsl:if test="contains($field019b,'dj')"> Annen tale/annet</xsl:if>
125                                 <xsl:if test="contains($field019b,'dk')"> Kombidokument</xsl:if>
126                                 <xsl:if test="$field019b='e'"> Film og video</xsl:if>
127                                 <xsl:if test="contains($field019b,'ec')"> Filmspole</xsl:if>
128                                 <xsl:if test="contains($field019b,'ed')"> Videokassett (VHS)</xsl:if>
129                                 <xsl:if test="contains($field019b,'ee')"> Videoplate (DVD)</xsl:if>
130                                 <xsl:if test="contains($field019b,'ef')"> Blu-ray-plate</xsl:if>
131                                 <xsl:if test="$field019b='f'"> Grafisk materiale</xsl:if>
132                                 <xsl:if test="contains($field019b,'fd')"> Dias</xsl:if>
133                                 <xsl:if test="contains($field019b,'ff')"> Fotografi</xsl:if>
134                                 <xsl:if test="contains($field019b,'fi')"> Kunstreproduksjon</xsl:if>
135                                 <xsl:if test="$field019b='g'"> Elektroniske ressurser</xsl:if>
136                                 <xsl:if test="contains($field019b,'gb')"> Diskett</xsl:if>
137                                 <xsl:if test="contains($field019b,'gd')"> Optiske lagringsmedia (CD-ROM)</xsl:if>
138                                 <xsl:if test="contains($field019b,'ge')"> Nettressurser</xsl:if>
139                                 <xsl:if test="$field019b='h'"> Tredimensjonale gjenstander</xsl:if>
140                                 <xsl:if test="$field019b='i'"> Mikroformer</xsl:if>
141                                 <xsl:if test="contains($field019b,'ib')"> Mikrofilmspole</xsl:if>
142                                 <xsl:if test="contains($field019b,'ic')"> Mikrofilmkort</xsl:if>
143                                 <xsl:if test="$field019b='j'"> Periodika</xsl:if>
144                                 <xsl:if test="$field019b='k'"> Artikler (i bøker eller periodika)</xsl:if>
145                                 <xsl:if test="$field019b='l'"> Fysiske bøker</xsl:if>
146             </xsl:if>
147             
148             <!-- Check positions 00 and 01 of controlfield 007 -->
149
150             <xsl:if test="$controlField007-00='a'">
151                 <!-- Kartografisk materiale (unntatt globus) -->
152                                 <xsl:if test="$controlField007-01='a'">Anamorfisk kart</xsl:if>
153                                 <xsl:if test="$controlField007-01='b'">Atlas</xsl:if>
154                                 <xsl:if test="$controlField007-01='c'">Fantasikart</xsl:if>
155                                 <xsl:if test="$controlField007-01='d'">Flykart</xsl:if>
156                                 <xsl:if test="$controlField007-01='e'">Sjøkart</xsl:if>
157                                 <xsl:if test="$controlField007-01='f'">Navigasjonskart</xsl:if>
158                                 <xsl:if test="$controlField007-01='g'">Blokkdiagram</xsl:if>
159                                 <xsl:if test="$controlField007-01='h'">Stjernekart</xsl:if>
160                                 <xsl:if test="$controlField007-01='j'">Kart</xsl:if>
161                                 <xsl:if test="$controlField007-01='k'">Kartprofil</xsl:if>
162                                 <xsl:if test="$controlField007-01='l'">Fotokart</xsl:if>
163                                 <xsl:if test="$controlField007-01='m'">Fotomosaikk</xsl:if>
164                                 <xsl:if test="$controlField007-01='n'">Ortofoto</xsl:if>
165                                 <xsl:if test="$controlField007-01='o'">Tegnet kart</xsl:if>
166                                 <xsl:if test="$controlField007-01='p'">Trykt kart</xsl:if>
167                                 <xsl:if test="$controlField007-01='q'">Terrengmodell</xsl:if>
168                                 <xsl:if test="$controlField007-01='r'">Fjernanalysebilde</xsl:if>
169                                 <xsl:if test="$controlField007-01='s'">Kartseksjon</xsl:if>
170                                 <xsl:if test="$controlField007-01='t'">Plan</xsl:if>
171                                 <xsl:if test="$controlField007-01='y'">Perspektivkart</xsl:if>
172                                 <xsl:if test="$controlField007-01='z'">Annen karttype</xsl:if>
173             </xsl:if>
174
175             <xsl:if test="$controlField007-00='c'">
176                 <!-- Maskinlesbar fil -->
177                                 <xsl:if test="$controlField007-01='a'">Magnetisk-optisk plate</xsl:if>
178                                 <xsl:if test="$controlField007-01='b'">Lagringsbrikke</xsl:if>
179                                 <xsl:if test="$controlField007-01='c'">Optisk kassett</xsl:if>
180                                 <xsl:if test="$controlField007-01='d'">Diskett</xsl:if>
181                                 <xsl:if test="$controlField007-01='h'">Platelager (harddisk)</xsl:if>
182                                 <xsl:if test="$controlField007-01='k'">Magnetbåndkassett</xsl:if>
183                                 <xsl:if test="$controlField007-01='m'">Magnetbåndspole</xsl:if>
184                                 <xsl:if test="$controlField007-01='n'">Fjerntilgang (online)</xsl:if>
185                                 <xsl:if test="$controlField007-01='o'">Optisk plate</xsl:if>
186                                 <xsl:if test="$controlField007-01='z'">Annet lagringsmedium</xsl:if>
187             </xsl:if>
188
189             <xsl:if test="$controlField007-00='d'">
190                 <!-- Globus -->
191                                 <xsl:if test="$controlField007-01='a'">Stjerneglobus</xsl:if>
192                                 <xsl:if test="$controlField007-01='b'">Planet- eller måneglobus</xsl:if>
193                                 <xsl:if test="$controlField007-01='c'">Jordglobus</xsl:if>
194                                 <xsl:if test="$controlField007-01='z'">Annen globustype</xsl:if>
195             </xsl:if>
196
197             <xsl:if test="$controlField007-00='g'">
198                 <!-- Grafisk materiale som er tenkt projisert eller gjennomlyst -->
199                                 <xsl:if test="$controlField007-01='h'">Hologram</xsl:if>
200                                 <xsl:if test="$controlField007-01='o'">Billedbånd</xsl:if>
201                                 <xsl:if test="$controlField007-01='p'">Stereobilde</xsl:if>
202                                 <xsl:if test="$controlField007-01='r'">Røntgenbilde</xsl:if>
203                                 <xsl:if test="$controlField007-01='s'">Dia</xsl:if>
204                                 <xsl:if test="$controlField007-01='t'">Transparent</xsl:if>
205                                 <xsl:if test="$controlField007-01='z'">Annen materialtype</xsl:if>
206             </xsl:if>
207         
208             <xsl:if test="$controlField007-00='h'">
209                 <!-- Mikroform -->
210                                 <xsl:if test="$controlField007-01='a'">Vinduskort</xsl:if>
211                                 <xsl:if test="$controlField007-01='c'">Mikrofilmkassett</xsl:if>
212                                 <xsl:if test="$controlField007-01='d'">Mikrofilmspole</xsl:if>
213                                 <xsl:if test="$controlField007-01='e'">Mikrofilmkort</xsl:if>
214                                 <xsl:if test="$controlField007-01='g'">Mikro-opak</xsl:if>
215                                 <xsl:if test="$controlField007-01='z'">Annen mikroformtype</xsl:if>
216             </xsl:if>
217
218             <xsl:if test="$controlField007-00='k'">
219                 <!-- Grafisk materiale som er ugjennomtrengelig for lys -->
220                                 <xsl:if test="$controlField007-01='c'">Collage</xsl:if> <!-- Originalt kunstverk -->
221                                 <xsl:if test="$controlField007-01='d'">Tegning</xsl:if> <!-- Originalt kunstverk -->
222                                 <xsl:if test="$controlField007-01='e'">Maleri</xsl:if> <!-- Originalt kunstverk -->
223                                 <xsl:if test="$controlField007-01='g'">Fotografi - negativ</xsl:if>
224                                 <xsl:if test="$controlField007-01='h'">Fotografi</xsl:if> <!-- Brukes også om ugjennomsiktige stereobilder. -->
225                                 <xsl:if test="$controlField007-01='i'">Bilde</xsl:if> <!-- Brukes når en mer spesifikk betegnelse er ukjent eller uønsket. -->
226                                 <xsl:if test="$controlField007-01='j'">Grafisk blad</xsl:if>
227                                 <xsl:if test="$controlField007-01='k'">Flipover</xsl:if>
228                                 <xsl:if test="$controlField007-01='l'">Teknisk tegning</xsl:if>
229                                 <xsl:if test="$controlField007-01='m'">Studieplansje</xsl:if>
230                                 <xsl:if test="$controlField007-01='n'">Plansje</xsl:if>
231                                 <xsl:if test="$controlField007-01='o'">Billedkort</xsl:if>
232                                 <xsl:if test="$controlField007-01='p'">Ordkort</xsl:if>
233                                 <xsl:if test="$controlField007-01='q'">Symbolkort</xsl:if>
234                                 <xsl:if test="$controlField007-01='r'">Kunstreproduksjon</xsl:if>
235                                 <xsl:if test="$controlField007-01='s'">Postkort</xsl:if>
236                                 <xsl:if test="$controlField007-01='t'">Plakat</xsl:if>
237                                 <xsl:if test="$controlField007-01='z'">Annen materialtype</xsl:if>
238             </xsl:if>
239         
240             <xsl:if test="$controlField007-00='m'">
241                 <!-- Film -->
242                                 <xsl:if test="$controlField007-01='c'">Filmsløyfe</xsl:if>
243                                 <xsl:if test="$controlField007-01='f'">Filmkassett</xsl:if>
244                                 <xsl:if test="$controlField007-01='r'">Filmspole</xsl:if>
245                                 <xsl:if test="$controlField007-01='z'">Annen filmtype</xsl:if>
246             </xsl:if>
247
248             <xsl:if test="$controlField007-00='s'">
249                 <!-- Lydopptak -->
250                                 <xsl:if test="$controlField007-01='c'">Kompaktplate</xsl:if>
251                                 <xsl:if test="$controlField007-01='d'">Grammofonplate</xsl:if>
252                                 <xsl:if test="$controlField007-01='e'">Sylinder</xsl:if> <!-- Lydrull, voksrull, fonografsylinder -->
253                                 <xsl:if test="$controlField007-01='g'">Sløyfekassett</xsl:if>
254                                 <xsl:if test="$controlField007-01='i'">Filmlydspor</xsl:if>
255                                 <xsl:if test="$controlField007-01='q'">Rull (pianorull/orgelrull)</xsl:if>
256                                 <xsl:if test="$controlField007-01='s'">Lydkassett</xsl:if>
257                                 <xsl:if test="$controlField007-01='t'">Lydbånd</xsl:if>
258                                 <xsl:if test="$controlField007-01='w'">Wire</xsl:if>
259                                 <xsl:if test="$controlField007-01='z'">Annet lydmateriale</xsl:if>
260             </xsl:if>
261
262             <xsl:if test="$controlField007-00='u'">
263                 <!-- Tre-dimensjonal gjenstand -->
264                                 <xsl:if test="$controlField007-01='a'">Originalt kunstverk</xsl:if> <!-- F.eks. en skulptur. -->
265                                 <xsl:if test="$controlField007-01='c'">Kunstreproduksjon</xsl:if>
266                                 <xsl:if test="$controlField007-01='d'">Diorama</xsl:if>
267                                 <xsl:if test="$controlField007-01='e'">Øvelsesmodell</xsl:if>
268                                 <xsl:if test="$controlField007-01='g'">Spill</xsl:if>
269                                 <xsl:if test="$controlField007-01='p'">Mikroskopdia</xsl:if>
270                                 <xsl:if test="$controlField007-01='q'">Modell</xsl:if>
271                                 <xsl:if test="$controlField007-01='r'">Realia</xsl:if>
272                                 <xsl:if test="$controlField007-01='u'">Utstilling</xsl:if>
273                                 <xsl:if test="$controlField007-01='z'">Annen type gjenstand</xsl:if>
274             </xsl:if>
275
276             <xsl:if test="$controlField007-00='v'">
277                 <!-- Videoopptak -->
278                                 <xsl:if test="$controlField007-01='d'">Videoplate</xsl:if>
279                                 <xsl:if test="$controlField007-01='f'">Videokassett</xsl:if>
280                                 <xsl:if test="$controlField007-01='r'">Videospole</xsl:if>
281                                 <xsl:if test="$controlField007-01='z'">Annen type videoopptak</xsl:if>
282             </xsl:if>
283
284         </xsl:variable>
285
286                 <!-- Tittel og ansvarsopplysninger -->
287         <a><xsl:attribute name="href">/cgi-bin/koha/opac-detail.pl?biblionumber=<xsl:value-of select="$biblionumber"/></xsl:attribute>
288         <xsl:if test="marc:datafield[@tag=245]">
289         <xsl:for-each select="marc:datafield[@tag=245]">
290             <xsl:variable name="title">
291                      <xsl:call-template name="subfieldSelect">
292                         <xsl:with-param name="codes">a</xsl:with-param>
293                     </xsl:call-template>
294                     <xsl:if test="marc:subfield[@code='b']">
295                         <xsl:text> : </xsl:text>
296                         <xsl:call-template name="subfieldSelect">
297                             <xsl:with-param name="codes">b</xsl:with-param>
298                         </xsl:call-template>
299                     </xsl:if>
300                     <xsl:if test="marc:subfield[@code='h']">
301                         <xsl:text> </xsl:text>
302                         (<xsl:call-template name="subfieldSelect">
303                             <xsl:with-param name="codes">h</xsl:with-param>
304                         </xsl:call-template>) 
305                     </xsl:if>
306                     <xsl:text> </xsl:text>
307                     <xsl:call-template name="subfieldSelect">
308                         <xsl:with-param name="codes">np</xsl:with-param>
309                      </xsl:call-template>
310             </xsl:variable>
311             <xsl:variable name="titleChop">
312                 <xsl:call-template name="chopPunctuation">
313                     <xsl:with-param name="chopString">
314                         <xsl:value-of select="$title"/>
315                     </xsl:with-param>
316                 </xsl:call-template>
317             </xsl:variable>
318             <xsl:value-of select="$titleChop"/>
319         </xsl:for-each>
320         </xsl:if>
321     </a>
322     <p>
323
324     <xsl:choose>
325     <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]">
326
327     av 
328         <xsl:for-each select="marc:datafield[(@tag=100 or @tag=700) and @ind1!='z']">
329             <xsl:choose>
330             <xsl:when test="position()=last()">
331                 <xsl:call-template name="nameABCDQ"/>.
332             </xsl:when>
333             <xsl:otherwise>
334                 <xsl:call-template name="nameABCDQ"/>;
335             </xsl:otherwise>
336             </xsl:choose>
337         </xsl:for-each>
338
339         <xsl:for-each select="marc:datafield[(@tag=110 or @tag=710) and @ind1!='z']">
340             <xsl:choose>
341             <xsl:when test="position()=last()">
342                 <xsl:call-template name="nameABCDN"/>.
343             </xsl:when>
344             <xsl:otherwise>
345                 <xsl:call-template name="nameABCDN"/>;
346             </xsl:otherwise>
347             </xsl:choose>
348         </xsl:for-each>
349
350         <xsl:for-each select="marc:datafield[(@tag=111 or @tag=711) and @ind1!='z']">
351             <xsl:choose>
352             <xsl:when test="position()=last()">
353                 <xsl:call-template name="nameACDEQ"/>.
354             </xsl:when>
355             <xsl:otherwise>
356                 <xsl:call-template name="nameACDEQ"/>;
357             </xsl:otherwise>
358             </xsl:choose>
359         </xsl:for-each>
360     </xsl:when>
361     </xsl:choose>
362     </p>
363
364     <xsl:if test="marc:datafield[@tag=250]">
365         <span class="results_summary">
366     <span class="label">Utgave: </span>
367             <xsl:for-each select="marc:datafield[@tag=250]">
368                     <xsl:call-template name="subfieldSelect">
369                         <xsl:with-param name="codes">ab</xsl:with-param>
370                     </xsl:call-template>
371             </xsl:for-each>
372         </span>
373     </xsl:if>
374
375 <xsl:if test="$DisplayOPACiconsXSLT!='0'">
376     <span class="results_summary">
377     <xsl:if test="$typeOf008!=''">
378         <span class="label">Materialtype: </span>
379         <xsl:choose>
380             <xsl:when test="$typeOf008='Mon'"><img src="/opac-tmpl/lib/famfamfam/BK.png" alt="Bok" title="Bok"/> Bok</xsl:when>
381             <xsl:when test="$typeOf008='Per'"><img src="/opac-tmpl/lib/famfamfam/AR.png" alt="Periodika" title="Periodika"/> Periodika</xsl:when>
382             <xsl:when test="$typeOf008='Fil'"><img src="/opac-tmpl/lib/famfamfam/CF.png" alt="Fil" title="Fil"/> Fil</xsl:when>
383             <xsl:when test="$typeOf008='Kar'"><img src="/opac-tmpl/lib/famfamfam/MP.png" alt="Kart" title="Kart"/> Kart</xsl:when>
384             <xsl:when test="$typeOf008='FV'"><img  src="/opac-tmpl/lib/famfamfam/VM.png" alt="Film og video" title="Film og video"/> Film og video</xsl:when>
385             <xsl:when test="$typeOf008='Mus'"><img src="/opac-tmpl/lib/famfamfam/PR.png" alt="Musikktrykk og lydopptak" title="Musikktrykk og lydopptak"/> Musikk</xsl:when>
386             <xsl:when test="$typeOf008='gra'"><img src="/opac-tmpl/lib/famfamfam/GR.png" alt="Grafisk materiale" title="Grafisk materiale"/> Grafisk materiale</xsl:when>
387             <xsl:when test="$typeOf008='kom'"><img src="/opac-tmpl/lib/famfamfam/MX.png" alt="Kombidokumenter" title="Kombidokumenter"/> Kombidokumenter</xsl:when>
388             <xsl:when test="$typeOf008='trd'"><img src="/opac-tmpl/lib/famfamfam/TD.png" alt="Tre-dimensjonale gjenstander" title="Tre-dimensjonale gjenstander"/> Tre-dimensjonale gjenstander</xsl:when>
389         </xsl:choose>
390     </xsl:if>
391     <xsl:if test="string-length(normalize-space($physicalDescription))">
392         <span class="label">; Format: </span><xsl:copy-of select="$physicalDescription"></xsl:copy-of>
393     </xsl:if>
394     
395     <!-- test 
396     <xsl:for-each select="marc:datafield[@tag=019]">
397     019b: 
398     <xsl:call-template name="subfieldSelect">
399                 <xsl:with-param name="codes">b</xsl:with-param>
400                 </xsl:call-template>
401     </xsl:for-each>
402         -->
403         
404         <xsl:if test="$controlField008-21 or $controlField008-22 or $controlField008-24 or $controlField008-26 or $controlField008-29 or $controlField008-34 or $controlField008-33 or $controlField008-30-31 or $controlField008-33">
405
406         <xsl:if test="$typeOf008='Per'">
407         <xsl:if test="$controlField008-21 and contains($controlField008-21,'amnpz')">
408         <span class="label">; Type periodikum: </span>
409         </xsl:if>
410             <xsl:choose>
411                 <xsl:when test="$controlField008-21='a'">Årbok</xsl:when>
412                                 <xsl:when test="$controlField008-21='m'">Monografiserie</xsl:when>
413                                 <xsl:when test="$controlField008-21='n'">Avis</xsl:when>
414                                 <xsl:when test="$controlField008-21='p'">Tidsskrift</xsl:when>
415                                 <xsl:when test="$controlField008-21='z'">Andre typer periodika</xsl:when>
416             </xsl:choose>
417         </xsl:if>
418         
419         <xsl:if test="$typeOf008='Mon' or $typeOf008='Per'">
420         <xsl:if test="contains($controlField008-24,'abcdefhiklmnoqrstx')">
421         <span class="label">; Innhold: </span>
422         </xsl:if>
423             <xsl:choose>
424                 <xsl:when test="contains($controlField008-24,'a')"> Sammendrag(abstracts)/Referatorganer</xsl:when>
425                 <xsl:when test="contains($controlField008-24,'b')"> Bibliografier</xsl:when>
426                 <xsl:when test="contains($controlField008-24,'c')"> Kataloger</xsl:when>
427                 <xsl:when test="contains($controlField008-24,'d')"> Ordbøker</xsl:when>
428                 <xsl:when test="contains($controlField008-24,'e')"> Konversasjonsleksika</xsl:when>
429                 <xsl:when test="contains($controlField008-24,'f')"> Håndbøker</xsl:when>
430                 <xsl:when test="contains($controlField008-24,'h')"> Referanseverk</xsl:when>
431                 <xsl:when test="contains($controlField008-24,'i')"> Registre</xsl:when>
432                 <xsl:when test="contains($controlField008-24,'k')"> Diskografier</xsl:when>
433                 <xsl:when test="contains($controlField008-24,'l')"> Lover og forskrifter</xsl:when>
434                 <xsl:when test="contains($controlField008-24,'m')"> Hovedoppgaver/diplomoppgaver</xsl:when>
435                 <xsl:when test="contains($controlField008-24,'n')"> Oversiktsverker innenfor et emne</xsl:when>
436                 <xsl:when test="contains($controlField008-24,'o')"> Anmeldelser</xsl:when>
437                 <xsl:when test="contains($controlField008-24,'q')"> Filmografier</xsl:when>
438                 <xsl:when test="contains($controlField008-24,'r')"> Adressebøker</xsl:when>
439                 <xsl:when test="contains($controlField008-24,'s')"> Statistikker</xsl:when>
440                 <xsl:when test="contains($controlField008-24,'t')"> Tekniske rapporter</xsl:when>
441                 <xsl:when test="contains($controlField008-24,'x')"> Doktoravhandlinger/lisensiat-avhandlinger</xsl:when>
442                 <!--
443                 <xsl:when test="contains($controlField008-24,'z')"> Annet</xsl:when>
444                 -->
445             </xsl:choose>
446             <xsl:choose>
447                 <xsl:when test="$controlField008-29='1'">
448                     Konferansepublikasjon
449                 </xsl:when>
450             </xsl:choose>
451         </xsl:if>
452         <xsl:if test="$typeOf008='CF'">
453             <xsl:if test="$controlField008-26='a' or $controlField008-26='b' or $controlField008-26='c' or $controlField008-26='d' or $controlField008-26='e' or $controlField008-26='f' or $controlField008-26='g' or $controlField008-26='h' or $controlField008-26='i' or $controlField008-26='j'">
454             <span class="label">; Type maskinlesbar fil: </span>
455             </xsl:if>
456             <xsl:choose>
457                 <xsl:when test="$controlField008-26='a'">Numeriske data</xsl:when>
458                 <xsl:when test="$controlField008-26='b'">Programvare</xsl:when>
459                 <xsl:when test="$controlField008-26='c'">Grafiske data</xsl:when>
460                 <xsl:when test="$controlField008-26='d'">Tekst</xsl:when>
461                 <xsl:when test="$controlField008-26='e'">Bibliografiske data</xsl:when>
462                 <xsl:when test="$controlField008-26='f'">Font</xsl:when>
463                 <xsl:when test="$controlField008-26='g'">Spill</xsl:when>
464                 <xsl:when test="$controlField008-26='h'">Lyd</xsl:when>
465                 <xsl:when test="$controlField008-26='i'">Interaktivt multimedium</xsl:when>
466                 <xsl:when test="$controlField008-26='j'">Online tjeneste</xsl:when>
467                 <!-- Probably makes no sense to display these
468                 <xsl:when test="$controlField008-26='m'">En kombinasjon av to eller flere av de ovennevnte</xsl:when>
469                 <xsl:when test="$controlField008-26='u'">Ukjent</xsl:when>
470                 <xsl:when test="$controlField008-26='z'">Annen type data</xsl:when>
471                 -->
472             </xsl:choose>
473         </xsl:if>
474         <xsl:if test="$typeOf008='Mon'">
475             <xsl:if test="(substring($controlField008,25,1)='j') or (substring($controlField008,25,1)='1') or ($controlField008-34='a' or $controlField008-34='b' or $controlField008-34='c' or $controlField008-34='d')">
476             <span class="label">; Innhold: </span>
477             </xsl:if>
478             <xsl:if test="substring($controlField008,31,1)='1' or substring($controlField008,31,1)='a' or substring($controlField008,31,1)='b'">
479                 Festskrift
480             </xsl:if>
481             <xsl:if test="$controlField008-34='a' or $controlField008-34='a' or $controlField008-34='b' or $controlField008-34='c' or $controlField008-34='d'">
482                 Biografi
483             </xsl:if>
484
485             <xsl:if test="$controlField008-33 and $controlField008-33!='^' and $controlField008-33!=' '">
486             <span class="label">; Litterær form: </span>
487             </xsl:if>
488             <xsl:choose>
489                 <xsl:when test="$controlField008-33='0'">Ikke skjønnlitteratur</xsl:when>
490                 <xsl:when test="$controlField008-33='l'">Lærebok, brevkurs</xsl:when>
491                 <xsl:when test="$controlField008-33='1'">Skjønnlitteratur</xsl:when>
492                 <xsl:when test="$controlField008-33='r'">Roman</xsl:when>
493                 <xsl:when test="$controlField008-33='n'">Novelle / fortelling</xsl:when>
494                 <xsl:when test="$controlField008-33='d'">Dikt</xsl:when>
495                 <xsl:when test="$controlField008-33='s'">Skuespill</xsl:when>
496                 <xsl:when test="$controlField008-33='t'">Tegneserie</xsl:when>
497                 <xsl:when test="$controlField008-33='a'">Antologi</xsl:when>
498                 <xsl:when test="$controlField008-33='p'">Pekebok</xsl:when>
499             </xsl:choose>
500         </xsl:if> 
501         <xsl:if test="$typeOf008='Mus' and $controlField008-30-31 and $controlField008-30-31!='^^' and $controlField008-30-31!='  '">
502             <span class="label">; Litterær form: </span> <!-- Literary text for sound recordings -->
503             <xsl:if test="contains($controlField008-30-31,'a')">Selvbiografier</xsl:if>
504             <xsl:if test="contains($controlField008-30-31,'b')">Biografier</xsl:if>
505             <xsl:if test="contains($controlField008-30-31,'c')">Samtaler og diskusjoner</xsl:if>
506             <xsl:if test="contains($controlField008-30-31,'d')">Drama</xsl:if>
507             <xsl:if test="contains($controlField008-30-31,'e')">Essays</xsl:if>
508             <xsl:if test="contains($controlField008-30-31,'f')">Romaner</xsl:if>
509             <xsl:if test="contains($controlField008-30-31,'g')">Rapporter, referater</xsl:if>
510             <xsl:if test="contains($controlField008-30-31,'h')">Fortellinger, noveller</xsl:if>
511             <xsl:if test="contains($controlField008-30-31,'i')">Undervisning</xsl:if>
512             <xsl:if test="contains($controlField008-30-31,'j')">Språkundervisning</xsl:if>
513             <xsl:if test="contains($controlField008-30-31,'k')">Komedier</xsl:if>
514             <xsl:if test="contains($controlField008-30-31,'l')">Foredrag, taler</xsl:if>
515             <xsl:if test="contains($controlField008-30-31,'m')">Memoarer</xsl:if>
516             <xsl:if test="contains($controlField008-30-31,'o')">Eventyr</xsl:if>
517             <xsl:if test="contains($controlField008-30-31,'p')">Dikt</xsl:if>
518             <xsl:if test="contains($controlField008-30-31,'r')">Fremføring av alle typer ikke-musikalske produksjoner</xsl:if>
519             <xsl:if test="contains($controlField008-30-31,'s')">Lyder (f.eks. fuglelyder)</xsl:if>
520             <xsl:if test="contains($controlField008-30-31,'t')">Intervjuer</xsl:if>
521             <xsl:if test="contains($controlField008-30-31,'z')">Andre typer innhold</xsl:if>
522         </xsl:if>
523         
524         <!--
525         <xsl:if test="$typeOf008='VM'">
526             <span class="label">; Type of visual material: </span>
527             <xsl:choose>
528                 <xsl:when test="$controlField008-33='a'">
529                     art original
530                 </xsl:when>
531                 <xsl:when test="$controlField008-33='b'">
532                     kit
533                 </xsl:when>
534                 <xsl:when test="$controlField008-33='c'">
535                     art reproduction
536                 </xsl:when>
537                 <xsl:when test="$controlField008-33='d'">
538                     diorama
539                 </xsl:when>
540                 <xsl:when test="$controlField008-33='f'">
541                     filmstrip
542                 </xsl:when>
543                 <xsl:when test="$controlField008-33='g'">
544                     legal article
545                 </xsl:when>
546                 <xsl:when test="$controlField008-33='i'">
547                     picture
548                 </xsl:when>
549                 <xsl:when test="$controlField008-33='k'">
550                     graphic
551                 </xsl:when>
552                 <xsl:when test="$controlField008-33='l'">
553                     technical drawing
554                 </xsl:when>
555                 <xsl:when test="$controlField008-33='m'">
556                     motion picture
557                 </xsl:when>
558                 <xsl:when test="$controlField008-33='n'">
559                     chart
560                 </xsl:when>
561                 <xsl:when test="$controlField008-33='o'">
562                     flash card
563                 </xsl:when>
564                 <xsl:when test="$controlField008-33='p'">
565                     microscope slide
566                 </xsl:when>
567                 <xsl:when test="$controlField008-33='q' or marc:controlfield[@tag=007][substring(text(),1,1)='a'][substring(text(),2
568 ,1)='q']">
569                     model
570                 </xsl:when>
571                 <xsl:when test="$controlField008-33='r'">
572                     realia
573                 </xsl:when>
574                 <xsl:when test="$controlField008-33='s'">
575                     slide
576                 </xsl:when>
577                 <xsl:when test="$controlField008-33='t'">
578                     transparency
579                 </xsl:when>
580                 <xsl:when test="$controlField008-33='v'">
581                     videorecording
582                 </xsl:when>
583                 <xsl:when test="$controlField008-33='w'">
584                     toy
585                 </xsl:when>
586             </xsl:choose>
587         </xsl:if>
588         -->
589         
590         </xsl:if> 
591         
592         <!--
593     <xsl:if test="($typeOf008='Mon' or $typeOf008='Per' or $typeOf008='Mus' or $typeOf008='FV' or $typeOf008='Fil') and ($controlField008-22='a' or $controlField008-22='b' or $controlField008-22='c' or $controlField008-22='d' or $controlField008-22='e' or $controlField008-22='g' or $controlField008-22='j' or $controlField008-22='f')">
594     -->
595     <xsl:if test="$typeOf008='Mon'">
596         <span class="label">; Målgruppe: </span>
597         <xsl:choose>
598                         <xsl:when test="$controlField008-22='a'">Voksne;</xsl:when>
599                         <xsl:when test="$controlField008-22='b'">Billedbøker for voksne;</xsl:when>
600                         <xsl:when test="$controlField008-22='j'">Barn og ungdom;</xsl:when>
601                         <xsl:when test="$controlField008-22='k'">Billedbøker;</xsl:when>
602                         <xsl:when test="$controlField008-22='l'">Barn i alderen til og med 5 år;</xsl:when>
603                         <xsl:when test="$controlField008-22='m'">Elever på 1. til 3. klassetrinn;</xsl:when>
604                         <xsl:when test="$controlField008-22='n'">Elever på 4. og 5. klassetrinn;</xsl:when>
605                         <xsl:when test="$controlField008-22='o'">Elever på 6. og 7. klassetrinn;</xsl:when>
606                         <xsl:when test="$controlField008-22='p'">Elever på ungdomstrinnet;</xsl:when>
607                         <xsl:when test="$controlField008-22='v'">Billedbøker for barn i alderen til og med 5 år;</xsl:when>
608                         <xsl:when test="$controlField008-22='w'">Billedbøker for elever på 1. til 3. klassetrinn;</xsl:when>
609                         <xsl:when test="$controlField008-22='x'">Billedbøker for elever på 4. og 5. klassetrinn;</xsl:when>
610                         <xsl:when test="$controlField008-22='y'">Billedbøker for elever på 6. og 7. klassetrinn;</xsl:when>
611                         <xsl:when test="$controlField008-22='z'">Billedbøker for elever på ungdomstrinnet;</xsl:when>
612                         <xsl:when test="$controlField008-22='f'">Spesialisert;</xsl:when>
613                         <xsl:when test="$controlField008-22='q'">Lettlest;</xsl:when>
614                         <xsl:when test="$controlField008-22='r'">For psykisk utviklingshemmede;</xsl:when>
615                         <xsl:when test="$controlField008-22='s'">Storskrift;</xsl:when>
616                         <xsl:when test="$controlField008-22='g'">Generell;</xsl:when>
617                         <xsl:when test="$controlField008-22='u'">Ukjent;</xsl:when>
618         </xsl:choose>
619     </xsl:if>
620     <xsl:if test="$typeOf008='Per'">
621         <span class="label">; Målgruppe: </span>
622         <xsl:choose>
623                         <xsl:when test="$controlField008-22='a'">Voksne;</xsl:when>
624                         <xsl:when test="$controlField008-22='b'">Tegneserier for voksne;</xsl:when>
625                         <xsl:when test="$controlField008-22='j'">Barn og ungdom;</xsl:when>
626                         <xsl:when test="$controlField008-22='k'">Tegneserier;</xsl:when>
627                         <xsl:when test="$controlField008-22='l'">Barn i alderen til og med 5 år;</xsl:when>
628                         <xsl:when test="$controlField008-22='m'">Elever på 1. til 3. klassetrinn;</xsl:when>
629                         <xsl:when test="$controlField008-22='n'">Elever på 4. og 5. klassetrinn;</xsl:when>
630                         <xsl:when test="$controlField008-22='o'">Elever på 6. og 7. klassetrinn;</xsl:when>
631                         <xsl:when test="$controlField008-22='p'">Elever på ungdomstrinnet;</xsl:when>
632                         <xsl:when test="$controlField008-22='v'">Tegneserier for barn i alderen til og med 5 år;</xsl:when>
633                         <xsl:when test="$controlField008-22='w'">Tegneserier for elever på 1. til 3. klassetrinn;</xsl:when>
634                         <xsl:when test="$controlField008-22='x'">Tegneserier for elever på 4. og 5. klassetrinn;</xsl:when>
635                         <xsl:when test="$controlField008-22='y'">Tegneserier for elever på 6. og 7. klassetrinn;</xsl:when>
636                         <xsl:when test="$controlField008-22='z'">Tegneserier for elever på ungdomstrinnet;</xsl:when>
637                         <xsl:when test="$controlField008-22='f'">Spesialisert;</xsl:when>
638                         <xsl:when test="$controlField008-22='q'">Lettlest;</xsl:when>
639                         <xsl:when test="$controlField008-22='r'">For psykisk utviklingshemmede;</xsl:when>
640                         <xsl:when test="$controlField008-22='s'">Storskrift;</xsl:when>
641                         <xsl:when test="$controlField008-22='g'">Generell;</xsl:when>
642                         <xsl:when test="$controlField008-22='u'">Ukjent;</xsl:when>
643         </xsl:choose>
644     </xsl:if>
645     <xsl:if test="$typeOf008='Fil' or $typeOf008='Mus'">
646         <span class="label">; Målgruppe: </span>
647         <xsl:choose>
648                         <xsl:when test="$controlField008-22='a'">Voksne;</xsl:when>
649                         <xsl:when test="$controlField008-22='j'">Barn og ungdom;</xsl:when>
650                         <xsl:when test="$controlField008-22='1'">Barn i alderen til og med 5 år;</xsl:when>
651                         <xsl:when test="$controlField008-22='m'">Elever på 1. til 3. klassetrinn;</xsl:when>
652                         <xsl:when test="$controlField008-22='n'">Elever på 4. og 5. klassetrinn;</xsl:when>
653                         <xsl:when test="$controlField008-22='o'">Elever på 6. og 7. klassetrinn;</xsl:when>
654                         <xsl:when test="$controlField008-22='p'">Elever på ungdomstrinnet;</xsl:when>
655                         <xsl:when test="$controlField008-22='f'">Spesialisert;</xsl:when>
656                         <xsl:when test="$controlField008-22='q'">Lettlest;</xsl:when>
657                         <xsl:when test="$controlField008-22='r'">For psykisk utviklingshemmede;</xsl:when>
658                         <xsl:when test="$controlField008-22='s'">Storskrift;</xsl:when>
659                         <xsl:when test="$controlField008-22='g'">Generell;</xsl:when>
660                         <xsl:when test="$controlField008-22='u'">Ukjent;</xsl:when>
661         </xsl:choose>
662     </xsl:if>
663     <xsl:if test="$typeOf008='FV'">
664         <span class="label">; Målgruppe: </span>
665         <xsl:choose>
666                         <xsl:when test="$controlField008-22='a'">Voksne;</xsl:when>
667                         <xsl:when test="$controlField008-22='1'">Voksne over 18 år;</xsl:when>
668                         <xsl:when test="$controlField008-22='2'">Voksne over 15 år;</xsl:when>
669                         <xsl:when test="$controlField008-22='j'">Barn og ungdom;</xsl:when>
670                         <xsl:when test="$controlField008-22='4'">Ungdom over 12 år;</xsl:when>
671                         <xsl:when test="$controlField008-22='5'">Barn over 7 år;</xsl:when>
672                         <xsl:when test="$controlField008-22='6'">Småbarn;</xsl:when>
673                         <xsl:when test="$controlField008-22='f'">Spesialisert;</xsl:when>
674                         <xsl:when test="$controlField008-22='g'">Generell;</xsl:when>
675                         <xsl:when test="$controlField008-22='u'">Ukjent;</xsl:when>
676         </xsl:choose>
677     </xsl:if>
678         </span>
679 </xsl:if>
680
681         <!-- Utgivelse, distribusjon osv -->
682     <xsl:if test="marc:datafield[@tag=260]">
683         <span class="results_summary">
684     <span class="label">Utgiver: </span> 
685             <xsl:for-each select="marc:datafield[@tag=260]">
686                     <xsl:call-template name="subfieldSelect">
687                         <xsl:with-param name="codes">bcg</xsl:with-param>
688                     </xsl:call-template>
689             </xsl:for-each>
690         </span>
691     </xsl:if>
692     
693     <!-- Parallelltittel (R) -->
694     <xsl:if test="marc:datafield[@tag=246]">
695         <span class="results_summary">
696     <span class="label">Parallelltittel: </span>
697             <xsl:for-each select="marc:datafield[@tag=246]">
698                     <xsl:call-template name="subfieldSelect">
699                         <xsl:with-param name="codes">ab</xsl:with-param>
700                     </xsl:call-template>
701             </xsl:for-each>
702         </span>
703
704     </xsl:if>
705
706 <span class="results_summary">
707                         <span class="label">Availability: </span>
708                         <xsl:choose>
709                                    <xsl:when test="count(key('item-by-status', 'available'))=0 and count(key('item-by-status', 'reference'))=0">No copies available
710                                    </xsl:when>
711
712                    <xsl:when test="count(key('item-by-status', 'available'))>0">
713                    <span class="available">
714                        <b><xsl:text>Copies available for loan: </xsl:text></b>
715                        <xsl:variable name="available_items" select="key('item-by-status', 'available')"/>
716                <xsl:choose>
717                <xsl:when test="$singleBranchMode=1">
718                <xsl:for-each select="$available_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]">
719                  <xsl:if test="items:itemcallnumber != '' and items:itemcallnumber"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if>
720                <xsl:text> (</xsl:text>
721                <xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/>
722                 <xsl:text>)</xsl:text>
723                 <xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>, </xsl:text></xsl:otherwise></xsl:choose>
724             </xsl:for-each>
725             </xsl:when>
726                <xsl:otherwise>
727                        <xsl:for-each select="$available_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]">
728                            <xsl:value-of select="items:homebranch"/>
729                                                    <xsl:if test="items:itemcallnumber != '' and items:itemcallnumber"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if>
730
731                            <xsl:text> (</xsl:text>
732                            <xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/>
733                            <xsl:text>)</xsl:text>
734 <xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>, </xsl:text></xsl:otherwise></xsl:choose>
735                        </xsl:for-each>
736                </xsl:otherwise>
737                </xsl:choose>
738                    </span>
739                    </xsl:when>
740
741                                    </xsl:choose>
742
743                    <xsl:choose>
744                    <xsl:when test="count(key('item-by-status', 'reference'))>0">
745                    <span class="available">
746                        <b><xsl:text>Copies available for reference: </xsl:text></b>
747                        <xsl:variable name="reference_items"
748                            select="key('item-by-status', 'reference')"/>
749                        <xsl:for-each select="$reference_items[generate-id() = generate-id(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch))[1])]">
750                            <xsl:value-of select="items:homebranch"/>
751
752                                                    <xsl:if test="items:itemcallnumber != '' and items:itemcallnumber"> [<xsl:value-of select="items:itemcallnumber"/>]</xsl:if>
753                            <xsl:text> (</xsl:text>
754                            <xsl:value-of select="count(key('item-by-status-and-branch', concat(items:status, ' ', items:homebranch)))"/>
755                            <xsl:text>)</xsl:text>
756                    <xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>, </xsl:text></xsl:otherwise></xsl:choose>
757
758                        </xsl:for-each>
759                    </span>
760                    </xsl:when>
761                    </xsl:choose>
762
763                    <xsl:if test="count(key('item-by-status', 'Checked out'))>0">
764                    <span class="unavailable">
765                        <xsl:text>Checked out (</xsl:text>
766                        <xsl:value-of select="count(key('item-by-status', 'Checked out'))"/>
767
768                        <xsl:text>). </xsl:text>
769                                    </span>
770                    </xsl:if>
771                    <xsl:if test="count(key('item-by-status', 'Withdrawn'))>0">
772                    <span class="unavailable">
773                        <xsl:text>Withdrawn (</xsl:text>
774                        <xsl:value-of select="count(key('item-by-status', 'Withdrawn'))"/>
775                        <xsl:text>). </xsl:text>                   </span>
776
777                                    </xsl:if>
778                     <xsl:if test="count(key('item-by-status', 'Lost'))>0">
779                    <span class="unavailable">
780                        <xsl:text>Lost (</xsl:text>
781                        <xsl:value-of select="count(key('item-by-status', 'Lost'))"/>
782                        <xsl:text>). </xsl:text>                   </span>
783                                    </xsl:if>
784
785                     <xsl:if test="count(key('item-by-status', 'Damaged'))>0">
786                    <span class="unavailable">
787                        <xsl:text>Damaged (</xsl:text>
788                        <xsl:value-of select="count(key('item-by-status', 'Damaged'))"/>
789                        <xsl:text>). </xsl:text>                   </span>
790                    </xsl:if>
791                     <xsl:if test="count(key('item-by-status', 'On order'))>0">
792
793                    <span class="unavailable">
794                        <xsl:text>On order (</xsl:text>
795                        <xsl:value-of select="count(key('item-by-status', 'On order'))"/>
796                        <xsl:text>). </xsl:text>                   </span>
797                    </xsl:if>
798                     <xsl:if test="count(key('item-by-status', 'In transit'))>0">
799                    <span class="unavailable">
800
801                        <xsl:text>In transit (</xsl:text>
802                        <xsl:value-of select="count(key('item-by-status', 'In transit'))"/>
803                        <xsl:text>). </xsl:text>                   </span>
804                    </xsl:if>
805                     <xsl:if test="count(key('item-by-status', 'Waiting'))>0">
806                    <span class="unavailable">
807                        <xsl:text>On hold (</xsl:text>
808
809                        <xsl:value-of select="count(key('item-by-status', 'Waiting'))"/>
810                        <xsl:text>). </xsl:text>                   </span>
811                    </xsl:if>
812                </span>
813
814     </xsl:template>
815
816     <xsl:template name="termsOfAddress">
817         <xsl:if test="marc:subfield[@code='b' or @code='c']">
818             <xsl:call-template name="chopPunctuation">
819                 <xsl:with-param name="chopString">
820                     <xsl:call-template name="subfieldSelect">
821                         <xsl:with-param name="codes">bc</xsl:with-param>
822                     </xsl:call-template>
823                 </xsl:with-param>
824             </xsl:call-template>
825         </xsl:if>
826     </xsl:template>
827
828     <xsl:template name="nameDate">
829         <xsl:for-each select="marc:subfield[@code='d']">
830             <xsl:call-template name="chopPunctuation">
831                 <xsl:with-param name="chopString" select="."/>
832             </xsl:call-template>
833         </xsl:for-each>
834     </xsl:template>
835
836     <xsl:template name="role">
837         <xsl:for-each select="marc:subfield[@code='e']">
838                     <xsl:value-of select="."/>
839         </xsl:for-each>
840         <xsl:for-each select="marc:subfield[@code='4']">
841                     <xsl:value-of select="."/>
842         </xsl:for-each>
843     </xsl:template>
844
845     <xsl:template name="specialSubfieldSelect">
846         <xsl:param name="anyCodes"/>
847         <xsl:param name="axis"/>
848         <xsl:param name="beforeCodes"/>
849         <xsl:param name="afterCodes"/>
850         <xsl:variable name="str">
851             <xsl:for-each select="marc:subfield">
852                 <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])">
853                     <xsl:value-of select="text()"/>
854                     <xsl:text> </xsl:text>
855                 </xsl:if>
856             </xsl:for-each>
857         </xsl:variable>
858         <xsl:value-of select="substring($str,1,string-length($str)-1)"/>
859     </xsl:template>
860
861     <xsl:template name="subtitle">
862         <xsl:if test="marc:subfield[@code='b']">
863                 <xsl:call-template name="chopPunctuation">
864                     <xsl:with-param name="chopString">
865                         <xsl:value-of select="marc:subfield[@code='b']"/>
866
867                         <!--<xsl:call-template name="subfieldSelect">
868                             <xsl:with-param name="codes">b</xsl:with-param>                                 
869                         </xsl:call-template>-->
870                     </xsl:with-param>
871                 </xsl:call-template>
872         </xsl:if>
873     </xsl:template>
874
875     <xsl:template name="chopBrackets">
876         <xsl:param name="chopString"></xsl:param>
877         <xsl:variable name="string">
878             <xsl:call-template name="chopPunctuation">
879                 <xsl:with-param name="chopString" select="$chopString"></xsl:with-param>
880             </xsl:call-template>
881         </xsl:variable>
882         <xsl:if test="substring($string, 1,1)='['">
883             <xsl:value-of select="substring($string,2, string-length($string)-2)"></xsl:value-of>
884         </xsl:if>
885         <xsl:if test="substring($string, 1,1)!='['">
886             <xsl:value-of select="$string"></xsl:value-of>
887         </xsl:if>
888     </xsl:template>
889
890 </xsl:stylesheet>