View | Details | Raw Unified | Return to bug 7696
Collapse All | Expand All

(-)a/koha-tmpl/intranet-tmpl/prog/en/xslt/NORMARCslim2intranetResults.xsl (-1 / +769 lines)
Line 0 Link Here
0
- 
1
<?xml version="1.0" encoding="UTF-8"?>
2
<!-- $Id: MARC21slim2DC.xsl,v 1.1 2003/01/06 08:20:27 adam Exp $ -->
3
<!DOCTYPE stylesheet [<!ENTITY nbsp "&#160;" >]>
4
<xsl:stylesheet version="1.0"
5
  xmlns:marc="http://www.loc.gov/MARC21/slim"
6
  xmlns:items="http://www.koha-community.org/items"
7
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
8
  exclude-result-prefixes="marc items">
9
    <xsl:import href="MARC21slimUtils.xsl"/>
10
    <xsl:output method = "xml" indent="yes" omit-xml-declaration = "yes" />
11
    <xsl:key name="item-by-status" match="items:item" use="items:status"/>
12
    <xsl:key name="item-by-status-and-branch" match="items:item" use="concat(items:status, ' ', items:homebranch)"/>
13
14
    <xsl:template match="/">
15
            <xsl:apply-templates/>
16
    </xsl:template>
17
    <xsl:template match="marc:record">
18
19
        <xsl:variable name="hidelostitems" select="marc:sysprefs/marc:syspref[@name='hidelostitems']"/>
20
        <xsl:variable name="URLLinkText" select="marc:sysprefs/marc:syspref[@name='URLLinkText']"/>
21
        <xsl:variable name="Show856uAsImage" select="marc:sysprefs/marc:syspref[@name='Display856uAsImage']"/>
22
        <xsl:variable name="AlternateHoldingsField" select="substring(marc:sysprefs/marc:syspref[@name='AlternateHoldingsField'], 1, 3)"/>
23
        <xsl:variable name="AlternateHoldingsSubfields" select="substring(marc:sysprefs/marc:syspref[@name='AlternateHoldingsField'], 4)"/>
24
        <xsl:variable name="AlternateHoldingsSeparator" select="marc:sysprefs/marc:syspref[@name='AlternateHoldingsSeparator']"/>
25
        <xsl:variable name="UseAuthoritiesForTracings" select="marc:sysprefs/marc:syspref[@name='UseAuthoritiesForTracings']"/>
26
        <xsl:variable name="leader" select="marc:leader"/>
27
        <xsl:variable name="leader6" select="substring($leader,7,1)"/>
28
        <xsl:variable name="leader7" select="substring($leader,8,1)"/>
29
        <xsl:variable name="leader19" select="substring($leader,20,1)"/>
30
        <xsl:variable name="biblionumber" select="marc:datafield[@tag=999]/marc:subfield[@code='c']"/>
31
        <xsl:variable name="controlField007" select="marc:controlfield[@tag=007]"/>
32
        <xsl:variable name="controlField007-00" select="substring($controlField007,1,1)"/>
33
        <xsl:variable name="controlField007-01" select="substring($controlField007,2,1)"/>
34
        <xsl:variable name="controlField008" select="marc:controlfield[@tag=008]"/>
35
        <xsl:variable name="field019b" select="marc:datafield[@tag=019]/marc:subfield[@code='b']"/>
36
37
        <xsl:variable name="typeOf008">
38
        <!-- Codes with upper case first letter below are from the NORMARC standard, lower case first letter are made up. -->
39
            <xsl:choose>
40
                <xsl:when test="$field019b='b' or $field019b='k' or $field019b='l' or $leader6='b'">Mon</xsl:when>
41
                <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>
42
                <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>
43
                <xsl:when test="$field019b='a' or contains($field019b,'ab') or contains($field019b,'aj') or $leader6='e' or $leader6='f'">Kar</xsl:when>
44
                <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>
45
                <xsl:when test="$field019b='g' or contains($field019b,'gb') or contains($field019b,'gd') or contains($field019b,'ge') or $leader6='m'">Fil</xsl:when>
46
                <xsl:when test="$leader6='o'">kom</xsl:when>
47
                <xsl:when test="$field019b='h' or $leader6='r'">trd</xsl:when>
48
                <xsl:when test="$field019b='j' or $leader6='a'">
49
                    <xsl:choose>
50
                        <xsl:when test="$leader7='a' or $leader7='c' or $leader7='m' or $leader7='p'">Mon</xsl:when>
51
                        <xsl:when test="$field019b='j' or $leader7='b' or $leader7='s'">Per</xsl:when>
52
                    </xsl:choose>
53
                </xsl:when>
54
            </xsl:choose>
55
        </xsl:variable>
56
        <xsl:variable name="controlField008-23" select="substring($controlField008,24,1)"/>
57
        <xsl:variable name="controlField008-21" select="substring($controlField008,22,1)"/>
58
        <xsl:variable name="controlField008-22" select="substring($controlField008,23,1)"/>
59
        <xsl:variable name="controlField008-24" select="substring($controlField008,25,4)"/>
60
        <xsl:variable name="controlField008-26" select="substring($controlField008,27,1)"/>
61
        <xsl:variable name="controlField008-29" select="substring($controlField008,30,1)"/>
62
        <xsl:variable name="controlField008-34" select="substring($controlField008,35,1)"/>
63
        <xsl:variable name="controlField008-33" select="substring($controlField008,34,1)"/>
64
        <xsl:variable name="controlField008-30-31" select="substring($controlField008,31,2)"/>
65
66
        <xsl:variable name="physicalDescription">
67
        
68
            <!-- 019$b from BSMARC -->
69
            
70
            <xsl:if test="$field019b">
71
				<xsl:if test="$field019b='a'"> Kartografisk materiale</xsl:if>
72
				<xsl:if test="contains($field019b,'ab')"> Atlas</xsl:if>
73
				<xsl:if test="contains($field019b,'aj')"> Kart</xsl:if>
74
				<xsl:if test="$field019b='b'"> Manuskripter</xsl:if>
75
				<xsl:if test="$field019b='c'"> Musikktrykk</xsl:if>
76
				<xsl:if test="$field019b='d'"> Lydopptak</xsl:if>
77
				<xsl:if test="contains($field019b,'da')"> Grammofonplate</xsl:if>
78
				<xsl:if test="contains($field019b,'db')"> Kassett</xsl:if>
79
				<xsl:if test="contains($field019b,'dc')"> Kompaktplate</xsl:if>
80
				<xsl:if test="contains($field019b,'dd')"> Avspiller med lydfil (eks. Digibøker)</xsl:if>
81
				<xsl:if test="contains($field019b,'dg')"> Musikk</xsl:if>
82
				<xsl:if test="contains($field019b,'dh')"> Språkkurs</xsl:if>
83
				<xsl:if test="contains($field019b,'di')"> Lydbok</xsl:if>
84
				<xsl:if test="contains($field019b,'dj')"> Annen tale/annet</xsl:if>
85
				<xsl:if test="contains($field019b,'dk')"> Kombidokument</xsl:if>
86
				<xsl:if test="$field019b='e'"> Film og video</xsl:if>
87
				<xsl:if test="contains($field019b,'ec')"> Filmspole</xsl:if>
88
				<xsl:if test="contains($field019b,'ed')"> Videokassett (VHS)</xsl:if>
89
				<xsl:if test="contains($field019b,'ee')"> Videoplate (DVD)</xsl:if>
90
				<xsl:if test="contains($field019b,'ef')"> Blu-ray-plate</xsl:if>
91
				<xsl:if test="$field019b='f'"> Grafisk materiale</xsl:if>
92
				<xsl:if test="contains($field019b,'fd')"> Dias</xsl:if>
93
				<xsl:if test="contains($field019b,'ff')"> Fotografi</xsl:if>
94
				<xsl:if test="contains($field019b,'fi')"> Kunstreproduksjon</xsl:if>
95
				<xsl:if test="$field019b='g'"> Elektroniske ressurser</xsl:if>
96
				<xsl:if test="contains($field019b,'gb')"> Diskett</xsl:if>
97
				<xsl:if test="contains($field019b,'gd')"> Optiske lagringsmedia (CD-ROM)</xsl:if>
98
				<xsl:if test="contains($field019b,'ge')"> Nettressurser</xsl:if>
99
				<xsl:if test="$field019b='h'"> Tredimensjonale gjenstander</xsl:if>
100
				<xsl:if test="$field019b='i'"> Mikroformer</xsl:if>
101
				<xsl:if test="contains($field019b,'ib')"> Mikrofilmspole</xsl:if>
102
				<xsl:if test="contains($field019b,'ic')"> Mikrofilmkort</xsl:if>
103
				<xsl:if test="$field019b='j'"> Periodika</xsl:if>
104
				<xsl:if test="$field019b='k'"> Artikler (i bøker eller periodika)</xsl:if>
105
				<xsl:if test="$field019b='l'"> Fysiske bøker</xsl:if>
106
            </xsl:if>
107
            
108
            <!-- Check positions 00 and 01 of controlfield 007 -->
109
110
            <xsl:if test="$controlField007-00='a'">
111
            	<!-- Kartografisk materiale (unntatt globus) -->
112
				<xsl:if test="$controlField007-01='a'">Anamorfisk kart</xsl:if>
113
				<xsl:if test="$controlField007-01='b'">Atlas</xsl:if>
114
				<xsl:if test="$controlField007-01='c'">Fantasikart</xsl:if>
115
				<xsl:if test="$controlField007-01='d'">Flykart</xsl:if>
116
				<xsl:if test="$controlField007-01='e'">Sjøkart</xsl:if>
117
				<xsl:if test="$controlField007-01='f'">Navigasjonskart</xsl:if>
118
				<xsl:if test="$controlField007-01='g'">Blokkdiagram</xsl:if>
119
				<xsl:if test="$controlField007-01='h'">Stjernekart</xsl:if>
120
				<xsl:if test="$controlField007-01='j'">Kart</xsl:if>
121
				<xsl:if test="$controlField007-01='k'">Kartprofil</xsl:if>
122
				<xsl:if test="$controlField007-01='l'">Fotokart</xsl:if>
123
				<xsl:if test="$controlField007-01='m'">Fotomosaikk</xsl:if>
124
				<xsl:if test="$controlField007-01='n'">Ortofoto</xsl:if>
125
				<xsl:if test="$controlField007-01='o'">Tegnet kart</xsl:if>
126
				<xsl:if test="$controlField007-01='p'">Trykt kart</xsl:if>
127
				<xsl:if test="$controlField007-01='q'">Terrengmodell</xsl:if>
128
				<xsl:if test="$controlField007-01='r'">Fjernanalysebilde</xsl:if>
129
				<xsl:if test="$controlField007-01='s'">Kartseksjon</xsl:if>
130
				<xsl:if test="$controlField007-01='t'">Plan</xsl:if>
131
				<xsl:if test="$controlField007-01='y'">Perspektivkart</xsl:if>
132
				<xsl:if test="$controlField007-01='z'">Annen karttype</xsl:if>
133
            </xsl:if>
134
135
            <xsl:if test="$controlField007-00='c'">
136
            	<!-- Maskinlesbar fil -->
137
				<xsl:if test="$controlField007-01='a'">Magnetisk-optisk plate</xsl:if>
138
				<xsl:if test="$controlField007-01='b'">Lagringsbrikke</xsl:if>
139
				<xsl:if test="$controlField007-01='c'">Optisk kassett</xsl:if>
140
				<xsl:if test="$controlField007-01='d'">Diskett</xsl:if>
141
				<xsl:if test="$controlField007-01='h'">Platelager (harddisk)</xsl:if>
142
				<xsl:if test="$controlField007-01='k'">Magnetbåndkassett</xsl:if>
143
				<xsl:if test="$controlField007-01='m'">Magnetbåndspole</xsl:if>
144
				<xsl:if test="$controlField007-01='n'">Fjerntilgang (online)</xsl:if>
145
				<xsl:if test="$controlField007-01='o'">Optisk plate</xsl:if>
146
				<xsl:if test="$controlField007-01='z'">Annet lagringsmedium</xsl:if>
147
            </xsl:if>
148
149
            <xsl:if test="$controlField007-00='d'">
150
            	<!-- Globus -->
151
				<xsl:if test="$controlField007-01='a'">Stjerneglobus</xsl:if>
152
				<xsl:if test="$controlField007-01='b'">Planet- eller måneglobus</xsl:if>
153
				<xsl:if test="$controlField007-01='c'">Jordglobus</xsl:if>
154
				<xsl:if test="$controlField007-01='z'">Annen globustype</xsl:if>
155
            </xsl:if>
156
157
            <xsl:if test="$controlField007-00='g'">
158
            	<!-- Grafisk materiale som er tenkt projisert eller gjennomlyst -->
159
				<xsl:if test="$controlField007-01='h'">Hologram</xsl:if>
160
				<xsl:if test="$controlField007-01='o'">Billedbånd</xsl:if>
161
				<xsl:if test="$controlField007-01='p'">Stereobilde</xsl:if>
162
				<xsl:if test="$controlField007-01='r'">Røntgenbilde</xsl:if>
163
				<xsl:if test="$controlField007-01='s'">Dia</xsl:if>
164
				<xsl:if test="$controlField007-01='t'">Transparent</xsl:if>
165
				<xsl:if test="$controlField007-01='z'">Annen materialtype</xsl:if>
166
            </xsl:if>
167
	
168
            <xsl:if test="$controlField007-00='h'">
169
            	<!-- Mikroform -->
170
				<xsl:if test="$controlField007-01='a'">Vinduskort</xsl:if>
171
				<xsl:if test="$controlField007-01='c'">Mikrofilmkassett</xsl:if>
172
				<xsl:if test="$controlField007-01='d'">Mikrofilmspole</xsl:if>
173
				<xsl:if test="$controlField007-01='e'">Mikrofilmkort</xsl:if>
174
				<xsl:if test="$controlField007-01='g'">Mikro-opak</xsl:if>
175
				<xsl:if test="$controlField007-01='z'">Annen mikroformtype</xsl:if>
176
            </xsl:if>
177
178
            <xsl:if test="$controlField007-00='k'">
179
            	<!-- Grafisk materiale som er ugjennomtrengelig for lys -->
180
				<xsl:if test="$controlField007-01='c'">Collage</xsl:if> <!-- Originalt kunstverk -->
181
				<xsl:if test="$controlField007-01='d'">Tegning</xsl:if> <!-- Originalt kunstverk -->
182
				<xsl:if test="$controlField007-01='e'">Maleri</xsl:if> <!-- Originalt kunstverk -->
183
				<xsl:if test="$controlField007-01='g'">Fotografi - negativ</xsl:if>
184
				<xsl:if test="$controlField007-01='h'">Fotografi</xsl:if> <!-- Brukes også om ugjennomsiktige stereobilder. -->
185
				<xsl:if test="$controlField007-01='i'">Bilde</xsl:if> <!-- Brukes når en mer spesifikk betegnelse er ukjent eller uønsket. -->
186
				<xsl:if test="$controlField007-01='j'">Grafisk blad</xsl:if>
187
				<xsl:if test="$controlField007-01='k'">Flipover</xsl:if>
188
				<xsl:if test="$controlField007-01='l'">Teknisk tegning</xsl:if>
189
				<xsl:if test="$controlField007-01='m'">Studieplansje</xsl:if>
190
				<xsl:if test="$controlField007-01='n'">Plansje</xsl:if>
191
				<xsl:if test="$controlField007-01='o'">Billedkort</xsl:if>
192
				<xsl:if test="$controlField007-01='p'">Ordkort</xsl:if>
193
				<xsl:if test="$controlField007-01='q'">Symbolkort</xsl:if>
194
				<xsl:if test="$controlField007-01='r'">Kunstreproduksjon</xsl:if>
195
				<xsl:if test="$controlField007-01='s'">Postkort</xsl:if>
196
				<xsl:if test="$controlField007-01='t'">Plakat</xsl:if>
197
				<xsl:if test="$controlField007-01='z'">Annen materialtype</xsl:if>
198
            </xsl:if>
199
	
200
            <xsl:if test="$controlField007-00='m'">
201
            	<!-- Film -->
202
				<xsl:if test="$controlField007-01='c'">Filmsløyfe</xsl:if>
203
				<xsl:if test="$controlField007-01='f'">Filmkassett</xsl:if>
204
				<xsl:if test="$controlField007-01='r'">Filmspole</xsl:if>
205
				<xsl:if test="$controlField007-01='z'">Annen filmtype</xsl:if>
206
            </xsl:if>
207
208
            <xsl:if test="$controlField007-00='s'">
209
            	<!-- Lydopptak -->
210
				<xsl:if test="$controlField007-01='c'">Kompaktplate</xsl:if>
211
				<xsl:if test="$controlField007-01='d'">Grammofonplate</xsl:if>
212
				<xsl:if test="$controlField007-01='e'">Sylinder</xsl:if> <!-- Lydrull, voksrull, fonografsylinder -->
213
				<xsl:if test="$controlField007-01='g'">Sløyfekassett</xsl:if>
214
				<xsl:if test="$controlField007-01='i'">Filmlydspor</xsl:if>
215
				<xsl:if test="$controlField007-01='q'">Rull (pianorull/orgelrull)</xsl:if>
216
				<xsl:if test="$controlField007-01='s'">Lydkassett</xsl:if>
217
				<xsl:if test="$controlField007-01='t'">Lydbånd</xsl:if>
218
				<xsl:if test="$controlField007-01='w'">Wire</xsl:if>
219
				<xsl:if test="$controlField007-01='z'">Annet lydmateriale</xsl:if>
220
            </xsl:if>
221
222
            <xsl:if test="$controlField007-00='u'">
223
            	<!-- Tre-dimensjonal gjenstand -->
224
				<xsl:if test="$controlField007-01='a'">Originalt kunstverk</xsl:if> <!-- F.eks. en skulptur. -->
225
				<xsl:if test="$controlField007-01='c'">Kunstreproduksjon</xsl:if>
226
				<xsl:if test="$controlField007-01='d'">Diorama</xsl:if>
227
				<xsl:if test="$controlField007-01='e'">Øvelsesmodell</xsl:if>
228
				<xsl:if test="$controlField007-01='g'">Spill</xsl:if>
229
				<xsl:if test="$controlField007-01='p'">Mikroskopdia</xsl:if>
230
				<xsl:if test="$controlField007-01='q'">Modell</xsl:if>
231
				<xsl:if test="$controlField007-01='r'">Realia</xsl:if>
232
				<xsl:if test="$controlField007-01='u'">Utstilling</xsl:if>
233
				<xsl:if test="$controlField007-01='z'">Annen type gjenstand</xsl:if>
234
            </xsl:if>
235
236
            <xsl:if test="$controlField007-00='v'">
237
            	<!-- Videoopptak -->
238
				<xsl:if test="$controlField007-01='d'">Videoplate</xsl:if>
239
				<xsl:if test="$controlField007-01='f'">Videokassett</xsl:if>
240
				<xsl:if test="$controlField007-01='r'">Videospole</xsl:if>
241
				<xsl:if test="$controlField007-01='z'">Annen type videoopptak</xsl:if>
242
            </xsl:if>
243
244
        </xsl:variable>
245
246
	<a><xsl:attribute name="href">/cgi-bin/koha/catalogue/detail.pl?biblionumber=<xsl:value-of select="$biblionumber"/></xsl:attribute><xsl:attribute name="class">title</xsl:attribute>
247
248
        <xsl:if test="marc:datafield[@tag=245]">
249
        <xsl:for-each select="marc:datafield[@tag=245]">
250
            <xsl:variable name="title">
251
                     <xsl:call-template name="subfieldSelect">
252
                        <xsl:with-param name="codes">a</xsl:with-param>
253
                    </xsl:call-template>
254
                    <xsl:if test="marc:subfield[@code='b']">
255
                        <xsl:text> </xsl:text>
256
                        <xsl:call-template name="subfieldSelect">
257
                            <xsl:with-param name="codes">b</xsl:with-param>
258
                        </xsl:call-template>
259
                    </xsl:if>
260
                    <xsl:if test="marc:subfield[@code='h']">
261
                        <xsl:text> </xsl:text>
262
                        <xsl:call-template name="subfieldSelect">
263
                            <xsl:with-param name="codes">h</xsl:with-param>
264
                        </xsl:call-template>
265
                    </xsl:if>
266
                <xsl:text> </xsl:text>
267
                    <xsl:call-template name="subfieldSelect">
268
                        <xsl:with-param name="codes">np</xsl:with-param>
269
                     </xsl:call-template>
270
            </xsl:variable>
271
            <xsl:variable name="titleChop">
272
                <xsl:call-template name="chopPunctuation">
273
                    <xsl:with-param name="chopString">
274
                        <xsl:value-of select="$title"/>
275
                    </xsl:with-param>
276
                </xsl:call-template>
277
            </xsl:variable>
278
            <xsl:value-of select="$titleChop"/>
279
        </xsl:for-each>
280
        </xsl:if>
281
    </a>
282
283
    <xsl:choose>
284
    <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]">
285
    <p class="author">av
286
    <xsl:for-each select="marc:datafield[@tag=100 or @tag=700]">
287
    <a>
288
    <xsl:choose>
289
        <xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'">
290
            <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
291
        </xsl:when>
292
        <xsl:otherwise>
293
        <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=au:"<xsl:value-of select="marc:subfield[@code='a']"/>"</xsl:attribute>
294
        </xsl:otherwise>
295
    </xsl:choose>
296
    <xsl:call-template name="nameABCDQ"/></a>
297
    <xsl:choose>
298
    <xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
299
    </xsl:for-each>
300
301
    <xsl:for-each select="marc:datafield[@tag=110 or @tag=710]">
302
    <a>
303
    <xsl:choose>
304
        <xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'">
305
            <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
306
        </xsl:when>
307
        <xsl:otherwise>
308
        <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=au:"<xsl:value-of select="marc:subfield[@code='a']"/>"</xsl:attribute>
309
        </xsl:otherwise>
310
    </xsl:choose>
311
    <xsl:call-template name="nameABCDN"/></a>
312
    <xsl:choose><xsl:when test="position()=last()"><xsl:text> </xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
313
    </xsl:for-each>
314
315
    <xsl:for-each select="marc:datafield[@tag=111 or @tag=711]">
316
        <xsl:choose>
317
        <xsl:when test="marc:subfield[@code='n']">
318
           <xsl:text> </xsl:text>
319
           <xsl:call-template name="subfieldSelect">
320
              <xsl:with-param name="codes">n</xsl:with-param>                              </xsl:call-template>
321
           <xsl:text> </xsl:text>
322
        </xsl:when>
323
        </xsl:choose>
324
    <a>
325
    <xsl:choose>
326
        <xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'">
327
            <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
328
        </xsl:when>
329
        <xsl:otherwise>
330
        <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=au:"<xsl:value-of select="marc:subfield[@code='a']"/>"</xsl:attribute>
331
        </xsl:otherwise>
332
    </xsl:choose>
333
    <xsl:call-template name="nameACDEQ"/></a>
334
    <xsl:choose><xsl:when test="position()=last()"><xsl:text>. </xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
335
336
    </xsl:for-each>
337
    </p>
338
    </xsl:when>
339
    </xsl:choose>
340
341
    <xsl:if test="marc:datafield[@tag=300]">
342
    <span class="results_summary description"><span class="label">Beskrivelse: </span>
343
        <xsl:for-each select="marc:datafield[@tag=300]">
344
            <xsl:call-template name="chopPunctuation">
345
              <xsl:with-param name="chopString">
346
                <xsl:call-template name="subfieldSelect">
347
                    <xsl:with-param name="codes">abce</xsl:with-param>
348
                </xsl:call-template>
349
               </xsl:with-param>
350
           </xsl:call-template>
351
                <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
352
        </xsl:for-each>
353
    </span>
354
   </xsl:if>
355
356
    <xsl:if test="marc:datafield[@tag=020]">
357
    <span class="results_summary isbn"><span class="label">ISBN: </span>
358
    <xsl:for-each select="marc:datafield[@tag=020]">
359
    <xsl:variable name="isbn" select="marc:subfield[@code='a']"/>
360
            <xsl:value-of select="marc:subfield[@code='a']"/>
361
            <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
362
    </xsl:for-each>
363
    </span>
364
    </xsl:if>
365
366
    <xsl:if test="marc:datafield[@tag=022]">
367
    <span class="results_summary issn"><span class="label">ISSN: </span>
368
    <xsl:for-each select="marc:datafield[@tag=022]">
369
            <xsl:value-of select="marc:subfield[@code='a']"/>
370
            <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
371
    </xsl:for-each>
372
    </span>
373
    </xsl:if>
374
375
    <xsl:if test="marc:datafield[@tag=250]">
376
	<span class="results_summary">
377
    <span class="label">Utgave: </span>
378
            <xsl:for-each select="marc:datafield[@tag=250]">
379
                    <xsl:call-template name="subfieldSelect">
380
                        <xsl:with-param name="codes">ab</xsl:with-param>
381
                    </xsl:call-template>
382
            </xsl:for-each>
383
	</span>
384
    </xsl:if>
385
386
    <span class="results_summary">
387
    <xsl:if test="$typeOf008!=''">
388
        <span class="label">Type: </span>
389
        
390
            <xsl:choose>
391
                <xsl:when test="$typeOf008='Mon'"><img src="/opac-tmpl/prog/famfamfam/silk/book.png" alt="Bok" title="Bok"/> Bok</xsl:when>
392
                <xsl:when test="$typeOf008='Per'"><img src="/opac-tmpl/prog/famfamfam/silk/newspaper.png" alt="Periodika" title="Periodika"/> Periodika</xsl:when>      
393
                <xsl:when test="$typeOf008='Fil'"><img src="/opac-tmpl/prog/famfamfam/silk/computer_link.png" alt="Fil" title="Fil"/> Fil</xsl:when>
394
                <xsl:when test="$typeOf008='Kar'"><img src="/opac-tmpl/prog/famfamfam/silk/map.png" alt="Kart" title="Kart"/> Kart</xsl:when>
395
                <xsl:when test="$typeOf008='FV'"><img src="/opac-tmpl/prog/famfamfam/silk/film.png" alt="Film og video" title="Film og video"/> Film og video</xsl:when>
396
                <xsl:when test="$typeOf008='Mus'"><img src="/opac-tmpl/prog/famfamfam/silk/sound.png" alt="Musikktrykk og lydopptak" title="Musikktrykk og lydopptak"/> Musikk</xsl:when>
397
                <xsl:when test="$typeOf008='gra'"> Grafisk materiale</xsl:when>
398
                <xsl:when test="$typeOf008='kom'"> Kombidokumenter</xsl:when>
399
                <xsl:when test="$typeOf008='trd'"> Tre-dimensjonale gjenstander</xsl:when>
400
            </xsl:choose>
401
    </xsl:if>
402
    <xsl:if test="string-length(normalize-space($physicalDescription))">
403
        <span class="label">; Format: </span><xsl:copy-of select="$physicalDescription"></xsl:copy-of>
404
    </xsl:if>
405
    
406
        <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">
407
408
        <xsl:if test="$typeOf008='Per'">
409
        <xsl:if test="$controlField008-21 and contains($controlField008-21,'amnpz')">
410
        <span class="label">; Type periodikum: </span>
411
        </xsl:if>
412
            <xsl:choose>
413
                <xsl:when test="$controlField008-21='a'">Årbok</xsl:when>
414
				<xsl:when test="$controlField008-21='m'">Monografiserie</xsl:when>
415
				<xsl:when test="$controlField008-21='n'">Avis</xsl:when>
416
				<xsl:when test="$controlField008-21='p'">Tidsskrift</xsl:when>
417
				<xsl:when test="$controlField008-21='z'">Andre typer periodika</xsl:when>
418
            </xsl:choose>
419
        </xsl:if>
420
        
421
        <xsl:if test="$typeOf008='Mon' or $typeOf008='Per'">
422
        <span class="label">; Innhold: </span>
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
            </xsl:choose>
443
            <xsl:choose>
444
                <xsl:when test="$controlField008-29='1'">
445
                    Konferansepublikasjon
446
                </xsl:when>
447
            </xsl:choose>
448
        </xsl:if>
449
        <xsl:if test="$typeOf008='CF'">
450
            <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'">
451
            <span class="label">; Type maskinlesbar fil: </span>
452
            </xsl:if>
453
            <xsl:choose>
454
                <xsl:when test="$controlField008-26='a'">Numeriske data</xsl:when>
455
                <xsl:when test="$controlField008-26='b'">Programvare</xsl:when>
456
                <xsl:when test="$controlField008-26='c'">Grafiske data</xsl:when>
457
                <xsl:when test="$controlField008-26='d'">Tekst</xsl:when>
458
                <xsl:when test="$controlField008-26='e'">Bibliografiske data</xsl:when>
459
                <xsl:when test="$controlField008-26='f'">Font</xsl:when>
460
                <xsl:when test="$controlField008-26='g'">Spill</xsl:when>
461
                <xsl:when test="$controlField008-26='h'">Lyd</xsl:when>
462
                <xsl:when test="$controlField008-26='i'">Interaktivt multimedium</xsl:when>
463
                <xsl:when test="$controlField008-26='j'">Online tjeneste</xsl:when>
464
            </xsl:choose>
465
        </xsl:if>
466
        <xsl:if test="$typeOf008='Mon'">
467
            <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')">
468
            <span class="label">; Innhold: </span>
469
            </xsl:if>
470
            <xsl:if test="substring($controlField008,31,1)='1' or substring($controlField008,31,1)='a' or substring($controlField008,31,1)='b'">
471
                Festskrift
472
            </xsl:if>
473
            <xsl:if test="$controlField008-34='a' or $controlField008-34='a' or $controlField008-34='b' or $controlField008-34='c' or $controlField008-34='d'">
474
                Biografi
475
            </xsl:if>
476
477
            <xsl:if test="$controlField008-33 and $controlField008-33!='^' and $controlField008-33!=' '">
478
            <span class="label">; Litterær form: </span>
479
            </xsl:if>
480
            <xsl:choose>
481
                <xsl:when test="$controlField008-33='0'">Ikke skjønnlitteratur</xsl:when>
482
                <xsl:when test="$controlField008-33='l'">Lærebok, brevkurs</xsl:when>
483
                <xsl:when test="$controlField008-33='1'">Skjønnlitteratur</xsl:when>
484
                <xsl:when test="$controlField008-33='r'">Roman</xsl:when>
485
                <xsl:when test="$controlField008-33='n'">Novelle / fortelling</xsl:when>
486
                <xsl:when test="$controlField008-33='d'">Dikt</xsl:when>
487
                <xsl:when test="$controlField008-33='s'">Skuespill</xsl:when>
488
                <xsl:when test="$controlField008-33='t'">Tegneserie</xsl:when>
489
                <xsl:when test="$controlField008-33='a'">Antologi</xsl:when>
490
                <xsl:when test="$controlField008-33='p'">Pekebok</xsl:when>
491
            </xsl:choose>
492
        </xsl:if> 
493
        <xsl:if test="$typeOf008='Mus' and $controlField008-30-31 and $controlField008-30-31!='^^' and $controlField008-30-31!='  '">
494
            <span class="label">; Litterær form: </span> <!-- Literary text for sound recordings -->
495
            <xsl:if test="contains($controlField008-30-31,'a')">Selvbiografier</xsl:if>
496
            <xsl:if test="contains($controlField008-30-31,'b')">Biografier</xsl:if>
497
            <xsl:if test="contains($controlField008-30-31,'c')">Samtaler og diskusjoner</xsl:if>
498
            <xsl:if test="contains($controlField008-30-31,'d')">Drama</xsl:if>
499
            <xsl:if test="contains($controlField008-30-31,'e')">Essays</xsl:if>
500
            <xsl:if test="contains($controlField008-30-31,'f')">Romaner</xsl:if>
501
            <xsl:if test="contains($controlField008-30-31,'g')">Rapporter, referater</xsl:if>
502
            <xsl:if test="contains($controlField008-30-31,'h')">Fortellinger, noveller</xsl:if>
503
            <xsl:if test="contains($controlField008-30-31,'i')">Undervisning</xsl:if>
504
            <xsl:if test="contains($controlField008-30-31,'j')">Språkundervisning</xsl:if>
505
            <xsl:if test="contains($controlField008-30-31,'k')">Komedier</xsl:if>
506
            <xsl:if test="contains($controlField008-30-31,'l')">Foredrag, taler</xsl:if>
507
            <xsl:if test="contains($controlField008-30-31,'m')">Memoarer</xsl:if>
508
            <xsl:if test="contains($controlField008-30-31,'o')">Eventyr</xsl:if>
509
            <xsl:if test="contains($controlField008-30-31,'p')">Dikt</xsl:if>
510
            <xsl:if test="contains($controlField008-30-31,'r')">Fremføring av alle typer ikke-musikalske produksjoner</xsl:if>
511
            <xsl:if test="contains($controlField008-30-31,'s')">Lyder (f.eks. fuglelyder)</xsl:if>
512
            <xsl:if test="contains($controlField008-30-31,'t')">Intervjuer</xsl:if>
513
            <xsl:if test="contains($controlField008-30-31,'z')">Andre typer innhold</xsl:if>
514
        </xsl:if>
515
       
516
        </xsl:if> 
517
	
518
    <xsl:if test="$typeOf008='Mon'">
519
        <span class="label">; Målgruppe: </span>
520
        <xsl:choose>
521
			<xsl:when test="$controlField008-22='a'">Voksne;</xsl:when>
522
			<xsl:when test="$controlField008-22='b'">Billedbøker for voksne;</xsl:when>
523
			<xsl:when test="$controlField008-22='j'">Barn og ungdom;</xsl:when>
524
			<xsl:when test="$controlField008-22='k'">Billedbøker;</xsl:when>
525
			<xsl:when test="$controlField008-22='l'">Barn i alderen til og med 5 år;</xsl:when>
526
			<xsl:when test="$controlField008-22='m'">Elever på 1. til 3. klassetrinn;</xsl:when>
527
			<xsl:when test="$controlField008-22='n'">Elever på 4. og 5. klassetrinn;</xsl:when>
528
			<xsl:when test="$controlField008-22='o'">Elever på 6. og 7. klassetrinn;</xsl:when>
529
			<xsl:when test="$controlField008-22='p'">Elever på ungdomstrinnet;</xsl:when>
530
			<xsl:when test="$controlField008-22='v'">Billedbøker for barn i alderen til og med 5 år;</xsl:when>
531
			<xsl:when test="$controlField008-22='w'">Billedbøker for elever på 1. til 3. klassetrinn;</xsl:when>
532
			<xsl:when test="$controlField008-22='x'">Billedbøker for elever på 4. og 5. klassetrinn;</xsl:when>
533
			<xsl:when test="$controlField008-22='y'">Billedbøker for elever på 6. og 7. klassetrinn;</xsl:when>
534
			<xsl:when test="$controlField008-22='z'">Billedbøker for elever på ungdomstrinnet;</xsl:when>
535
			<xsl:when test="$controlField008-22='f'">Spesialisert;</xsl:when>
536
			<xsl:when test="$controlField008-22='q'">Lettlest;</xsl:when>
537
			<xsl:when test="$controlField008-22='r'">For psykisk utviklingshemmede;</xsl:when>
538
			<xsl:when test="$controlField008-22='s'">Storskrift;</xsl:when>
539
			<xsl:when test="$controlField008-22='g'">Generell;</xsl:when>
540
			<xsl:when test="$controlField008-22='u'">Ukjent;</xsl:when>
541
        </xsl:choose>
542
    </xsl:if>
543
    <xsl:if test="$typeOf008='Per'">
544
        <span class="label">; Målgruppe: </span>
545
        <xsl:choose>
546
			<xsl:when test="$controlField008-22='a'">Voksne;</xsl:when>
547
			<xsl:when test="$controlField008-22='b'">Tegneserier for voksne;</xsl:when>
548
			<xsl:when test="$controlField008-22='j'">Barn og ungdom;</xsl:when>
549
			<xsl:when test="$controlField008-22='k'">Tegneserier;</xsl:when>
550
			<xsl:when test="$controlField008-22='l'">Barn i alderen til og med 5 år;</xsl:when>
551
			<xsl:when test="$controlField008-22='m'">Elever på 1. til 3. klassetrinn;</xsl:when>
552
			<xsl:when test="$controlField008-22='n'">Elever på 4. og 5. klassetrinn;</xsl:when>
553
			<xsl:when test="$controlField008-22='o'">Elever på 6. og 7. klassetrinn;</xsl:when>
554
			<xsl:when test="$controlField008-22='p'">Elever på ungdomstrinnet;</xsl:when>
555
			<xsl:when test="$controlField008-22='v'">Tegneserier for barn i alderen til og med 5 år;</xsl:when>
556
			<xsl:when test="$controlField008-22='w'">Tegneserier for elever på 1. til 3. klassetrinn;</xsl:when>
557
			<xsl:when test="$controlField008-22='x'">Tegneserier for elever på 4. og 5. klassetrinn;</xsl:when>
558
			<xsl:when test="$controlField008-22='y'">Tegneserier for elever på 6. og 7. klassetrinn;</xsl:when>
559
			<xsl:when test="$controlField008-22='z'">Tegneserier for elever på ungdomstrinnet;</xsl:when>
560
			<xsl:when test="$controlField008-22='f'">Spesialisert;</xsl:when>
561
			<xsl:when test="$controlField008-22='q'">Lettlest;</xsl:when>
562
			<xsl:when test="$controlField008-22='r'">For psykisk utviklingshemmede;</xsl:when>
563
			<xsl:when test="$controlField008-22='s'">Storskrift;</xsl:when>
564
			<xsl:when test="$controlField008-22='g'">Generell;</xsl:when>
565
			<xsl:when test="$controlField008-22='u'">Ukjent;</xsl:when>
566
        </xsl:choose>
567
    </xsl:if>
568
    <xsl:if test="$typeOf008='Fil' or $typeOf008='Mus'">
569
        <span class="label">; Målgruppe: </span>
570
        <xsl:choose>
571
			<xsl:when test="$controlField008-22='a'">Voksne;</xsl:when>
572
			<xsl:when test="$controlField008-22='j'">Barn og ungdom;</xsl:when>
573
			<xsl:when test="$controlField008-22='1'">Barn i alderen til og med 5 år;</xsl:when>
574
			<xsl:when test="$controlField008-22='m'">Elever på 1. til 3. klassetrinn;</xsl:when>
575
			<xsl:when test="$controlField008-22='n'">Elever på 4. og 5. klassetrinn;</xsl:when>
576
			<xsl:when test="$controlField008-22='o'">Elever på 6. og 7. klassetrinn;</xsl:when>
577
			<xsl:when test="$controlField008-22='p'">Elever på ungdomstrinnet;</xsl:when>
578
			<xsl:when test="$controlField008-22='f'">Spesialisert;</xsl:when>
579
			<xsl:when test="$controlField008-22='q'">Lettlest;</xsl:when>
580
			<xsl:when test="$controlField008-22='r'">For psykisk utviklingshemmede;</xsl:when>
581
			<xsl:when test="$controlField008-22='s'">Storskrift;</xsl:when>
582
			<xsl:when test="$controlField008-22='g'">Generell;</xsl:when>
583
			<xsl:when test="$controlField008-22='u'">Ukjent;</xsl:when>
584
        </xsl:choose>
585
    </xsl:if>
586
    <xsl:if test="$typeOf008='FV'">
587
        <span class="label">; Målgruppe: </span>
588
        <xsl:choose>
589
			<xsl:when test="$controlField008-22='a'">Voksne;</xsl:when>
590
			<xsl:when test="$controlField008-22='1'">Voksne over 18 år;</xsl:when>
591
			<xsl:when test="$controlField008-22='2'">Voksne over 15 år;</xsl:when>
592
			<xsl:when test="$controlField008-22='j'">Barn og ungdom;</xsl:when>
593
			<xsl:when test="$controlField008-22='4'">Ungdom over 12 år;</xsl:when>
594
			<xsl:when test="$controlField008-22='5'">Barn over 7 år;</xsl:when>
595
			<xsl:when test="$controlField008-22='6'">Småbarn;</xsl:when>
596
			<xsl:when test="$controlField008-22='f'">Spesialisert;</xsl:when>
597
			<xsl:when test="$controlField008-22='g'">Generell;</xsl:when>
598
			<xsl:when test="$controlField008-22='u'">Ukjent;</xsl:when>
599
        </xsl:choose>
600
    </xsl:if>
601
	</span>
602
603
  <!-- Utgivelse, distribusjon osv -->
604
    <xsl:if test="marc:datafield[@tag=260]">
605
	<span class="results_summary">
606
    <span class="label">Utgiver: </span> 
607
            <xsl:for-each select="marc:datafield[@tag=260]">
608
                    <xsl:call-template name="subfieldSelect">
609
                        <xsl:with-param name="codes">abcefg</xsl:with-param>
610
                    </xsl:call-template>
611
            </xsl:for-each>
612
	</span>
613
    </xsl:if>
614
615
  <!-- Parallelltittel (R) -->
616
  <xsl:if test="marc:datafield[@tag=246]">
617
	<span class="results_summary">
618
    <span class="label">Parallelltittel: </span>
619
            <xsl:for-each select="marc:datafield[@tag=246]">
620
                    <xsl:call-template name="subfieldSelect">
621
                        <xsl:with-param name="codes">ab</xsl:with-param>
622
                    </xsl:call-template>
623
            </xsl:for-each>
624
	</span>
625
  </xsl:if>
626
    
627
    <xsl:if test="marc:datafield[@tag=856]">
628
         <span class="results_summary">
629
			   <span class="label">Online tilgang: </span>
630
                            <xsl:for-each select="marc:datafield[@tag=856]">
631
                            <xsl:variable name="SubqText"><xsl:value-of select="marc:subfield[@code='q']"/></xsl:variable>
632
				   <a><xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute>
633
                                    <xsl:choose>
634
                                     <xsl:when test="($Show856uAsImage='Results' or $Show856uAsImage='Both') and (substring($SubqText,1,6)='image/' or $SubqText='img' or $SubqText='bmp' or $SubqText='cod' or $SubqText='gif' or $SubqText='ief' or $SubqText='jpe' or $SubqText='jpeg' or $SubqText='jpg' or $SubqText='jfif' or $SubqText='png' or $SubqText='svg' or $SubqText='tif' or $SubqText='tiff' or $SubqText='ras' or $SubqText='cmx' or $SubqText='ico' or $SubqText='pnm' or $SubqText='pbm' or $SubqText='pgm' or $SubqText='ppm' or $SubqText='rgb' or $SubqText='xbm' or $SubqText='xpm' or $SubqText='xwd')">
635
                                        <xsl:element name="img"><xsl:attribute name="src"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute><xsl:attribute name="alt"><xsl:value-of select="marc:subfield[@code='y']"/></xsl:attribute><xsl:attribute name="height">100</xsl:attribute></xsl:element><xsl:text></xsl:text>
636
                                    </xsl:when>
637
                                    <xsl:when test="marc:subfield[@code='y' or @code='3' or @code='z']">
638
                                        <xsl:call-template name="subfieldSelect">
639
                                        <xsl:with-param name="codes">y3z</xsl:with-param>
640
                                        </xsl:call-template>
641
                                    </xsl:when>
642
                                    <xsl:when test="not(marc:subfield[@code='y']) and not(marc:subfield[@code='3']) and not(marc:subfield[@code='z'])">
643
					<xsl:choose>
644
					<xsl:when test="$URLLinkText!=''">
645
						<xsl:value-of select="$URLLinkText"/>
646
					</xsl:when>
647
					<xsl:otherwise>
648
						<xsl:text>Klikk her for online tilgang</xsl:text>
649
					</xsl:otherwise>
650
					</xsl:choose>
651
                                    </xsl:when>
652
                                    </xsl:choose>
653
                                    </a>
654
                                    <xsl:choose>
655
                                    <xsl:when test="position()=last()"><xsl:text> </xsl:text></xsl:when>
656
                                    <xsl:otherwise> | </xsl:otherwise>
657
                                    </xsl:choose>
658
                            </xsl:for-each>
659
                            </span>
660
                        </xsl:if>
661
    </xsl:template>
662
663
    <xsl:template name="nameABCDQ">
664
            <xsl:call-template name="chopPunctuation">
665
                <xsl:with-param name="chopString">
666
                    <xsl:call-template name="subfieldSelect">
667
                        <xsl:with-param name="codes">aq</xsl:with-param>
668
                    </xsl:call-template>
669
                </xsl:with-param>
670
                <xsl:with-param name="punctuation">
671
                    <xsl:text>:,;/ </xsl:text>
672
                </xsl:with-param>
673
            </xsl:call-template>
674
        <xsl:call-template name="termsOfAddress"/>
675
    </xsl:template>
676
677
    <xsl:template name="nameABCDN">
678
        <xsl:for-each select="marc:subfield[@code='a']">
679
                <xsl:call-template name="chopPunctuation">
680
                    <xsl:with-param name="chopString" select="."/>
681
                </xsl:call-template>
682
        </xsl:for-each>
683
        <xsl:for-each select="marc:subfield[@code='b']">
684
                <xsl:value-of select="."/>
685
        </xsl:for-each>
686
        <xsl:if test="marc:subfield[@code='c'] or marc:subfield[@code='d'] or marc:subfield[@code='n']">
687
                <xsl:call-template name="subfieldSelect">
688
                    <xsl:with-param name="codes">cdn</xsl:with-param>
689
                </xsl:call-template>
690
        </xsl:if>
691
    </xsl:template>
692
693
    <xsl:template name="nameACDEQ">
694
            <xsl:call-template name="subfieldSelect">
695
                <xsl:with-param name="codes">acdeq</xsl:with-param>
696
            </xsl:call-template>
697
    </xsl:template>
698
699
    <xsl:template name="termsOfAddress">
700
        <xsl:if test="marc:subfield[@code='b' or @code='c']">
701
            <xsl:call-template name="chopPunctuation">
702
                <xsl:with-param name="chopString">
703
                    <xsl:call-template name="subfieldSelect">
704
                        <xsl:with-param name="codes">bc</xsl:with-param>
705
                    </xsl:call-template>
706
                </xsl:with-param>
707
            </xsl:call-template>
708
        </xsl:if>
709
    </xsl:template>
710
711
    <xsl:template name="nameDate">
712
        <xsl:for-each select="marc:subfield[@code='d']">
713
            <xsl:call-template name="chopPunctuation">
714
                <xsl:with-param name="chopString" select="."/>
715
            </xsl:call-template>
716
        </xsl:for-each>
717
    </xsl:template>
718
719
    <xsl:template name="role">
720
        <xsl:for-each select="marc:subfield[@code='e']">
721
                    <xsl:value-of select="."/>
722
        </xsl:for-each>
723
        <xsl:for-each select="marc:subfield[@code='4']">
724
                    <xsl:value-of select="."/>
725
        </xsl:for-each>
726
    </xsl:template>
727
728
    <xsl:template name="specialSubfieldSelect">
729
        <xsl:param name="anyCodes"/>
730
        <xsl:param name="axis"/>
731
        <xsl:param name="beforeCodes"/>
732
        <xsl:param name="afterCodes"/>
733
        <xsl:variable name="str">
734
            <xsl:for-each select="marc:subfield">
735
                <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])">
736
                    <xsl:value-of select="text()"/>
737
                    <xsl:text> </xsl:text>
738
                </xsl:if>
739
            </xsl:for-each>
740
        </xsl:variable>
741
        <xsl:value-of select="substring($str,1,string-length($str)-1)"/>
742
    </xsl:template>
743
744
    <xsl:template name="subtitle">
745
        <xsl:if test="marc:subfield[@code='b']">
746
                <xsl:call-template name="chopPunctuation">
747
                    <xsl:with-param name="chopString">
748
                        <xsl:value-of select="marc:subfield[@code='b']"/>
749
                    </xsl:with-param>
750
                </xsl:call-template>
751
        </xsl:if>
752
    </xsl:template>
753
754
    <xsl:template name="chopBrackets">
755
        <xsl:param name="chopString"></xsl:param>
756
        <xsl:variable name="string">
757
            <xsl:call-template name="chopPunctuation">
758
                <xsl:with-param name="chopString" select="$chopString"></xsl:with-param>
759
            </xsl:call-template>
760
        </xsl:variable>
761
        <xsl:if test="substring($string, 1,1)='['">
762
            <xsl:value-of select="substring($string,2, string-length($string)-2)"></xsl:value-of>
763
        </xsl:if>
764
        <xsl:if test="substring($string, 1,1)!='['">
765
            <xsl:value-of select="$string"></xsl:value-of>
766
        </xsl:if>
767
    </xsl:template>
768
769
</xsl:stylesheet>

Return to bug 7696