Bug 14332: Skip articles in MARC21 using indicator n.2 of field 245
[koha.git] / etc / zebradb / marc_defs / marc21 / biblios / biblio-zebra-indexdefs.xsl
blob50c62d3fff0fac60e3cbf81698b3709561e7beb3
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3 This file has been automatically generated from a Koha index definition file
4 with the stylesheet koha-indexdefs-to-zebra.xsl. Do not manually edit this file,
5 as it may be overwritten. To regenerate, edit the appropriate Koha index
6 definition file (probably something like {biblio,authority}-koha-indexdefs.xml) and run:
7 `xsltproc koha-indexdefs-to-zebra.xsl {biblio,authority}-koha-indexdefs.xml >
8 {biblio,authority}-zebra-indexdefs.xsl` (substituting the appropriate file names).
9 -->
10 <xslo:stylesheet xmlns:xslo="http://www.w3.org/1999/XSL/Transform" xmlns:marc="http://www.loc.gov/MARC21/slim" xmlns:z="http://indexdata.com/zebra-2.0" xmlns:kohaidx="http://www.koha-community.org/schemas/index-defs" version="1.0">
11 <xslo:output indent="yes" method="xml" version="1.0" encoding="UTF-8"/>
12 <xslo:template match="text()"/>
13 <xslo:template match="text()" mode="index_subfields"/>
14 <xslo:template match="text()" mode="index_data_field"/>
15 <xslo:template match="text()" mode="index_facets"/>
16 <xslo:template match="text()" mode="index_heading"/>
17 <xslo:template match="text()" mode="index_heading_conditional"/>
18 <xslo:template match="text()" mode="index_match_heading"/>
19 <xslo:template match="text()" mode="index_subject_thesaurus"/>
20 <xslo:template match="text()" mode="index_sort_tit"/>
21 <xslo:template match="/">
22 <xslo:if test="marc:collection">
23 <collection>
24 <xslo:apply-templates select="marc:collection/marc:record"/>
25 </collection>
26 </xslo:if>
27 <xslo:if test="marc:record">
28 <xslo:apply-templates select="marc:record"/>
29 </xslo:if>
30 </xslo:template>
31 <xslo:template match="marc:record">
32 <xslo:variable name="idfield" select="normalize-space(marc:datafield[@tag='999']/marc:subfield[@code='c'])"/>
33 <z:record type="update">
34 <xslo:attribute name="z:id">
35 <xslo:value-of select="$idfield"/>
36 </xslo:attribute>
37 <xslo:apply-templates/>
38 <xslo:apply-templates mode="index_subfields"/>
39 <xslo:apply-templates mode="index_data_field"/>
40 <xslo:apply-templates mode="index_facets"/>
41 <xslo:apply-templates mode="index_heading"/>
42 <xslo:apply-templates mode="index_heading_conditional"/>
43 <xslo:apply-templates mode="index_match_heading"/>
44 <xslo:apply-templates mode="index_subject_thesaurus"/>
45 <xslo:apply-templates mode="index_all"/>
46 <xslo:apply-templates mode="index_sort_tit"/>
47 </z:record>
48 </xslo:template>
49 <xslo:template match="marc:leader">
50 <z:index name="llength:w">
51 <xslo:value-of select="substring(., 1, 5)"/>
52 </z:index>
53 <z:index name="rtype:w">
54 <xslo:value-of select="substring(., 7, 1)"/>
55 </z:index>
56 <z:index name="Bib-level:w">
57 <xslo:value-of select="substring(., 8, 1)"/>
58 </z:index>
59 </xslo:template>
60 <xslo:template match="marc:controlfield[@tag='001']">
61 <z:index name="Control-number:w">
62 <xslo:value-of select="."/>
63 </z:index>
64 </xslo:template>
65 <xslo:template match="marc:controlfield[@tag='005']">
66 <z:index name="Date/time-last-modified:w">
67 <xslo:value-of select="."/>
68 </z:index>
69 </xslo:template>
70 <xslo:template match="marc:controlfield[@tag='007']">
71 <z:index name="Microform-generation:n">
72 <xslo:value-of select="substring(., 12, 1)"/>
73 </z:index>
74 <z:index name="Material-type:w">
75 <xslo:value-of select="."/>
76 </z:index>
77 <z:index name="ff7-00:w">
78 <xslo:value-of select="substring(., 1, 1)"/>
79 </z:index>
80 <z:index name="ff7-01:w">
81 <xslo:value-of select="substring(., 2, 1)"/>
82 </z:index>
83 <z:index name="ff7-02:w">
84 <xslo:value-of select="substring(., 3, 1)"/>
85 </z:index>
86 <z:index name="ff7-01-02:w">
87 <xslo:value-of select="substring(., 1, 2)"/>
88 </z:index>
89 </xslo:template>
90 <xslo:template match="marc:controlfield[@tag='008']">
91 <z:index name="date-entered-on-file:n">
92 <xslo:value-of select="substring(., 1, 5)"/>
93 </z:index>
94 <z:index name="date-entered-on-file:s">
95 <xslo:value-of select="substring(., 1, 5)"/>
96 </z:index>
97 <z:index name="pubdate:w">
98 <xslo:value-of select="substring(., 8, 4)"/>
99 </z:index>
100 <z:index name="pubdate:n">
101 <xslo:value-of select="substring(., 8, 4)"/>
102 </z:index>
103 <z:index name="pubdate:y">
104 <xslo:value-of select="substring(., 8, 4)"/>
105 </z:index>
106 <z:index name="pubdate:s">
107 <xslo:value-of select="substring(., 8, 4)"/>
108 </z:index>
109 <z:index name="pl:w">
110 <xslo:value-of select="substring(., 16, 3)"/>
111 </z:index>
112 <z:index name="ta:w">
113 <xslo:value-of select="substring(., 23, 1)"/>
114 </z:index>
115 <z:index name="ff8-23:w">
116 <xslo:value-of select="substring(., 24, 1)"/>
117 </z:index>
118 <z:index name="ff8-29:w">
119 <xslo:value-of select="substring(., 30, 1)"/>
120 </z:index>
121 <z:index name="lf:w">
122 <xslo:value-of select="substring(., 34, 1)"/>
123 </z:index>
124 <z:index name="bio:w">
125 <xslo:value-of select="substring(., 35, 1)"/>
126 </z:index>
127 <z:index name="ln:w">
128 <xslo:value-of select="substring(., 36, 3)"/>
129 </z:index>
130 <z:index name="ctype:w">
131 <xslo:value-of select="substring(., 25, 4)"/>
132 </z:index>
133 <z:index name="Record-source:w">
134 <xslo:value-of select="substring(., 40, 0)"/>
135 </z:index>
136 </xslo:template>
137 <xslo:template mode="index_subfields" match="marc:datafield[@tag='020']">
138 <xslo:for-each select="marc:subfield">
139 <xslo:if test="contains('a', @code)">
140 <z:index name="ISBN:w Identifier-standard:w">
141 <xslo:value-of select="."/>
142 </z:index>
143 </xslo:if>
144 </xslo:for-each>
145 <xslo:for-each select="marc:subfield">
146 <xslo:if test="contains('z', @code)">
147 <z:index name="ISBN:w Identifier-standard:w">
148 <xslo:value-of select="."/>
149 </z:index>
150 </xslo:if>
151 </xslo:for-each>
152 </xslo:template>
153 <xslo:template mode="index_subfields" match="marc:datafield[@tag='022']">
154 <xslo:for-each select="marc:subfield">
155 <xslo:if test="contains('a', @code)">
156 <z:index name="ISSN:w Identifier-standard:w">
157 <xslo:value-of select="."/>
158 </z:index>
159 </xslo:if>
160 </xslo:for-each>
161 <xslo:for-each select="marc:subfield">
162 <xslo:if test="contains('y', @code)">
163 <z:index name="ISSN:w Identifier-standard:w">
164 <xslo:value-of select="."/>
165 </z:index>
166 </xslo:if>
167 </xslo:for-each>
168 <xslo:for-each select="marc:subfield">
169 <xslo:if test="contains('z', @code)">
170 <z:index name="ISSN:w Identifier-standard:w">
171 <xslo:value-of select="."/>
172 </z:index>
173 </xslo:if>
174 </xslo:for-each>
175 </xslo:template>
176 <xslo:template mode="index_subfields" match="marc:datafield[@tag='024']">
177 <xslo:for-each select="marc:subfield">
178 <xslo:if test="contains('a', @code)">
179 <z:index name="Identifier-other:w">
180 <xslo:value-of select="."/>
181 </z:index>
182 </xslo:if>
183 </xslo:for-each>
184 </xslo:template>
185 <xslo:template mode="index_subfields" match="marc:datafield[@tag='041']">
186 <xslo:for-each select="marc:subfield">
187 <xslo:if test="contains('a', @code)">
188 <z:index name="ln:w ln-audio:w">
189 <xslo:value-of select="."/>
190 </z:index>
191 </xslo:if>
192 </xslo:for-each>
193 <xslo:for-each select="marc:subfield">
194 <xslo:if test="contains('d', @code)">
195 <z:index name="ln:w">
196 <xslo:value-of select="."/>
197 </z:index>
198 </xslo:if>
199 </xslo:for-each>
200 <xslo:for-each select="marc:subfield">
201 <xslo:if test="contains('e', @code)">
202 <z:index name="ln:w">
203 <xslo:value-of select="."/>
204 </z:index>
205 </xslo:if>
206 </xslo:for-each>
207 <xslo:for-each select="marc:subfield">
208 <xslo:if test="contains('h', @code)">
209 <z:index name="language-original:w">
210 <xslo:value-of select="."/>
211 </z:index>
212 </xslo:if>
213 </xslo:for-each>
214 <xslo:for-each select="marc:subfield">
215 <xslo:if test="contains('j', @code)">
216 <z:index name="ln:w ln-subtitle:w">
217 <xslo:value-of select="."/>
218 </z:index>
219 </xslo:if>
220 </xslo:for-each>
221 </xslo:template>
222 <xslo:template mode="index_subfields" match="marc:datafield[@tag='050']">
223 <xslo:for-each select="marc:subfield">
224 <xslo:if test="contains('b', @code)">
225 <z:index name="LC-call-number:w LC-call-number:p LC-call-number:s">
226 <xslo:value-of select="."/>
227 </z:index>
228 </xslo:if>
229 </xslo:for-each>
230 </xslo:template>
231 <xslo:template mode="index_subfields" match="marc:datafield[@tag='100']">
232 <xslo:for-each select="marc:subfield">
233 <xslo:if test="contains('9', @code)">
234 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
235 <xslo:value-of select="."/>
236 </z:index>
237 </xslo:if>
238 </xslo:for-each>
239 <xslo:for-each select="marc:subfield">
240 <xslo:if test="contains('a', @code)">
241 <z:index name="Author:w Author:p Author:s Editor:w Author-personal-bibliography:w Author-personal-bibliography:p Author-personal-bibliography:s">
242 <xslo:value-of select="."/>
243 </z:index>
244 </xslo:if>
245 </xslo:for-each>
246 </xslo:template>
247 <xslo:template mode="index_subfields" match="marc:datafield[@tag='110']">
248 <xslo:for-each select="marc:subfield">
249 <xslo:if test="contains('9', @code)">
250 <z:index name="Koha-Auth-Number:w">
251 <xslo:value-of select="."/>
252 </z:index>
253 </xslo:if>
254 </xslo:for-each>
255 </xslo:template>
256 <xslo:template mode="index_subfields" match="marc:datafield[@tag='111']">
257 <xslo:for-each select="marc:subfield">
258 <xslo:if test="contains('9', @code)">
259 <z:index name="Koha-Auth-Number:w">
260 <xslo:value-of select="."/>
261 </z:index>
262 </xslo:if>
263 </xslo:for-each>
264 </xslo:template>
265 <xslo:template mode="index_subfields" match="marc:datafield[@tag='130']">
266 <xslo:for-each select="marc:subfield">
267 <xslo:if test="contains('n', @code)">
268 <z:index name="Thematic-number:w">
269 <xslo:value-of select="."/>
270 </z:index>
271 </xslo:if>
272 </xslo:for-each>
273 <xslo:for-each select="marc:subfield">
274 <xslo:if test="contains('r', @code)">
275 <z:index name="Music-key:w">
276 <xslo:value-of select="."/>
277 </z:index>
278 </xslo:if>
279 </xslo:for-each>
280 <xslo:for-each select="marc:subfield">
281 <xslo:if test="contains('9', @code)">
282 <z:index name="Koha-Auth-Number:w">
283 <xslo:value-of select="."/>
284 </z:index>
285 </xslo:if>
286 </xslo:for-each>
287 </xslo:template>
288 <xslo:template mode="index_subfields" match="marc:datafield[@tag='240']">
289 <xslo:for-each select="marc:subfield">
290 <xslo:if test="contains('r', @code)">
291 <z:index name="Music-key:w">
292 <xslo:value-of select="."/>
293 </z:index>
294 </xslo:if>
295 </xslo:for-each>
296 <xslo:for-each select="marc:subfield">
297 <xslo:if test="contains('n', @code)">
298 <z:index name="Thematic-number:w">
299 <xslo:value-of select="."/>
300 </z:index>
301 </xslo:if>
302 </xslo:for-each>
303 </xslo:template>
304 <xslo:template mode="index_subfields" match="marc:datafield[@tag='243']">
305 <xslo:for-each select="marc:subfield">
306 <xslo:if test="contains('n', @code)">
307 <z:index name="Thematic-number:w">
308 <xslo:value-of select="."/>
309 </z:index>
310 </xslo:if>
311 </xslo:for-each>
312 <xslo:for-each select="marc:subfield">
313 <xslo:if test="contains('r', @code)">
314 <z:index name="Music-key:w">
315 <xslo:value-of select="."/>
316 </z:index>
317 </xslo:if>
318 </xslo:for-each>
319 </xslo:template>
320 <xslo:template mode="index_subfields" match="marc:datafield[@tag='245']">
321 <xslo:for-each select="marc:subfield">
322 <xslo:if test="contains('a', @code)">
323 <z:index name="Title-cover:w Title-cover:p Title-cover:s Title:w Title:p">
324 <xslo:value-of select="."/>
325 </z:index>
326 </xslo:if>
327 </xslo:for-each>
328 <xslo:for-each select="marc:subfield">
329 <xslo:if test="contains('c', @code)">
330 <z:index name="Author:w Author-in-order:w Author-in-order:p Author-in-order:s">
331 <xslo:value-of select="."/>
332 </z:index>
333 </xslo:if>
334 </xslo:for-each>
335 <xslo:for-each select="marc:subfield">
336 <xslo:if test="contains('9', @code)">
337 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
338 <xslo:value-of select="."/>
339 </z:index>
340 </xslo:if>
341 </xslo:for-each>
342 </xslo:template>
343 <xslo:template mode="index_subfields" match="marc:datafield[@tag='260']">
344 <xslo:for-each select="marc:subfield">
345 <xslo:if test="contains('a', @code)">
346 <z:index name="pl:w pl:p">
347 <xslo:value-of select="."/>
348 </z:index>
349 </xslo:if>
350 </xslo:for-each>
351 <xslo:for-each select="marc:subfield">
352 <xslo:if test="contains('b', @code)">
353 <z:index name="Publisher:w Publisher:p">
354 <xslo:value-of select="."/>
355 </z:index>
356 </xslo:if>
357 </xslo:for-each>
358 <xslo:for-each select="marc:subfield">
359 <xslo:if test="contains('c', @code)">
360 <z:index name="copydate:w copydate:s">
361 <xslo:value-of select="."/>
362 </z:index>
363 </xslo:if>
364 </xslo:for-each>
365 </xslo:template>
366 <xslo:template mode="index_subfields" match="marc:datafield[@tag='400']">
367 <xslo:for-each select="marc:subfield">
368 <xslo:if test="contains('a', @code)">
369 <z:index name="Name-and-title:w">
370 <xslo:value-of select="."/>
371 </z:index>
372 </xslo:if>
373 </xslo:for-each>
374 <xslo:for-each select="marc:subfield">
375 <xslo:if test="contains('t', @code)">
376 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w">
377 <xslo:value-of select="."/>
378 </z:index>
379 </xslo:if>
380 </xslo:for-each>
381 <xslo:for-each select="marc:subfield">
382 <xslo:if test="contains('9', @code)">
383 <z:index name="Koha-Auth-Number:w">
384 <xslo:value-of select="."/>
385 </z:index>
386 </xslo:if>
387 </xslo:for-each>
388 </xslo:template>
389 <xslo:template mode="index_subfields" match="marc:datafield[@tag='410']">
390 <xslo:for-each select="marc:subfield">
391 <xslo:if test="contains('a', @code)">
392 <z:index name="Name-and-title:w">
393 <xslo:value-of select="."/>
394 </z:index>
395 </xslo:if>
396 </xslo:for-each>
397 <xslo:for-each select="marc:subfield">
398 <xslo:if test="contains('t', @code)">
399 <z:index name="Author-title:w Title:w Title-series:w">
400 <xslo:value-of select="."/>
401 </z:index>
402 </xslo:if>
403 </xslo:for-each>
404 <xslo:for-each select="marc:subfield">
405 <xslo:if test="contains('9', @code)">
406 <z:index name="Koha-Auth-Number:w">
407 <xslo:value-of select="."/>
408 </z:index>
409 </xslo:if>
410 </xslo:for-each>
411 </xslo:template>
412 <xslo:template mode="index_subfields" match="marc:datafield[@tag='411']">
413 <xslo:for-each select="marc:subfield">
414 <xslo:if test="contains('a', @code)">
415 <z:index name="Name-and-title:w">
416 <xslo:value-of select="."/>
417 </z:index>
418 </xslo:if>
419 </xslo:for-each>
420 <xslo:for-each select="marc:subfield">
421 <xslo:if test="contains('t', @code)">
422 <z:index name="Author-title:w Title-series:w">
423 <xslo:value-of select="."/>
424 </z:index>
425 </xslo:if>
426 </xslo:for-each>
427 </xslo:template>
428 <xslo:template mode="index_subfields" match="marc:datafield[@tag='440']">
429 <xslo:for-each select="marc:subfield">
430 <xslo:if test="contains('a', @code)">
431 <z:index name="Title-series:w Title-series:p">
432 <xslo:value-of select="."/>
433 </z:index>
434 </xslo:if>
435 </xslo:for-each>
436 <xslo:for-each select="marc:subfield">
437 <xslo:if test="contains('9', @code)">
438 <z:index name="Koha-Auth-Number:w">
439 <xslo:value-of select="."/>
440 </z:index>
441 </xslo:if>
442 </xslo:for-each>
443 </xslo:template>
444 <xslo:template mode="index_subfields" match="marc:datafield[@tag='490']">
445 <xslo:for-each select="marc:subfield">
446 <xslo:if test="contains('a', @code)">
447 <z:index name="Title-series:w Title-series:p">
448 <xslo:value-of select="."/>
449 </z:index>
450 </xslo:if>
451 </xslo:for-each>
452 <xslo:for-each select="marc:subfield">
453 <xslo:if test="contains('9', @code)">
454 <z:index name="Koha-Auth-Number:w">
455 <xslo:value-of select="."/>
456 </z:index>
457 </xslo:if>
458 </xslo:for-each>
459 </xslo:template>
460 <xslo:template mode="index_subfields" match="marc:datafield[@tag='505']">
461 <xslo:for-each select="marc:subfield">
462 <xslo:if test="contains('r', @code)">
463 <z:index name="Author:w">
464 <xslo:value-of select="."/>
465 </z:index>
466 </xslo:if>
467 </xslo:for-each>
468 <xslo:for-each select="marc:subfield">
469 <xslo:if test="contains('t', @code)">
470 <z:index name="Title:w">
471 <xslo:value-of select="."/>
472 </z:index>
473 </xslo:if>
474 </xslo:for-each>
475 </xslo:template>
476 <xslo:template mode="index_subfields" match="marc:datafield[@tag='521']">
477 <xslo:for-each select="marc:subfield">
478 <xslo:if test="contains('a', @code)">
479 <z:index name="lex:w lex:p lex:n">
480 <xslo:value-of select="."/>
481 </z:index>
482 </xslo:if>
483 </xslo:for-each>
484 </xslo:template>
485 <xslo:template mode="index_subfields" match="marc:datafield[@tag='526']">
486 <xslo:for-each select="marc:subfield">
487 <xslo:if test="contains('c', @code)">
488 <z:index name="arl:w arl:n">
489 <xslo:value-of select="."/>
490 </z:index>
491 </xslo:if>
492 </xslo:for-each>
493 <xslo:for-each select="marc:subfield">
494 <xslo:if test="contains('d', @code)">
495 <z:index name="arp:w arp:n">
496 <xslo:value-of select="."/>
497 </z:index>
498 </xslo:if>
499 </xslo:for-each>
500 </xslo:template>
501 <xslo:template mode="index_subfields" match="marc:datafield[@tag='600']">
502 <xslo:for-each select="marc:subfield">
503 <xslo:if test="contains('a', @code)">
504 <z:index name="Name-and-title:w Name:w Personal-name:w Subject-name-personal:w Subject:w Subject:p">
505 <xslo:value-of select="."/>
506 </z:index>
507 </xslo:if>
508 </xslo:for-each>
509 <xslo:for-each select="marc:subfield">
510 <xslo:if test="contains('t', @code)">
511 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
512 <xslo:value-of select="."/>
513 </z:index>
514 </xslo:if>
515 </xslo:for-each>
516 <xslo:for-each select="marc:subfield">
517 <xslo:if test="contains('9', @code)">
518 <z:index name="Koha-Auth-Number:w">
519 <xslo:value-of select="."/>
520 </z:index>
521 </xslo:if>
522 </xslo:for-each>
523 </xslo:template>
524 <xslo:template mode="index_subfields" match="marc:datafield[@tag='610']">
525 <xslo:for-each select="marc:subfield">
526 <xslo:if test="contains('a', @code)">
527 <z:index name="Name-and-title:w Subject:w Subject:p">
528 <xslo:value-of select="."/>
529 </z:index>
530 </xslo:if>
531 </xslo:for-each>
532 <xslo:for-each select="marc:subfield">
533 <xslo:if test="contains('t', @code)">
534 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
535 <xslo:value-of select="."/>
536 </z:index>
537 </xslo:if>
538 </xslo:for-each>
539 <xslo:for-each select="marc:subfield">
540 <xslo:if test="contains('9', @code)">
541 <z:index name="Koha-Auth-Number:w">
542 <xslo:value-of select="."/>
543 </z:index>
544 </xslo:if>
545 </xslo:for-each>
546 </xslo:template>
547 <xslo:template mode="index_subfields" match="marc:datafield[@tag='611']">
548 <xslo:for-each select="marc:subfield">
549 <xslo:if test="contains('a', @code)">
550 <z:index name="Name-and-title:w Subject:w Subject:p">
551 <xslo:value-of select="."/>
552 </z:index>
553 </xslo:if>
554 </xslo:for-each>
555 <xslo:for-each select="marc:subfield">
556 <xslo:if test="contains('t', @code)">
557 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
558 <xslo:value-of select="."/>
559 </z:index>
560 </xslo:if>
561 </xslo:for-each>
562 <xslo:for-each select="marc:subfield">
563 <xslo:if test="contains('9', @code)">
564 <z:index name="Koha-Auth-Number:w">
565 <xslo:value-of select="."/>
566 </z:index>
567 </xslo:if>
568 </xslo:for-each>
569 </xslo:template>
570 <xslo:template mode="index_subfields" match="marc:datafield[@tag='630']">
571 <xslo:for-each select="marc:subfield">
572 <xslo:if test="contains('n', @code)">
573 <z:index name="Thematic-number:w Subject:w Subject:p">
574 <xslo:value-of select="."/>
575 </z:index>
576 </xslo:if>
577 </xslo:for-each>
578 <xslo:for-each select="marc:subfield">
579 <xslo:if test="contains('r', @code)">
580 <z:index name="Music-key:w Subject:w Subject:p">
581 <xslo:value-of select="."/>
582 </z:index>
583 </xslo:if>
584 </xslo:for-each>
585 <xslo:for-each select="marc:subfield">
586 <xslo:if test="contains('9', @code)">
587 <z:index name="Koha-Auth-Number:w">
588 <xslo:value-of select="."/>
589 </z:index>
590 </xslo:if>
591 </xslo:for-each>
592 </xslo:template>
593 <xslo:template mode="index_subfields" match="marc:datafield[@tag='650']">
594 <xslo:for-each select="marc:subfield">
595 <xslo:if test="contains('9', @code)">
596 <z:index name="Koha-Auth-Number:w">
597 <xslo:value-of select="."/>
598 </z:index>
599 </xslo:if>
600 </xslo:for-each>
601 </xslo:template>
602 <xslo:template mode="index_subfields" match="marc:datafield[@tag='651']">
603 <xslo:for-each select="marc:subfield">
604 <xslo:if test="contains('9', @code)">
605 <z:index name="Koha-Auth-Number:w">
606 <xslo:value-of select="."/>
607 </z:index>
608 </xslo:if>
609 </xslo:for-each>
610 </xslo:template>
611 <xslo:template mode="index_subfields" match="marc:datafield[@tag='652']">
612 <xslo:for-each select="marc:subfield">
613 <xslo:if test="contains('9', @code)">
614 <z:index name="Koha-Auth-Number:w">
615 <xslo:value-of select="."/>
616 </z:index>
617 </xslo:if>
618 </xslo:for-each>
619 </xslo:template>
620 <xslo:template mode="index_subfields" match="marc:datafield[@tag='653']">
621 <xslo:for-each select="marc:subfield">
622 <xslo:if test="contains('a', @code)">
623 <z:index name="Index-term-uncontrolled:w Index-term-uncontrolled:p Subject:w Subject:p">
624 <xslo:value-of select="."/>
625 </z:index>
626 </xslo:if>
627 </xslo:for-each>
628 <xslo:for-each select="marc:subfield">
629 <xslo:if test="contains('9', @code)">
630 <z:index name="Koha-Auth-Number:w">
631 <xslo:value-of select="."/>
632 </z:index>
633 </xslo:if>
634 </xslo:for-each>
635 </xslo:template>
636 <xslo:template mode="index_subfields" match="marc:datafield[@tag='654']">
637 <xslo:for-each select="marc:subfield">
638 <xslo:if test="contains('9', @code)">
639 <z:index name="Koha-Auth-Number:w">
640 <xslo:value-of select="."/>
641 </z:index>
642 </xslo:if>
643 </xslo:for-each>
644 </xslo:template>
645 <xslo:template mode="index_subfields" match="marc:datafield[@tag='655']">
646 <xslo:for-each select="marc:subfield">
647 <xslo:if test="contains('a', @code)">
648 <z:index name="Index-term-genre:w Index-term-genre:p Subject:w Subject:p">
649 <xslo:value-of select="."/>
650 </z:index>
651 </xslo:if>
652 </xslo:for-each>
653 <xslo:for-each select="marc:subfield">
654 <xslo:if test="contains('9', @code)">
655 <z:index name="Koha-Auth-Number:w">
656 <xslo:value-of select="."/>
657 </z:index>
658 </xslo:if>
659 </xslo:for-each>
660 </xslo:template>
661 <xslo:template mode="index_subfields" match="marc:datafield[@tag='656']">
662 <xslo:for-each select="marc:subfield">
663 <xslo:if test="contains('9', @code)">
664 <z:index name="Koha-Auth-Number:w">
665 <xslo:value-of select="."/>
666 </z:index>
667 </xslo:if>
668 </xslo:for-each>
669 </xslo:template>
670 <xslo:template mode="index_subfields" match="marc:datafield[@tag='657']">
671 <xslo:for-each select="marc:subfield">
672 <xslo:if test="contains('9', @code)">
673 <z:index name="Koha-Auth-Number:w">
674 <xslo:value-of select="."/>
675 </z:index>
676 </xslo:if>
677 </xslo:for-each>
678 </xslo:template>
679 <xslo:template mode="index_subfields" match="marc:datafield[@tag='658']">
680 <xslo:for-each select="marc:subfield">
681 <xslo:if test="contains('a', @code)">
682 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
683 <xslo:value-of select="."/>
684 </z:index>
685 </xslo:if>
686 </xslo:for-each>
687 <xslo:for-each select="marc:subfield">
688 <xslo:if test="contains('b', @code)">
689 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
690 <xslo:value-of select="."/>
691 </z:index>
692 </xslo:if>
693 </xslo:for-each>
694 <xslo:for-each select="marc:subfield">
695 <xslo:if test="contains('c', @code)">
696 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
697 <xslo:value-of select="."/>
698 </z:index>
699 </xslo:if>
700 </xslo:for-each>
701 </xslo:template>
702 <xslo:template mode="index_subfields" match="marc:datafield[@tag='690']">
703 <xslo:for-each select="marc:subfield">
704 <xslo:if test="contains('9', @code)">
705 <z:index name="Koha-Auth-Number:w">
706 <xslo:value-of select="."/>
707 </z:index>
708 </xslo:if>
709 </xslo:for-each>
710 </xslo:template>
711 <xslo:template mode="index_subfields" match="marc:datafield[@tag='700']">
712 <xslo:for-each select="marc:subfield">
713 <xslo:if test="contains('9', @code)">
714 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
715 <xslo:value-of select="."/>
716 </z:index>
717 </xslo:if>
718 </xslo:for-each>
719 <xslo:for-each select="marc:subfield">
720 <xslo:if test="contains('a', @code)">
721 <z:index name="Author:w Author:p">
722 <xslo:value-of select="."/>
723 </z:index>
724 </xslo:if>
725 </xslo:for-each>
726 <xslo:for-each select="marc:subfield">
727 <xslo:if test="contains('n', @code)">
728 <z:index name="Thematic-number:w">
729 <xslo:value-of select="."/>
730 </z:index>
731 </xslo:if>
732 </xslo:for-each>
733 <xslo:for-each select="marc:subfield">
734 <xslo:if test="contains('r', @code)">
735 <z:index name="Music-key:w">
736 <xslo:value-of select="."/>
737 </z:index>
738 </xslo:if>
739 </xslo:for-each>
740 <xslo:for-each select="marc:subfield">
741 <xslo:if test="contains('t', @code)">
742 <z:index name="Author-title:w Name-and-title:w Title:w Title-uniform:w">
743 <xslo:value-of select="."/>
744 </z:index>
745 </xslo:if>
746 </xslo:for-each>
747 </xslo:template>
748 <xslo:template mode="index_subfields" match="marc:datafield[@tag='710']">
749 <xslo:for-each select="marc:subfield">
750 <xslo:if test="contains('t', @code)">
751 <z:index name="Author-title:w Name-and-title:w Title:w Title-uniform:w">
752 <xslo:value-of select="."/>
753 </z:index>
754 </xslo:if>
755 </xslo:for-each>
756 <xslo:for-each select="marc:subfield">
757 <xslo:if test="contains('a', @code)">
758 <z:index name="Name-and-title:w">
759 <xslo:value-of select="."/>
760 </z:index>
761 </xslo:if>
762 </xslo:for-each>
763 <xslo:for-each select="marc:subfield">
764 <xslo:if test="contains('9', @code)">
765 <z:index name="Koha-Auth-Number:w">
766 <xslo:value-of select="."/>
767 </z:index>
768 </xslo:if>
769 </xslo:for-each>
770 </xslo:template>
771 <xslo:template mode="index_subfields" match="marc:datafield[@tag='711']">
772 <xslo:for-each select="marc:subfield">
773 <xslo:if test="contains('a', @code)">
774 <z:index name="Name-and-title:w">
775 <xslo:value-of select="."/>
776 </z:index>
777 </xslo:if>
778 </xslo:for-each>
779 <xslo:for-each select="marc:subfield">
780 <xslo:if test="contains('t', @code)">
781 <z:index name="Author-title:w Title:w Title-uniform:w">
782 <xslo:value-of select="."/>
783 </z:index>
784 </xslo:if>
785 </xslo:for-each>
786 <xslo:for-each select="marc:subfield">
787 <xslo:if test="contains('9', @code)">
788 <z:index name="Koha-Auth-Number:w">
789 <xslo:value-of select="."/>
790 </z:index>
791 </xslo:if>
792 </xslo:for-each>
793 </xslo:template>
794 <xslo:template mode="index_subfields" match="marc:datafield[@tag='730']">
795 <xslo:for-each select="marc:subfield">
796 <xslo:if test="contains('n', @code)">
797 <z:index name="Thematic-number:w">
798 <xslo:value-of select="."/>
799 </z:index>
800 </xslo:if>
801 </xslo:for-each>
802 <xslo:for-each select="marc:subfield">
803 <xslo:if test="contains('r', @code)">
804 <z:index name="Music-key:w">
805 <xslo:value-of select="."/>
806 </z:index>
807 </xslo:if>
808 </xslo:for-each>
809 <xslo:for-each select="marc:subfield">
810 <xslo:if test="contains('9', @code)">
811 <z:index name="Koha-Auth-Number:w">
812 <xslo:value-of select="."/>
813 </z:index>
814 </xslo:if>
815 </xslo:for-each>
816 </xslo:template>
817 <xslo:template mode="index_subfields" match="marc:datafield[@tag='751']">
818 <xslo:for-each select="marc:subfield">
819 <xslo:if test="contains('a', @code)">
820 <z:index name="Name-geographic:w">
821 <xslo:value-of select="."/>
822 </z:index>
823 </xslo:if>
824 </xslo:for-each>
825 <xslo:for-each select="marc:subfield">
826 <xslo:if test="contains('9', @code)">
827 <z:index name="Koha-Auth-Number:w">
828 <xslo:value-of select="."/>
829 </z:index>
830 </xslo:if>
831 </xslo:for-each>
832 </xslo:template>
833 <xslo:template mode="index_subfields" match="marc:datafield[@tag='770']">
834 <xslo:for-each select="marc:subfield">
835 <xslo:if test="contains('w', @code)">
836 <z:index name="Record-control-number:w">
837 <xslo:value-of select="."/>
838 </z:index>
839 </xslo:if>
840 </xslo:for-each>
841 </xslo:template>
842 <xslo:template mode="index_subfields" match="marc:datafield[@tag='772']">
843 <xslo:for-each select="marc:subfield">
844 <xslo:if test="contains('w', @code)">
845 <z:index name="Record-control-number:w">
846 <xslo:value-of select="."/>
847 </z:index>
848 </xslo:if>
849 </xslo:for-each>
850 </xslo:template>
851 <xslo:template mode="index_subfields" match="marc:datafield[@tag='773']">
852 <xslo:for-each select="marc:subfield">
853 <xslo:if test="contains('a', @code)">
854 <z:index name="Host-item:w">
855 <xslo:value-of select="."/>
856 </z:index>
857 </xslo:if>
858 </xslo:for-each>
859 <xslo:for-each select="marc:subfield">
860 <xslo:if test="contains('9', @code)">
861 <z:index name="Host-Item-Number:w">
862 <xslo:value-of select="."/>
863 </z:index>
864 </xslo:if>
865 </xslo:for-each>
866 <xslo:for-each select="marc:subfield">
867 <xslo:if test="contains('t', @code)">
868 <z:index name="Host-item:w">
869 <xslo:value-of select="."/>
870 </z:index>
871 </xslo:if>
872 </xslo:for-each>
873 <xslo:for-each select="marc:subfield">
874 <xslo:if test="contains('w', @code)">
875 <z:index name="Record-control-number:w">
876 <xslo:value-of select="."/>
877 </z:index>
878 </xslo:if>
879 </xslo:for-each>
880 </xslo:template>
881 <xslo:template mode="index_subfields" match="marc:datafield[@tag='774']">
882 <xslo:for-each select="marc:subfield">
883 <xslo:if test="contains('w', @code)">
884 <z:index name="Record-control-number:w">
885 <xslo:value-of select="."/>
886 </z:index>
887 </xslo:if>
888 </xslo:for-each>
889 </xslo:template>
890 <xslo:template mode="index_subfields" match="marc:datafield[@tag='775']">
891 <xslo:for-each select="marc:subfield">
892 <xslo:if test="contains('w', @code)">
893 <z:index name="Record-control-number:w">
894 <xslo:value-of select="."/>
895 </z:index>
896 </xslo:if>
897 </xslo:for-each>
898 </xslo:template>
899 <xslo:template mode="index_subfields" match="marc:datafield[@tag='776']">
900 <xslo:for-each select="marc:subfield">
901 <xslo:if test="contains('w', @code)">
902 <z:index name="Record-control-number:w">
903 <xslo:value-of select="."/>
904 </z:index>
905 </xslo:if>
906 </xslo:for-each>
907 </xslo:template>
908 <xslo:template mode="index_subfields" match="marc:datafield[@tag='777']">
909 <xslo:for-each select="marc:subfield">
910 <xslo:if test="contains('w', @code)">
911 <z:index name="Record-control-number:w">
912 <xslo:value-of select="."/>
913 </z:index>
914 </xslo:if>
915 </xslo:for-each>
916 </xslo:template>
917 <xslo:template mode="index_subfields" match="marc:datafield[@tag='780']">
918 <xslo:for-each select="marc:subfield">
919 <xslo:if test="contains('t', @code)">
920 <z:index name="Title:w">
921 <xslo:value-of select="."/>
922 </z:index>
923 </xslo:if>
924 </xslo:for-each>
925 <xslo:for-each select="marc:subfield">
926 <xslo:if test="contains('w', @code)">
927 <z:index name="Record-control-number:w">
928 <xslo:value-of select="."/>
929 </z:index>
930 </xslo:if>
931 </xslo:for-each>
932 </xslo:template>
933 <xslo:template mode="index_subfields" match="marc:datafield[@tag='785']">
934 <xslo:for-each select="marc:subfield">
935 <xslo:if test="contains('w', @code)">
936 <z:index name="Record-control-number:w">
937 <xslo:value-of select="."/>
938 </z:index>
939 </xslo:if>
940 </xslo:for-each>
941 </xslo:template>
942 <xslo:template mode="index_subfields" match="marc:datafield[@tag='787']">
943 <xslo:for-each select="marc:subfield">
944 <xslo:if test="contains('w', @code)">
945 <z:index name="Record-control-number:w">
946 <xslo:value-of select="."/>
947 </z:index>
948 </xslo:if>
949 </xslo:for-each>
950 </xslo:template>
951 <xslo:template mode="index_subfields" match="marc:datafield[@tag='800']">
952 <xslo:for-each select="marc:subfield">
953 <xslo:if test="contains('a', @code)">
954 <z:index name="Name-and-title:w Title-series:w Title-series:p">
955 <xslo:value-of select="."/>
956 </z:index>
957 </xslo:if>
958 </xslo:for-each>
959 <xslo:for-each select="marc:subfield">
960 <xslo:if test="contains('t', @code)">
961 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
962 <xslo:value-of select="."/>
963 </z:index>
964 </xslo:if>
965 </xslo:for-each>
966 <xslo:for-each select="marc:subfield">
967 <xslo:if test="contains('9', @code)">
968 <z:index name="Koha-Auth-Number:w">
969 <xslo:value-of select="."/>
970 </z:index>
971 </xslo:if>
972 </xslo:for-each>
973 <xslo:for-each select="marc:subfield">
974 <xslo:if test="contains('w', @code)">
975 <z:index name="Record-control-number:w">
976 <xslo:value-of select="."/>
977 </z:index>
978 </xslo:if>
979 </xslo:for-each>
980 </xslo:template>
981 <xslo:template mode="index_subfields" match="marc:datafield[@tag='810']">
982 <xslo:for-each select="marc:subfield">
983 <xslo:if test="contains('a', @code)">
984 <z:index name="Name-and-title:w Title-series:w Title-series:p">
985 <xslo:value-of select="."/>
986 </z:index>
987 </xslo:if>
988 </xslo:for-each>
989 <xslo:for-each select="marc:subfield">
990 <xslo:if test="contains('t', @code)">
991 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
992 <xslo:value-of select="."/>
993 </z:index>
994 </xslo:if>
995 </xslo:for-each>
996 <xslo:for-each select="marc:subfield">
997 <xslo:if test="contains('w', @code)">
998 <z:index name="Record-control-number:w">
999 <xslo:value-of select="."/>
1000 </z:index>
1001 </xslo:if>
1002 </xslo:for-each>
1003 <xslo:for-each select="marc:subfield">
1004 <xslo:if test="contains('9', @code)">
1005 <z:index name="Koha-Auth-Number:w">
1006 <xslo:value-of select="."/>
1007 </z:index>
1008 </xslo:if>
1009 </xslo:for-each>
1010 </xslo:template>
1011 <xslo:template mode="index_subfields" match="marc:datafield[@tag='811']">
1012 <xslo:for-each select="marc:subfield">
1013 <xslo:if test="contains('a', @code)">
1014 <z:index name="Name-and-title:w Title-series:w Title-series:p">
1015 <xslo:value-of select="."/>
1016 </z:index>
1017 </xslo:if>
1018 </xslo:for-each>
1019 <xslo:for-each select="marc:subfield">
1020 <xslo:if test="contains('9', @code)">
1021 <z:index name="Koha-Auth-Number:w">
1022 <xslo:value-of select="."/>
1023 </z:index>
1024 </xslo:if>
1025 </xslo:for-each>
1026 <xslo:for-each select="marc:subfield">
1027 <xslo:if test="contains('t', @code)">
1028 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
1029 <xslo:value-of select="."/>
1030 </z:index>
1031 </xslo:if>
1032 </xslo:for-each>
1033 <xslo:for-each select="marc:subfield">
1034 <xslo:if test="contains('w', @code)">
1035 <z:index name="Record-control-number:w">
1036 <xslo:value-of select="."/>
1037 </z:index>
1038 </xslo:if>
1039 </xslo:for-each>
1040 </xslo:template>
1041 <xslo:template mode="index_subfields" match="marc:datafield[@tag='830']">
1042 <xslo:for-each select="marc:subfield">
1043 <xslo:if test="contains('w', @code)">
1044 <z:index name="Record-control-number:w">
1045 <xslo:value-of select="."/>
1046 </z:index>
1047 </xslo:if>
1048 </xslo:for-each>
1049 <xslo:for-each select="marc:subfield">
1050 <xslo:if test="contains('9', @code)">
1051 <z:index name="Koha-Auth-Number:w">
1052 <xslo:value-of select="."/>
1053 </z:index>
1054 </xslo:if>
1055 </xslo:for-each>
1056 </xslo:template>
1057 <xslo:template mode="index_subfields" match="marc:datafield[@tag='999']">
1058 <xslo:for-each select="marc:subfield">
1059 <xslo:if test="contains('c', @code)">
1060 <z:index name="Local-Number:n Local-Number:w Local-Number:s">
1061 <xslo:value-of select="."/>
1062 </z:index>
1063 </xslo:if>
1064 </xslo:for-each>
1065 <xslo:for-each select="marc:subfield">
1066 <xslo:if test="contains('d', @code)">
1067 <z:index name="biblioitemnumber:n biblioitemnumber:w biblioitemnumber:s">
1068 <xslo:value-of select="."/>
1069 </z:index>
1070 </xslo:if>
1071 </xslo:for-each>
1072 </xslo:template>
1073 <xslo:template mode="index_subfields" match="marc:datafield[@tag='942']">
1074 <xslo:for-each select="marc:subfield">
1075 <xslo:if test="contains('0', @code)">
1076 <z:index name="totalissues:n totalissues:s">
1077 <xslo:value-of select="."/>
1078 </z:index>
1079 </xslo:if>
1080 </xslo:for-each>
1081 <xslo:for-each select="marc:subfield">
1082 <xslo:if test="contains('2', @code)">
1083 <z:index name="cn-bib-source:w">
1084 <xslo:value-of select="."/>
1085 </z:index>
1086 </xslo:if>
1087 </xslo:for-each>
1088 <xslo:for-each select="marc:subfield">
1089 <xslo:if test="contains('6', @code)">
1090 <z:index name="cn-bib-sort:n cn-bib-sort:s">
1091 <xslo:value-of select="."/>
1092 </z:index>
1093 </xslo:if>
1094 </xslo:for-each>
1095 <xslo:for-each select="marc:subfield">
1096 <xslo:if test="contains('c', @code)">
1097 <z:index name="itemtype:w itemtype:p itype:w itype:p">
1098 <xslo:value-of select="."/>
1099 </z:index>
1100 </xslo:if>
1101 </xslo:for-each>
1102 <xslo:for-each select="marc:subfield">
1103 <xslo:if test="contains('n', @code)">
1104 <z:index name="Suppress:w Suppress:n">
1105 <xslo:value-of select="."/>
1106 </z:index>
1107 </xslo:if>
1108 </xslo:for-each>
1109 <xslo:for-each select="marc:subfield">
1110 <xslo:if test="contains('h', @code)">
1111 <z:index name="cn-class:w">
1112 <xslo:value-of select="."/>
1113 </z:index>
1114 </xslo:if>
1115 </xslo:for-each>
1116 <xslo:for-each select="marc:subfield">
1117 <xslo:if test="contains('i', @code)">
1118 <z:index name="cn-item:w">
1119 <xslo:value-of select="."/>
1120 </z:index>
1121 </xslo:if>
1122 </xslo:for-each>
1123 <xslo:for-each select="marc:subfield">
1124 <xslo:if test="contains('k', @code)">
1125 <z:index name="cn-prefix:w">
1126 <xslo:value-of select="."/>
1127 </z:index>
1128 </xslo:if>
1129 </xslo:for-each>
1130 <xslo:for-each select="marc:subfield">
1131 <xslo:if test="contains('m', @code)">
1132 <z:index name="cn-suffix:w">
1133 <xslo:value-of select="."/>
1134 </z:index>
1135 </xslo:if>
1136 </xslo:for-each>
1137 </xslo:template>
1138 <xslo:template mode="index_subfields" match="marc:datafield[@tag='952']">
1139 <xslo:for-each select="marc:subfield">
1140 <xslo:if test="contains('0', @code)">
1141 <z:index name="withdrawn:n withdrawn:w">
1142 <xslo:value-of select="."/>
1143 </z:index>
1144 </xslo:if>
1145 </xslo:for-each>
1146 <xslo:for-each select="marc:subfield">
1147 <xslo:if test="contains('1', @code)">
1148 <z:index name="lost:w lost:n">
1149 <xslo:value-of select="."/>
1150 </z:index>
1151 </xslo:if>
1152 </xslo:for-each>
1153 <xslo:for-each select="marc:subfield">
1154 <xslo:if test="contains('2', @code)">
1155 <z:index name="classification-source:w">
1156 <xslo:value-of select="."/>
1157 </z:index>
1158 </xslo:if>
1159 </xslo:for-each>
1160 <xslo:for-each select="marc:subfield">
1161 <xslo:if test="contains('3', @code)">
1162 <z:index name="materials-specified:w">
1163 <xslo:value-of select="."/>
1164 </z:index>
1165 </xslo:if>
1166 </xslo:for-each>
1167 <xslo:for-each select="marc:subfield">
1168 <xslo:if test="contains('4', @code)">
1169 <z:index name="damaged:n damaged:w">
1170 <xslo:value-of select="."/>
1171 </z:index>
1172 </xslo:if>
1173 </xslo:for-each>
1174 <xslo:for-each select="marc:subfield">
1175 <xslo:if test="contains('5', @code)">
1176 <z:index name="restricted:n restricted:w">
1177 <xslo:value-of select="."/>
1178 </z:index>
1179 </xslo:if>
1180 </xslo:for-each>
1181 <xslo:for-each select="marc:subfield">
1182 <xslo:if test="contains('6', @code)">
1183 <z:index name="cn-sort:n cn-sort:s">
1184 <xslo:value-of select="."/>
1185 </z:index>
1186 </xslo:if>
1187 </xslo:for-each>
1188 <xslo:for-each select="marc:subfield">
1189 <xslo:if test="contains('7', @code)">
1190 <z:index name="notforloan:n notforloan:w">
1191 <xslo:value-of select="."/>
1192 </z:index>
1193 </xslo:if>
1194 </xslo:for-each>
1195 <xslo:for-each select="marc:subfield">
1196 <xslo:if test="contains('8', @code)">
1197 <z:index name="ccode:w ccode:p">
1198 <xslo:value-of select="."/>
1199 </z:index>
1200 </xslo:if>
1201 </xslo:for-each>
1202 <xslo:for-each select="marc:subfield">
1203 <xslo:if test="contains('9', @code)">
1204 <z:index name="itemnumber:n itemnumber:s">
1205 <xslo:value-of select="."/>
1206 </z:index>
1207 </xslo:if>
1208 </xslo:for-each>
1209 <xslo:for-each select="marc:subfield">
1210 <xslo:if test="contains('a', @code)">
1211 <z:index name="homebranch:w">
1212 <xslo:value-of select="."/>
1213 </z:index>
1214 </xslo:if>
1215 </xslo:for-each>
1216 <xslo:for-each select="marc:subfield">
1217 <xslo:if test="contains('b', @code)">
1218 <z:index name="holdingbranch:w">
1219 <xslo:value-of select="."/>
1220 </z:index>
1221 </xslo:if>
1222 </xslo:for-each>
1223 <xslo:for-each select="marc:subfield">
1224 <xslo:if test="contains('c', @code)">
1225 <z:index name="location:w">
1226 <xslo:value-of select="."/>
1227 </z:index>
1228 </xslo:if>
1229 </xslo:for-each>
1230 <xslo:for-each select="marc:subfield">
1231 <xslo:if test="contains('d', @code)">
1232 <z:index name="Date-of-acquisition:w Date-of-acquisition:d Date-of-acquisition:s">
1233 <xslo:value-of select="."/>
1234 </z:index>
1235 </xslo:if>
1236 </xslo:for-each>
1237 <xslo:for-each select="marc:subfield">
1238 <xslo:if test="contains('e', @code)">
1239 <z:index name="acqsource:w">
1240 <xslo:value-of select="."/>
1241 </z:index>
1242 </xslo:if>
1243 </xslo:for-each>
1244 <xslo:for-each select="marc:subfield">
1245 <xslo:if test="contains('f', @code)">
1246 <z:index name="coded-location-qualifier:w">
1247 <xslo:value-of select="."/>
1248 </z:index>
1249 </xslo:if>
1250 </xslo:for-each>
1251 <xslo:for-each select="marc:subfield">
1252 <xslo:if test="contains('g', @code)">
1253 <z:index name="price:w">
1254 <xslo:value-of select="."/>
1255 </z:index>
1256 </xslo:if>
1257 </xslo:for-each>
1258 <xslo:for-each select="marc:subfield">
1259 <xslo:if test="contains('i', @code)">
1260 <z:index name="Number-local-acquisition:w">
1261 <xslo:value-of select="."/>
1262 </z:index>
1263 </xslo:if>
1264 </xslo:for-each>
1265 <xslo:for-each select="marc:subfield">
1266 <xslo:if test="contains('j', @code)">
1267 <z:index name="stack:n stack:w">
1268 <xslo:value-of select="."/>
1269 </z:index>
1270 </xslo:if>
1271 </xslo:for-each>
1272 <xslo:for-each select="marc:subfield">
1273 <xslo:if test="contains('l', @code)">
1274 <z:index name="issues:n issues:w issues:s">
1275 <xslo:value-of select="."/>
1276 </z:index>
1277 </xslo:if>
1278 </xslo:for-each>
1279 <xslo:for-each select="marc:subfield">
1280 <xslo:if test="contains('m', @code)">
1281 <z:index name="renewals:n renewals:w">
1282 <xslo:value-of select="."/>
1283 </z:index>
1284 </xslo:if>
1285 </xslo:for-each>
1286 <xslo:for-each select="marc:subfield">
1287 <xslo:if test="contains('n', @code)">
1288 <z:index name="reserves:n reserves:w">
1289 <xslo:value-of select="."/>
1290 </z:index>
1291 </xslo:if>
1292 </xslo:for-each>
1293 <xslo:for-each select="marc:subfield">
1294 <xslo:if test="contains('o', @code)">
1295 <z:index name="Local-classification:w Local-classification:p Local-classification:s">
1296 <xslo:value-of select="."/>
1297 </z:index>
1298 </xslo:if>
1299 </xslo:for-each>
1300 <xslo:for-each select="marc:subfield">
1301 <xslo:if test="contains('p', @code)">
1302 <z:index name="barcode:w barcode:n">
1303 <xslo:value-of select="."/>
1304 </z:index>
1305 </xslo:if>
1306 </xslo:for-each>
1307 <xslo:for-each select="marc:subfield">
1308 <xslo:if test="contains('q', @code)">
1309 <z:index name="onloan:n onloan:w">
1310 <xslo:value-of select="."/>
1311 </z:index>
1312 </xslo:if>
1313 </xslo:for-each>
1314 <xslo:for-each select="marc:subfield">
1315 <xslo:if test="contains('r', @code)">
1316 <z:index name="datelastseen:w">
1317 <xslo:value-of select="."/>
1318 </z:index>
1319 </xslo:if>
1320 </xslo:for-each>
1321 <xslo:for-each select="marc:subfield">
1322 <xslo:if test="contains('s', @code)">
1323 <z:index name="datelastborrowed:w">
1324 <xslo:value-of select="."/>
1325 </z:index>
1326 </xslo:if>
1327 </xslo:for-each>
1328 <xslo:for-each select="marc:subfield">
1329 <xslo:if test="contains('t', @code)">
1330 <z:index name="copynumber:w">
1331 <xslo:value-of select="."/>
1332 </z:index>
1333 </xslo:if>
1334 </xslo:for-each>
1335 <xslo:for-each select="marc:subfield">
1336 <xslo:if test="contains('u', @code)">
1337 <z:index name="uri:u">
1338 <xslo:value-of select="."/>
1339 </z:index>
1340 </xslo:if>
1341 </xslo:for-each>
1342 <xslo:for-each select="marc:subfield">
1343 <xslo:if test="contains('v', @code)">
1344 <z:index name="replacementprice:w">
1345 <xslo:value-of select="."/>
1346 </z:index>
1347 </xslo:if>
1348 </xslo:for-each>
1349 <xslo:for-each select="marc:subfield">
1350 <xslo:if test="contains('w', @code)">
1351 <z:index name="replacementpricedate:w">
1352 <xslo:value-of select="."/>
1353 </z:index>
1354 </xslo:if>
1355 </xslo:for-each>
1356 <xslo:for-each select="marc:subfield">
1357 <xslo:if test="contains('y', @code)">
1358 <z:index name="itype:w itype:p">
1359 <xslo:value-of select="."/>
1360 </z:index>
1361 </xslo:if>
1362 </xslo:for-each>
1363 <xslo:for-each select="marc:subfield">
1364 <xslo:if test="contains('z', @code)">
1365 <z:index name="Note:w Note:p">
1366 <xslo:value-of select="."/>
1367 </z:index>
1368 </xslo:if>
1369 </xslo:for-each>
1370 </xslo:template>
1371 <xslo:template mode="index_data_field" match="marc:datafield[@tag='010']">
1372 <z:index name="LC-card-number:w Identifier-standard:w">
1373 <xslo:variable name="raw_heading">
1374 <xslo:for-each select="marc:subfield">
1375 <xslo:if test="position() &gt; 1">
1376 <xslo:value-of select="substring(' ', 1, 1)"/>
1377 </xslo:if>
1378 <xslo:value-of select="."/>
1379 </xslo:for-each>
1380 </xslo:variable>
1381 <xslo:value-of select="normalize-space($raw_heading)"/>
1382 </z:index>
1383 </xslo:template>
1384 <xslo:template mode="index_data_field" match="marc:datafield[@tag='011']">
1385 <z:index name="LC-card-number:w Identifier-standard:w">
1386 <xslo:variable name="raw_heading">
1387 <xslo:for-each select="marc:subfield">
1388 <xslo:if test="position() &gt; 1">
1389 <xslo:value-of select="substring(' ', 1, 1)"/>
1390 </xslo:if>
1391 <xslo:value-of select="."/>
1392 </xslo:for-each>
1393 </xslo:variable>
1394 <xslo:value-of select="normalize-space($raw_heading)"/>
1395 </z:index>
1396 </xslo:template>
1397 <xslo:template mode="index_data_field" match="marc:datafield[@tag='015']">
1398 <z:index name="BNB-card-number:w BGF-number:w Number-db:w Number-natl-biblio:w Identifier-standard:w">
1399 <xslo:variable name="raw_heading">
1400 <xslo:for-each select="marc:subfield">
1401 <xslo:if test="position() &gt; 1">
1402 <xslo:value-of select="substring(' ', 1, 1)"/>
1403 </xslo:if>
1404 <xslo:value-of select="."/>
1405 </xslo:for-each>
1406 </xslo:variable>
1407 <xslo:value-of select="normalize-space($raw_heading)"/>
1408 </z:index>
1409 </xslo:template>
1410 <xslo:template mode="index_data_field" match="marc:datafield[@tag='017']">
1411 <z:index name="Number-legal-deposit:w Identifier-standard:w">
1412 <xslo:variable name="raw_heading">
1413 <xslo:for-each select="marc:subfield">
1414 <xslo:if test="position() &gt; 1">
1415 <xslo:value-of select="substring(' ', 1, 1)"/>
1416 </xslo:if>
1417 <xslo:value-of select="."/>
1418 </xslo:for-each>
1419 </xslo:variable>
1420 <xslo:value-of select="normalize-space($raw_heading)"/>
1421 </z:index>
1422 </xslo:template>
1423 <xslo:template mode="index_data_field" match="marc:datafield[@tag='018']">
1424 <z:index name="Identifier-standard:w">
1425 <xslo:variable name="raw_heading">
1426 <xslo:for-each select="marc:subfield">
1427 <xslo:if test="position() &gt; 1">
1428 <xslo:value-of select="substring(' ', 1, 1)"/>
1429 </xslo:if>
1430 <xslo:value-of select="."/>
1431 </xslo:for-each>
1432 </xslo:variable>
1433 <xslo:value-of select="normalize-space($raw_heading)"/>
1434 </z:index>
1435 </xslo:template>
1436 <xslo:template mode="index_data_field" match="marc:datafield[@tag='020']">
1437 <z:index name="Identifier-standard:w">
1438 <xslo:variable name="raw_heading">
1439 <xslo:for-each select="marc:subfield">
1440 <xslo:if test="position() &gt; 1">
1441 <xslo:value-of select="substring(' ', 1, 1)"/>
1442 </xslo:if>
1443 <xslo:value-of select="."/>
1444 </xslo:for-each>
1445 </xslo:variable>
1446 <xslo:value-of select="normalize-space($raw_heading)"/>
1447 </z:index>
1448 </xslo:template>
1449 <xslo:template mode="index_data_field" match="marc:datafield[@tag='022']">
1450 <z:index name="Identifier-standard:w">
1451 <xslo:variable name="raw_heading">
1452 <xslo:for-each select="marc:subfield">
1453 <xslo:if test="position() &gt; 1">
1454 <xslo:value-of select="substring(' ', 1, 1)"/>
1455 </xslo:if>
1456 <xslo:value-of select="."/>
1457 </xslo:for-each>
1458 </xslo:variable>
1459 <xslo:value-of select="normalize-space($raw_heading)"/>
1460 </z:index>
1461 </xslo:template>
1462 <xslo:template mode="index_data_field" match="marc:datafield[@tag='023']">
1463 <z:index name="Identifier-standard:w">
1464 <xslo:variable name="raw_heading">
1465 <xslo:for-each select="marc:subfield">
1466 <xslo:if test="position() &gt; 1">
1467 <xslo:value-of select="substring(' ', 1, 1)"/>
1468 </xslo:if>
1469 <xslo:value-of select="."/>
1470 </xslo:for-each>
1471 </xslo:variable>
1472 <xslo:value-of select="normalize-space($raw_heading)"/>
1473 </z:index>
1474 </xslo:template>
1475 <xslo:template mode="index_data_field" match="marc:datafield[@tag='024']">
1476 <z:index name="Identifier-standard:w">
1477 <xslo:variable name="raw_heading">
1478 <xslo:for-each select="marc:subfield">
1479 <xslo:if test="position() &gt; 1">
1480 <xslo:value-of select="substring(' ', 1, 1)"/>
1481 </xslo:if>
1482 <xslo:value-of select="."/>
1483 </xslo:for-each>
1484 </xslo:variable>
1485 <xslo:value-of select="normalize-space($raw_heading)"/>
1486 </z:index>
1487 </xslo:template>
1488 <xslo:template mode="index_data_field" match="marc:datafield[@tag='025']">
1489 <z:index name="Identifier-standard:w">
1490 <xslo:variable name="raw_heading">
1491 <xslo:for-each select="marc:subfield">
1492 <xslo:if test="position() &gt; 1">
1493 <xslo:value-of select="substring(' ', 1, 1)"/>
1494 </xslo:if>
1495 <xslo:value-of select="."/>
1496 </xslo:for-each>
1497 </xslo:variable>
1498 <xslo:value-of select="normalize-space($raw_heading)"/>
1499 </z:index>
1500 </xslo:template>
1501 <xslo:template mode="index_data_field" match="marc:datafield[@tag='027']">
1502 <z:index name="Report-number:w Identifier-standard:w">
1503 <xslo:variable name="raw_heading">
1504 <xslo:for-each select="marc:subfield">
1505 <xslo:if test="position() &gt; 1">
1506 <xslo:value-of select="substring(' ', 1, 1)"/>
1507 </xslo:if>
1508 <xslo:value-of select="."/>
1509 </xslo:for-each>
1510 </xslo:variable>
1511 <xslo:value-of select="normalize-space($raw_heading)"/>
1512 </z:index>
1513 </xslo:template>
1514 <xslo:template mode="index_data_field" match="marc:datafield[@tag='028']">
1515 <z:index name="Identifier-publisher-for-music:w Identifier-standard:w">
1516 <xslo:variable name="raw_heading">
1517 <xslo:for-each select="marc:subfield">
1518 <xslo:if test="position() &gt; 1">
1519 <xslo:value-of select="substring(' ', 1, 1)"/>
1520 </xslo:if>
1521 <xslo:value-of select="."/>
1522 </xslo:for-each>
1523 </xslo:variable>
1524 <xslo:value-of select="normalize-space($raw_heading)"/>
1525 </z:index>
1526 </xslo:template>
1527 <xslo:template mode="index_data_field" match="marc:datafield[@tag='030']">
1528 <z:index name="CODEN:w Identifier-standard:w">
1529 <xslo:variable name="raw_heading">
1530 <xslo:for-each select="marc:subfield">
1531 <xslo:if test="position() &gt; 1">
1532 <xslo:value-of select="substring(' ', 1, 1)"/>
1533 </xslo:if>
1534 <xslo:value-of select="."/>
1535 </xslo:for-each>
1536 </xslo:variable>
1537 <xslo:value-of select="normalize-space($raw_heading)"/>
1538 </z:index>
1539 </xslo:template>
1540 <xslo:template mode="index_data_field" match="marc:datafield[@tag='034']">
1541 <z:index name="Map-scale:w">
1542 <xslo:variable name="raw_heading">
1543 <xslo:for-each select="marc:subfield">
1544 <xslo:if test="position() &gt; 1">
1545 <xslo:value-of select="substring(' ', 1, 1)"/>
1546 </xslo:if>
1547 <xslo:value-of select="."/>
1548 </xslo:for-each>
1549 </xslo:variable>
1550 <xslo:value-of select="normalize-space($raw_heading)"/>
1551 </z:index>
1552 </xslo:template>
1553 <xslo:template mode="index_data_field" match="marc:datafield[@tag='037']">
1554 <z:index name="Identifier-standard:w Stock-number:w">
1555 <xslo:variable name="raw_heading">
1556 <xslo:for-each select="marc:subfield">
1557 <xslo:if test="position() &gt; 1">
1558 <xslo:value-of select="substring(' ', 1, 1)"/>
1559 </xslo:if>
1560 <xslo:value-of select="."/>
1561 </xslo:for-each>
1562 </xslo:variable>
1563 <xslo:value-of select="normalize-space($raw_heading)"/>
1564 </z:index>
1565 </xslo:template>
1566 <xslo:template mode="index_data_field" match="marc:datafield[@tag='040']">
1567 <z:index name="Code-institution:w Record-source:w">
1568 <xslo:variable name="raw_heading">
1569 <xslo:for-each select="marc:subfield">
1570 <xslo:if test="position() &gt; 1">
1571 <xslo:value-of select="substring(' ', 1, 1)"/>
1572 </xslo:if>
1573 <xslo:value-of select="."/>
1574 </xslo:for-each>
1575 </xslo:variable>
1576 <xslo:value-of select="normalize-space($raw_heading)"/>
1577 </z:index>
1578 </xslo:template>
1579 <xslo:template mode="index_data_field" match="marc:datafield[@tag='043']">
1580 <z:index name="Code-geographic:w">
1581 <xslo:variable name="raw_heading">
1582 <xslo:for-each select="marc:subfield">
1583 <xslo:if test="position() &gt; 1">
1584 <xslo:value-of select="substring(' ', 1, 1)"/>
1585 </xslo:if>
1586 <xslo:value-of select="."/>
1587 </xslo:for-each>
1588 </xslo:variable>
1589 <xslo:value-of select="normalize-space($raw_heading)"/>
1590 </z:index>
1591 </xslo:template>
1592 <xslo:template mode="index_data_field" match="marc:datafield[@tag='050']">
1593 <z:index name="LC-call-number:w LC-call-number:p LC-call-number:s">
1594 <xslo:variable name="raw_heading">
1595 <xslo:for-each select="marc:subfield">
1596 <xslo:if test="position() &gt; 1">
1597 <xslo:value-of select="substring(' ', 1, 1)"/>
1598 </xslo:if>
1599 <xslo:value-of select="."/>
1600 </xslo:for-each>
1601 </xslo:variable>
1602 <xslo:value-of select="normalize-space($raw_heading)"/>
1603 </z:index>
1604 </xslo:template>
1605 <xslo:template mode="index_data_field" match="marc:datafield[@tag='052']">
1606 <z:index name="Geographic-class:w">
1607 <xslo:variable name="raw_heading">
1608 <xslo:for-each select="marc:subfield">
1609 <xslo:if test="position() &gt; 1">
1610 <xslo:value-of select="substring(' ', 1, 1)"/>
1611 </xslo:if>
1612 <xslo:value-of select="."/>
1613 </xslo:for-each>
1614 </xslo:variable>
1615 <xslo:value-of select="normalize-space($raw_heading)"/>
1616 </z:index>
1617 </xslo:template>
1618 <xslo:template mode="index_data_field" match="marc:datafield[@tag='060']">
1619 <z:index name="NLM-call-number:w">
1620 <xslo:variable name="raw_heading">
1621 <xslo:for-each select="marc:subfield">
1622 <xslo:if test="position() &gt; 1">
1623 <xslo:value-of select="substring(' ', 1, 1)"/>
1624 </xslo:if>
1625 <xslo:value-of select="."/>
1626 </xslo:for-each>
1627 </xslo:variable>
1628 <xslo:value-of select="normalize-space($raw_heading)"/>
1629 </z:index>
1630 </xslo:template>
1631 <xslo:template mode="index_data_field" match="marc:datafield[@tag='070']">
1632 <z:index name="NAL-call-number:w">
1633 <xslo:variable name="raw_heading">
1634 <xslo:for-each select="marc:subfield">
1635 <xslo:if test="position() &gt; 1">
1636 <xslo:value-of select="substring(' ', 1, 1)"/>
1637 </xslo:if>
1638 <xslo:value-of select="."/>
1639 </xslo:for-each>
1640 </xslo:variable>
1641 <xslo:value-of select="normalize-space($raw_heading)"/>
1642 </z:index>
1643 </xslo:template>
1644 <xslo:template mode="index_data_field" match="marc:datafield[@tag='080']">
1645 <z:index name="UDC-classification:w">
1646 <xslo:variable name="raw_heading">
1647 <xslo:for-each select="marc:subfield">
1648 <xslo:if test="position() &gt; 1">
1649 <xslo:value-of select="substring(' ', 1, 1)"/>
1650 </xslo:if>
1651 <xslo:value-of select="."/>
1652 </xslo:for-each>
1653 </xslo:variable>
1654 <xslo:value-of select="normalize-space($raw_heading)"/>
1655 </z:index>
1656 </xslo:template>
1657 <xslo:template mode="index_data_field" match="marc:datafield[@tag='082']">
1658 <z:index name="Dewey-classification:w Dewey-classification:s">
1659 <xslo:variable name="raw_heading">
1660 <xslo:for-each select="marc:subfield">
1661 <xslo:if test="position() &gt; 1">
1662 <xslo:value-of select="substring(' ', 1, 1)"/>
1663 </xslo:if>
1664 <xslo:value-of select="."/>
1665 </xslo:for-each>
1666 </xslo:variable>
1667 <xslo:value-of select="normalize-space($raw_heading)"/>
1668 </z:index>
1669 </xslo:template>
1670 <xslo:template mode="index_data_field" match="marc:datafield[@tag='086']">
1671 <z:index name="Number-govt-pub:w">
1672 <xslo:variable name="raw_heading">
1673 <xslo:for-each select="marc:subfield">
1674 <xslo:if test="position() &gt; 1">
1675 <xslo:value-of select="substring(' ', 1, 1)"/>
1676 </xslo:if>
1677 <xslo:value-of select="."/>
1678 </xslo:for-each>
1679 </xslo:variable>
1680 <xslo:value-of select="normalize-space($raw_heading)"/>
1681 </z:index>
1682 </xslo:template>
1683 <xslo:template mode="index_data_field" match="marc:datafield[@tag='100']">
1684 <z:index name="Author:w Author:p Author:s Author-title:w Author-name-personal:w Name:w Name-and-title:w Personal-name:w">
1685 <xslo:variable name="raw_heading">
1686 <xslo:for-each select="marc:subfield">
1687 <xslo:if test="position() &gt; 1">
1688 <xslo:value-of select="substring(' ', 1, 1)"/>
1689 </xslo:if>
1690 <xslo:value-of select="."/>
1691 </xslo:for-each>
1692 </xslo:variable>
1693 <xslo:value-of select="normalize-space($raw_heading)"/>
1694 </z:index>
1695 </xslo:template>
1696 <xslo:template mode="index_data_field" match="marc:datafield[@tag='110']">
1697 <z:index name="Author:w Author:p Author:s Author-title:w Author-name-corporate:w Name:w Name-and-title:w Corporate-name:w">
1698 <xslo:variable name="raw_heading">
1699 <xslo:for-each select="marc:subfield">
1700 <xslo:if test="position() &gt; 1">
1701 <xslo:value-of select="substring(' ', 1, 1)"/>
1702 </xslo:if>
1703 <xslo:value-of select="."/>
1704 </xslo:for-each>
1705 </xslo:variable>
1706 <xslo:value-of select="normalize-space($raw_heading)"/>
1707 </z:index>
1708 </xslo:template>
1709 <xslo:template mode="index_data_field" match="marc:datafield[@tag='111']">
1710 <z:index name="Author:w Author:p Author:s Author-title:w Author-name-corporate:w Name:w Name-and-title:w Conference-name:w">
1711 <xslo:variable name="raw_heading">
1712 <xslo:for-each select="marc:subfield">
1713 <xslo:if test="position() &gt; 1">
1714 <xslo:value-of select="substring(' ', 1, 1)"/>
1715 </xslo:if>
1716 <xslo:value-of select="."/>
1717 </xslo:for-each>
1718 </xslo:variable>
1719 <xslo:value-of select="normalize-space($raw_heading)"/>
1720 </z:index>
1721 </xslo:template>
1722 <xslo:template mode="index_data_field" match="marc:datafield[@tag='130']">
1723 <z:index name="Title:w Title:p Title-uniform:w">
1724 <xslo:variable name="raw_heading">
1725 <xslo:for-each select="marc:subfield">
1726 <xslo:if test="position() &gt; 1">
1727 <xslo:value-of select="substring(' ', 1, 1)"/>
1728 </xslo:if>
1729 <xslo:value-of select="."/>
1730 </xslo:for-each>
1731 </xslo:variable>
1732 <xslo:value-of select="normalize-space($raw_heading)"/>
1733 </z:index>
1734 </xslo:template>
1735 <xslo:template mode="index_data_field" match="marc:datafield[@tag='210']">
1736 <z:index name="Title:w Title:p Title-abbreviated:w">
1737 <xslo:variable name="raw_heading">
1738 <xslo:for-each select="marc:subfield">
1739 <xslo:if test="position() &gt; 1">
1740 <xslo:value-of select="substring(' ', 1, 1)"/>
1741 </xslo:if>
1742 <xslo:value-of select="."/>
1743 </xslo:for-each>
1744 </xslo:variable>
1745 <xslo:value-of select="normalize-space($raw_heading)"/>
1746 </z:index>
1747 </xslo:template>
1748 <xslo:template mode="index_data_field" match="marc:datafield[@tag='211']">
1749 <z:index name="Title:w Title:p Title-abbreviated:w">
1750 <xslo:variable name="raw_heading">
1751 <xslo:for-each select="marc:subfield">
1752 <xslo:if test="position() &gt; 1">
1753 <xslo:value-of select="substring(' ', 1, 1)"/>
1754 </xslo:if>
1755 <xslo:value-of select="."/>
1756 </xslo:for-each>
1757 </xslo:variable>
1758 <xslo:value-of select="normalize-space($raw_heading)"/>
1759 </z:index>
1760 </xslo:template>
1761 <xslo:template mode="index_data_field" match="marc:datafield[@tag='212']">
1762 <z:index name="Title:w Title:p Title-other-variant:w">
1763 <xslo:variable name="raw_heading">
1764 <xslo:for-each select="marc:subfield">
1765 <xslo:if test="position() &gt; 1">
1766 <xslo:value-of select="substring(' ', 1, 1)"/>
1767 </xslo:if>
1768 <xslo:value-of select="."/>
1769 </xslo:for-each>
1770 </xslo:variable>
1771 <xslo:value-of select="normalize-space($raw_heading)"/>
1772 </z:index>
1773 </xslo:template>
1774 <xslo:template mode="index_data_field" match="marc:datafield[@tag='214']">
1775 <z:index name="Title:w Title:p Title-expanded:w">
1776 <xslo:variable name="raw_heading">
1777 <xslo:for-each select="marc:subfield">
1778 <xslo:if test="position() &gt; 1">
1779 <xslo:value-of select="substring(' ', 1, 1)"/>
1780 </xslo:if>
1781 <xslo:value-of select="."/>
1782 </xslo:for-each>
1783 </xslo:variable>
1784 <xslo:value-of select="normalize-space($raw_heading)"/>
1785 </z:index>
1786 </xslo:template>
1787 <xslo:template mode="index_data_field" match="marc:datafield[@tag='222']">
1788 <z:index name="Title:w Title:p Title-key:w">
1789 <xslo:variable name="raw_heading">
1790 <xslo:for-each select="marc:subfield">
1791 <xslo:if test="position() &gt; 1">
1792 <xslo:value-of select="substring(' ', 1, 1)"/>
1793 </xslo:if>
1794 <xslo:value-of select="."/>
1795 </xslo:for-each>
1796 </xslo:variable>
1797 <xslo:value-of select="normalize-space($raw_heading)"/>
1798 </z:index>
1799 </xslo:template>
1800 <xslo:template mode="index_data_field" match="marc:datafield[@tag='240']">
1801 <z:index name="Title:w Title:p Title-uniform:w">
1802 <xslo:variable name="raw_heading">
1803 <xslo:for-each select="marc:subfield">
1804 <xslo:if test="position() &gt; 1">
1805 <xslo:value-of select="substring(' ', 1, 1)"/>
1806 </xslo:if>
1807 <xslo:value-of select="."/>
1808 </xslo:for-each>
1809 </xslo:variable>
1810 <xslo:value-of select="normalize-space($raw_heading)"/>
1811 </z:index>
1812 </xslo:template>
1813 <xslo:template mode="index_data_field" match="marc:datafield[@tag='243']">
1814 <z:index name="Title:w Title:p Title-collective:w">
1815 <xslo:variable name="raw_heading">
1816 <xslo:for-each select="marc:subfield">
1817 <xslo:if test="position() &gt; 1">
1818 <xslo:value-of select="substring(' ', 1, 1)"/>
1819 </xslo:if>
1820 <xslo:value-of select="."/>
1821 </xslo:for-each>
1822 </xslo:variable>
1823 <xslo:value-of select="normalize-space($raw_heading)"/>
1824 </z:index>
1825 </xslo:template>
1826 <xslo:template mode="index_data_field" match="marc:datafield[@tag='245']">
1827 <z:index name="Title:w Title:p">
1828 <xslo:variable name="raw_heading">
1829 <xslo:for-each select="marc:subfield">
1830 <xslo:if test="position() &gt; 1">
1831 <xslo:value-of select="substring(' ', 1, 1)"/>
1832 </xslo:if>
1833 <xslo:value-of select="."/>
1834 </xslo:for-each>
1835 </xslo:variable>
1836 <xslo:value-of select="normalize-space($raw_heading)"/>
1837 </z:index>
1838 </xslo:template>
1839 <xslo:template mode="index_data_field" match="marc:datafield[@tag='246']">
1840 <z:index name="Title:w Title:p Title-abbreviated:w Title-expanded:w Title-former:w">
1841 <xslo:variable name="raw_heading">
1842 <xslo:for-each select="marc:subfield">
1843 <xslo:if test="position() &gt; 1">
1844 <xslo:value-of select="substring(' ', 1, 1)"/>
1845 </xslo:if>
1846 <xslo:value-of select="."/>
1847 </xslo:for-each>
1848 </xslo:variable>
1849 <xslo:value-of select="normalize-space($raw_heading)"/>
1850 </z:index>
1851 </xslo:template>
1852 <xslo:template mode="index_data_field" match="marc:datafield[@tag='247']">
1853 <z:index name="Title:w Title:p Title-former:w Title-other-variant:w Related-periodical:w">
1854 <xslo:variable name="raw_heading">
1855 <xslo:for-each select="marc:subfield">
1856 <xslo:if test="position() &gt; 1">
1857 <xslo:value-of select="substring(' ', 1, 1)"/>
1858 </xslo:if>
1859 <xslo:value-of select="."/>
1860 </xslo:for-each>
1861 </xslo:variable>
1862 <xslo:value-of select="normalize-space($raw_heading)"/>
1863 </z:index>
1864 </xslo:template>
1865 <xslo:template mode="index_data_field" match="marc:datafield[@tag='260']">
1866 <z:index name="pl:w Provider:w">
1867 <xslo:variable name="raw_heading">
1868 <xslo:for-each select="marc:subfield">
1869 <xslo:if test="position() &gt; 1">
1870 <xslo:value-of select="substring(' ', 1, 1)"/>
1871 </xslo:if>
1872 <xslo:value-of select="."/>
1873 </xslo:for-each>
1874 </xslo:variable>
1875 <xslo:value-of select="normalize-space($raw_heading)"/>
1876 </z:index>
1877 </xslo:template>
1878 <xslo:template mode="index_data_field" match="marc:datafield[@tag='264']">
1879 <z:index name="Provider:w">
1880 <xslo:variable name="raw_heading">
1881 <xslo:for-each select="marc:subfield">
1882 <xslo:if test="position() &gt; 1">
1883 <xslo:value-of select="substring(' ', 1, 1)"/>
1884 </xslo:if>
1885 <xslo:value-of select="."/>
1886 </xslo:for-each>
1887 </xslo:variable>
1888 <xslo:value-of select="normalize-space($raw_heading)"/>
1889 </z:index>
1890 </xslo:template>
1891 <xslo:template mode="index_data_field" match="marc:datafield[@tag='300']">
1892 <z:index name="Extent:w Extent:p">
1893 <xslo:variable name="raw_heading">
1894 <xslo:for-each select="marc:subfield">
1895 <xslo:if test="position() &gt; 1">
1896 <xslo:value-of select="substring(' ', 1, 1)"/>
1897 </xslo:if>
1898 <xslo:value-of select="."/>
1899 </xslo:for-each>
1900 </xslo:variable>
1901 <xslo:value-of select="normalize-space($raw_heading)"/>
1902 </z:index>
1903 </xslo:template>
1904 <xslo:template mode="index_data_field" match="marc:datafield[@tag='400']">
1905 <z:index name="Author:w Author-name-personal:w Name:w Personal-name:w">
1906 <xslo:variable name="raw_heading">
1907 <xslo:for-each select="marc:subfield">
1908 <xslo:if test="position() &gt; 1">
1909 <xslo:value-of select="substring(' ', 1, 1)"/>
1910 </xslo:if>
1911 <xslo:value-of select="."/>
1912 </xslo:for-each>
1913 </xslo:variable>
1914 <xslo:value-of select="normalize-space($raw_heading)"/>
1915 </z:index>
1916 </xslo:template>
1917 <xslo:template mode="index_data_field" match="marc:datafield[@tag='410']">
1918 <z:index name="Author:w Corporate-name:w">
1919 <xslo:variable name="raw_heading">
1920 <xslo:for-each select="marc:subfield">
1921 <xslo:if test="position() &gt; 1">
1922 <xslo:value-of select="substring(' ', 1, 1)"/>
1923 </xslo:if>
1924 <xslo:value-of select="."/>
1925 </xslo:for-each>
1926 </xslo:variable>
1927 <xslo:value-of select="normalize-space($raw_heading)"/>
1928 </z:index>
1929 </xslo:template>
1930 <xslo:template mode="index_data_field" match="marc:datafield[@tag='411']">
1931 <z:index name="Author:w Conference-name:w">
1932 <xslo:variable name="raw_heading">
1933 <xslo:for-each select="marc:subfield">
1934 <xslo:if test="position() &gt; 1">
1935 <xslo:value-of select="substring(' ', 1, 1)"/>
1936 </xslo:if>
1937 <xslo:value-of select="."/>
1938 </xslo:for-each>
1939 </xslo:variable>
1940 <xslo:value-of select="normalize-space($raw_heading)"/>
1941 </z:index>
1942 </xslo:template>
1943 <xslo:template mode="index_data_field" match="marc:datafield[@tag='440']">
1944 <z:index name="Title-series:w Title-series:p Title:w Title-series:w">
1945 <xslo:variable name="raw_heading">
1946 <xslo:for-each select="marc:subfield">
1947 <xslo:if test="position() &gt; 1">
1948 <xslo:value-of select="substring(' ', 1, 1)"/>
1949 </xslo:if>
1950 <xslo:value-of select="."/>
1951 </xslo:for-each>
1952 </xslo:variable>
1953 <xslo:value-of select="normalize-space($raw_heading)"/>
1954 </z:index>
1955 </xslo:template>
1956 <xslo:template mode="index_data_field" match="marc:datafield[@tag='490']">
1957 <z:index name="Title:w Title-series:w">
1958 <xslo:variable name="raw_heading">
1959 <xslo:for-each select="marc:subfield">
1960 <xslo:if test="position() &gt; 1">
1961 <xslo:value-of select="substring(' ', 1, 1)"/>
1962 </xslo:if>
1963 <xslo:value-of select="."/>
1964 </xslo:for-each>
1965 </xslo:variable>
1966 <xslo:value-of select="normalize-space($raw_heading)"/>
1967 </z:index>
1968 </xslo:template>
1969 <xslo:template mode="index_data_field" match="marc:datafield[@tag='500']">
1970 <z:index name="Note:w Note:p">
1971 <xslo:variable name="raw_heading">
1972 <xslo:for-each select="marc:subfield">
1973 <xslo:if test="position() &gt; 1">
1974 <xslo:value-of select="substring(' ', 1, 1)"/>
1975 </xslo:if>
1976 <xslo:value-of select="."/>
1977 </xslo:for-each>
1978 </xslo:variable>
1979 <xslo:value-of select="normalize-space($raw_heading)"/>
1980 </z:index>
1981 </xslo:template>
1982 <xslo:template mode="index_data_field" match="marc:datafield[@tag='502']">
1983 <z:index name="Material-type:w Dissertation-information:p Dissertation-information:w">
1984 <xslo:variable name="raw_heading">
1985 <xslo:for-each select="marc:subfield">
1986 <xslo:if test="position() &gt; 1">
1987 <xslo:value-of select="substring(' ', 1, 1)"/>
1988 </xslo:if>
1989 <xslo:value-of select="."/>
1990 </xslo:for-each>
1991 </xslo:variable>
1992 <xslo:value-of select="normalize-space($raw_heading)"/>
1993 </z:index>
1994 </xslo:template>
1995 <xslo:template mode="index_data_field" match="marc:datafield[@tag='505']">
1996 <z:index name="Note:w Note:p">
1997 <xslo:variable name="raw_heading">
1998 <xslo:for-each select="marc:subfield">
1999 <xslo:if test="position() &gt; 1">
2000 <xslo:value-of select="substring(' ', 1, 1)"/>
2001 </xslo:if>
2002 <xslo:value-of select="."/>
2003 </xslo:for-each>
2004 </xslo:variable>
2005 <xslo:value-of select="normalize-space($raw_heading)"/>
2006 </z:index>
2007 </xslo:template>
2008 <xslo:template mode="index_data_field" match="marc:datafield[@tag='510']">
2009 <z:index name="Indexed-by:w">
2010 <xslo:variable name="raw_heading">
2011 <xslo:for-each select="marc:subfield">
2012 <xslo:if test="position() &gt; 1">
2013 <xslo:value-of select="substring(' ', 1, 1)"/>
2014 </xslo:if>
2015 <xslo:value-of select="."/>
2016 </xslo:for-each>
2017 </xslo:variable>
2018 <xslo:value-of select="normalize-space($raw_heading)"/>
2019 </z:index>
2020 </xslo:template>
2021 <xslo:template mode="index_data_field" match="marc:datafield[@tag='520']">
2022 <z:index name="Abstract:w Abstract:p">
2023 <xslo:variable name="raw_heading">
2024 <xslo:for-each select="marc:subfield">
2025 <xslo:if test="position() &gt; 1">
2026 <xslo:value-of select="substring(' ', 1, 1)"/>
2027 </xslo:if>
2028 <xslo:value-of select="."/>
2029 </xslo:for-each>
2030 </xslo:variable>
2031 <xslo:value-of select="normalize-space($raw_heading)"/>
2032 </z:index>
2033 </xslo:template>
2034 <xslo:template mode="index_data_field" match="marc:datafield[@tag='590']">
2035 <z:index name="Note:w Note:p">
2036 <xslo:variable name="raw_heading">
2037 <xslo:for-each select="marc:subfield">
2038 <xslo:if test="position() &gt; 1">
2039 <xslo:value-of select="substring(' ', 1, 1)"/>
2040 </xslo:if>
2041 <xslo:value-of select="."/>
2042 </xslo:for-each>
2043 </xslo:variable>
2044 <xslo:value-of select="normalize-space($raw_heading)"/>
2045 </z:index>
2046 </xslo:template>
2047 <xslo:template mode="index_data_field" match="marc:datafield[@tag='600']">
2048 <z:index name="Name:w Personal-name:w Subject-name-personal:w Subject:w Subject:p">
2049 <xslo:variable name="raw_heading">
2050 <xslo:for-each select="marc:subfield">
2051 <xslo:if test="position() &gt; 1">
2052 <xslo:value-of select="substring(' ', 1, 1)"/>
2053 </xslo:if>
2054 <xslo:value-of select="."/>
2055 </xslo:for-each>
2056 </xslo:variable>
2057 <xslo:value-of select="normalize-space($raw_heading)"/>
2058 </z:index>
2059 </xslo:template>
2060 <xslo:template mode="index_data_field" match="marc:datafield[@tag='610']">
2061 <z:index name="Name:w Subject:w Subject:p Corporate-name:w">
2062 <xslo:variable name="raw_heading">
2063 <xslo:for-each select="marc:subfield">
2064 <xslo:if test="position() &gt; 1">
2065 <xslo:value-of select="substring(' ', 1, 1)"/>
2066 </xslo:if>
2067 <xslo:value-of select="."/>
2068 </xslo:for-each>
2069 </xslo:variable>
2070 <xslo:value-of select="normalize-space($raw_heading)"/>
2071 </z:index>
2072 </xslo:template>
2073 <xslo:template mode="index_data_field" match="marc:datafield[@tag='611']">
2074 <z:index name="Conference-name:w Name:w Subject:w Subject:p">
2075 <xslo:variable name="raw_heading">
2076 <xslo:for-each select="marc:subfield">
2077 <xslo:if test="position() &gt; 1">
2078 <xslo:value-of select="substring(' ', 1, 1)"/>
2079 </xslo:if>
2080 <xslo:value-of select="."/>
2081 </xslo:for-each>
2082 </xslo:variable>
2083 <xslo:value-of select="normalize-space($raw_heading)"/>
2084 </z:index>
2085 </xslo:template>
2086 <xslo:template mode="index_data_field" match="marc:datafield[@tag='630']">
2087 <z:index name="Subject:w Subject:p">
2088 <xslo:variable name="raw_heading">
2089 <xslo:for-each select="marc:subfield">
2090 <xslo:if test="position() &gt; 1">
2091 <xslo:value-of select="substring(' ', 1, 1)"/>
2092 </xslo:if>
2093 <xslo:value-of select="."/>
2094 </xslo:for-each>
2095 </xslo:variable>
2096 <xslo:value-of select="normalize-space($raw_heading)"/>
2097 </z:index>
2098 </xslo:template>
2099 <xslo:template mode="index_data_field" match="marc:datafield[@tag='650']">
2100 <z:index name="Subject:w Subject:p">
2101 <xslo:variable name="raw_heading">
2102 <xslo:for-each select="marc:subfield">
2103 <xslo:if test="position() &gt; 1">
2104 <xslo:value-of select="substring(' ', 1, 1)"/>
2105 </xslo:if>
2106 <xslo:value-of select="."/>
2107 </xslo:for-each>
2108 </xslo:variable>
2109 <xslo:value-of select="normalize-space($raw_heading)"/>
2110 </z:index>
2111 </xslo:template>
2112 <xslo:template mode="index_data_field" match="marc:datafield[@tag='651']">
2113 <z:index name="Name-geographic:w Subject:w Subject:p">
2114 <xslo:variable name="raw_heading">
2115 <xslo:for-each select="marc:subfield">
2116 <xslo:if test="position() &gt; 1">
2117 <xslo:value-of select="substring(' ', 1, 1)"/>
2118 </xslo:if>
2119 <xslo:value-of select="."/>
2120 </xslo:for-each>
2121 </xslo:variable>
2122 <xslo:value-of select="normalize-space($raw_heading)"/>
2123 </z:index>
2124 </xslo:template>
2125 <xslo:template mode="index_data_field" match="marc:datafield[@tag='653']">
2126 <z:index name="Subject:w Subject:p">
2127 <xslo:variable name="raw_heading">
2128 <xslo:for-each select="marc:subfield">
2129 <xslo:if test="position() &gt; 1">
2130 <xslo:value-of select="substring(' ', 1, 1)"/>
2131 </xslo:if>
2132 <xslo:value-of select="."/>
2133 </xslo:for-each>
2134 </xslo:variable>
2135 <xslo:value-of select="normalize-space($raw_heading)"/>
2136 </z:index>
2137 </xslo:template>
2138 <xslo:template mode="index_data_field" match="marc:datafield[@tag='654']">
2139 <z:index name="Subject:w Subject:p">
2140 <xslo:variable name="raw_heading">
2141 <xslo:for-each select="marc:subfield">
2142 <xslo:if test="position() &gt; 1">
2143 <xslo:value-of select="substring(' ', 1, 1)"/>
2144 </xslo:if>
2145 <xslo:value-of select="."/>
2146 </xslo:for-each>
2147 </xslo:variable>
2148 <xslo:value-of select="normalize-space($raw_heading)"/>
2149 </z:index>
2150 </xslo:template>
2151 <xslo:template mode="index_data_field" match="marc:datafield[@tag='655']">
2152 <z:index name="Subject:w Subject:p">
2153 <xslo:variable name="raw_heading">
2154 <xslo:for-each select="marc:subfield">
2155 <xslo:if test="position() &gt; 1">
2156 <xslo:value-of select="substring(' ', 1, 1)"/>
2157 </xslo:if>
2158 <xslo:value-of select="."/>
2159 </xslo:for-each>
2160 </xslo:variable>
2161 <xslo:value-of select="normalize-space($raw_heading)"/>
2162 </z:index>
2163 </xslo:template>
2164 <xslo:template mode="index_data_field" match="marc:datafield[@tag='656']">
2165 <z:index name="Subject:w Subject:p">
2166 <xslo:variable name="raw_heading">
2167 <xslo:for-each select="marc:subfield">
2168 <xslo:if test="position() &gt; 1">
2169 <xslo:value-of select="substring(' ', 1, 1)"/>
2170 </xslo:if>
2171 <xslo:value-of select="."/>
2172 </xslo:for-each>
2173 </xslo:variable>
2174 <xslo:value-of select="normalize-space($raw_heading)"/>
2175 </z:index>
2176 </xslo:template>
2177 <xslo:template mode="index_data_field" match="marc:datafield[@tag='657']">
2178 <z:index name="Subject:w Subject:p">
2179 <xslo:variable name="raw_heading">
2180 <xslo:for-each select="marc:subfield">
2181 <xslo:if test="position() &gt; 1">
2182 <xslo:value-of select="substring(' ', 1, 1)"/>
2183 </xslo:if>
2184 <xslo:value-of select="."/>
2185 </xslo:for-each>
2186 </xslo:variable>
2187 <xslo:value-of select="normalize-space($raw_heading)"/>
2188 </z:index>
2189 </xslo:template>
2190 <xslo:template mode="index_data_field" match="marc:datafield[@tag='658']">
2191 <z:index name="Subject:w Subject:p">
2192 <xslo:variable name="raw_heading">
2193 <xslo:for-each select="marc:subfield">
2194 <xslo:if test="position() &gt; 1">
2195 <xslo:value-of select="substring(' ', 1, 1)"/>
2196 </xslo:if>
2197 <xslo:value-of select="."/>
2198 </xslo:for-each>
2199 </xslo:variable>
2200 <xslo:value-of select="normalize-space($raw_heading)"/>
2201 </z:index>
2202 </xslo:template>
2203 <xslo:template mode="index_data_field" match="marc:datafield[@tag='690']">
2204 <z:index name="Subject:w Subject:p">
2205 <xslo:variable name="raw_heading">
2206 <xslo:for-each select="marc:subfield">
2207 <xslo:if test="position() &gt; 1">
2208 <xslo:value-of select="substring(' ', 1, 1)"/>
2209 </xslo:if>
2210 <xslo:value-of select="."/>
2211 </xslo:for-each>
2212 </xslo:variable>
2213 <xslo:value-of select="normalize-space($raw_heading)"/>
2214 </z:index>
2215 </xslo:template>
2216 <xslo:template mode="index_data_field" match="marc:datafield[@tag='700']">
2217 <z:index name="Author:w Author:p Author-name-personal:w Name:w Editor:w Personal-name:w">
2218 <xslo:variable name="raw_heading">
2219 <xslo:for-each select="marc:subfield">
2220 <xslo:if test="position() &gt; 1">
2221 <xslo:value-of select="substring(' ', 1, 1)"/>
2222 </xslo:if>
2223 <xslo:value-of select="."/>
2224 </xslo:for-each>
2225 </xslo:variable>
2226 <xslo:value-of select="normalize-space($raw_heading)"/>
2227 </z:index>
2228 </xslo:template>
2229 <xslo:template mode="index_data_field" match="marc:datafield[@tag='710']">
2230 <z:index name="Author:w Author:p Corporate-name:w Name:w">
2231 <xslo:variable name="raw_heading">
2232 <xslo:for-each select="marc:subfield">
2233 <xslo:if test="position() &gt; 1">
2234 <xslo:value-of select="substring(' ', 1, 1)"/>
2235 </xslo:if>
2236 <xslo:value-of select="."/>
2237 </xslo:for-each>
2238 </xslo:variable>
2239 <xslo:value-of select="normalize-space($raw_heading)"/>
2240 </z:index>
2241 </xslo:template>
2242 <xslo:template mode="index_data_field" match="marc:datafield[@tag='711']">
2243 <z:index name="Author:w Author:p Author-name-corporate:w Name:w Conference-name:w">
2244 <xslo:variable name="raw_heading">
2245 <xslo:for-each select="marc:subfield">
2246 <xslo:if test="position() &gt; 1">
2247 <xslo:value-of select="substring(' ', 1, 1)"/>
2248 </xslo:if>
2249 <xslo:value-of select="."/>
2250 </xslo:for-each>
2251 </xslo:variable>
2252 <xslo:value-of select="normalize-space($raw_heading)"/>
2253 </z:index>
2254 </xslo:template>
2255 <xslo:template mode="index_data_field" match="marc:datafield[@tag='730']">
2256 <z:index name="Title:w Title:p Title-uniform:w">
2257 <xslo:variable name="raw_heading">
2258 <xslo:for-each select="marc:subfield">
2259 <xslo:if test="position() &gt; 1">
2260 <xslo:value-of select="substring(' ', 1, 1)"/>
2261 </xslo:if>
2262 <xslo:value-of select="."/>
2263 </xslo:for-each>
2264 </xslo:variable>
2265 <xslo:value-of select="normalize-space($raw_heading)"/>
2266 </z:index>
2267 </xslo:template>
2268 <xslo:template mode="index_data_field" match="marc:datafield[@tag='740']">
2269 <z:index name="Title:w Title:p Title-other-variant:w">
2270 <xslo:variable name="raw_heading">
2271 <xslo:for-each select="marc:subfield">
2272 <xslo:if test="position() &gt; 1">
2273 <xslo:value-of select="substring(' ', 1, 1)"/>
2274 </xslo:if>
2275 <xslo:value-of select="."/>
2276 </xslo:for-each>
2277 </xslo:variable>
2278 <xslo:value-of select="normalize-space($raw_heading)"/>
2279 </z:index>
2280 </xslo:template>
2281 <xslo:template mode="index_data_field" match="marc:datafield[@tag='751']">
2282 <z:index name="Name-geographic:w">
2283 <xslo:variable name="raw_heading">
2284 <xslo:for-each select="marc:subfield">
2285 <xslo:if test="position() &gt; 1">
2286 <xslo:value-of select="substring(' ', 1, 1)"/>
2287 </xslo:if>
2288 <xslo:value-of select="."/>
2289 </xslo:for-each>
2290 </xslo:variable>
2291 <xslo:value-of select="normalize-space($raw_heading)"/>
2292 </z:index>
2293 </xslo:template>
2294 <xslo:template mode="index_data_field" match="marc:datafield[@tag='780']">
2295 <z:index name="Title:w Title:p Title-former:w Related-periodical:w">
2296 <xslo:variable name="raw_heading">
2297 <xslo:for-each select="marc:subfield">
2298 <xslo:if test="position() &gt; 1">
2299 <xslo:value-of select="substring(' ', 1, 1)"/>
2300 </xslo:if>
2301 <xslo:value-of select="."/>
2302 </xslo:for-each>
2303 </xslo:variable>
2304 <xslo:value-of select="normalize-space($raw_heading)"/>
2305 </z:index>
2306 </xslo:template>
2307 <xslo:template mode="index_data_field" match="marc:datafield[@tag='785']">
2308 <z:index name="Title:w Title:p Title-later:w Related-periodical:w">
2309 <xslo:variable name="raw_heading">
2310 <xslo:for-each select="marc:subfield">
2311 <xslo:if test="position() &gt; 1">
2312 <xslo:value-of select="substring(' ', 1, 1)"/>
2313 </xslo:if>
2314 <xslo:value-of select="."/>
2315 </xslo:for-each>
2316 </xslo:variable>
2317 <xslo:value-of select="normalize-space($raw_heading)"/>
2318 </z:index>
2319 </xslo:template>
2320 <xslo:template mode="index_data_field" match="marc:datafield[@tag='800']">
2321 <z:index name="Author:w Author-name-personal:w Name:w Personal-name:w">
2322 <xslo:variable name="raw_heading">
2323 <xslo:for-each select="marc:subfield">
2324 <xslo:if test="position() &gt; 1">
2325 <xslo:value-of select="substring(' ', 1, 1)"/>
2326 </xslo:if>
2327 <xslo:value-of select="."/>
2328 </xslo:for-each>
2329 </xslo:variable>
2330 <xslo:value-of select="normalize-space($raw_heading)"/>
2331 </z:index>
2332 </xslo:template>
2333 <xslo:template mode="index_data_field" match="marc:datafield[@tag='810']">
2334 <z:index name="Author:w Corporate-name:w Author-name-corporate:w Name:w">
2335 <xslo:variable name="raw_heading">
2336 <xslo:for-each select="marc:subfield">
2337 <xslo:if test="position() &gt; 1">
2338 <xslo:value-of select="substring(' ', 1, 1)"/>
2339 </xslo:if>
2340 <xslo:value-of select="."/>
2341 </xslo:for-each>
2342 </xslo:variable>
2343 <xslo:value-of select="normalize-space($raw_heading)"/>
2344 </z:index>
2345 </xslo:template>
2346 <xslo:template mode="index_data_field" match="marc:datafield[@tag='811']">
2347 <z:index name="Author:w Author-name-corporate:w Name:w Conference-name:w">
2348 <xslo:variable name="raw_heading">
2349 <xslo:for-each select="marc:subfield">
2350 <xslo:if test="position() &gt; 1">
2351 <xslo:value-of select="substring(' ', 1, 1)"/>
2352 </xslo:if>
2353 <xslo:value-of select="."/>
2354 </xslo:for-each>
2355 </xslo:variable>
2356 <xslo:value-of select="normalize-space($raw_heading)"/>
2357 </z:index>
2358 </xslo:template>
2359 <xslo:template mode="index_data_field" match="marc:datafield[@tag='830']">
2360 <z:index name="Title:w Title-series:w Title-series:p">
2361 <xslo:variable name="raw_heading">
2362 <xslo:for-each select="marc:subfield">
2363 <xslo:if test="position() &gt; 1">
2364 <xslo:value-of select="substring(' ', 1, 1)"/>
2365 </xslo:if>
2366 <xslo:value-of select="."/>
2367 </xslo:for-each>
2368 </xslo:variable>
2369 <xslo:value-of select="normalize-space($raw_heading)"/>
2370 </z:index>
2371 </xslo:template>
2372 <xslo:template mode="index_data_field" match="marc:datafield[@tag='840']">
2373 <z:index name="Title:w Title-series:w Title-series:p">
2374 <xslo:variable name="raw_heading">
2375 <xslo:for-each select="marc:subfield">
2376 <xslo:if test="position() &gt; 1">
2377 <xslo:value-of select="substring(' ', 1, 1)"/>
2378 </xslo:if>
2379 <xslo:value-of select="."/>
2380 </xslo:for-each>
2381 </xslo:variable>
2382 <xslo:value-of select="normalize-space($raw_heading)"/>
2383 </z:index>
2384 </xslo:template>
2385 <xslo:template mode="index_facets" match="marc:datafield[@tag='100']">
2386 <xslo:if test="not(@ind1='z')">
2387 <z:index name="au:0">
2388 <xslo:value-of select="marc:subfield[@code='a']"/>
2389 </z:index>
2390 </xslo:if>
2391 </xslo:template>
2392 <xslo:template mode="index_facets" match="marc:datafield[@tag='110']">
2393 <xslo:if test="not(@ind1='z')">
2394 <z:index name="au:0">
2395 <xslo:value-of select="marc:subfield[@code='a']"/>
2396 </z:index>
2397 </xslo:if>
2398 </xslo:template>
2399 <xslo:template mode="index_facets" match="marc:datafield[@tag='440']">
2400 <xslo:if test="not(@ind1='z')">
2401 <z:index name="se:0">
2402 <xslo:value-of select="marc:subfield[@code='a']"/>
2403 </z:index>
2404 </xslo:if>
2405 </xslo:template>
2406 <xslo:template mode="index_facets" match="marc:datafield[@tag='490']">
2407 <xslo:if test="not(@ind1='z')">
2408 <z:index name="se:0">
2409 <xslo:value-of select="marc:subfield[@code='a']"/>
2410 </z:index>
2411 </xslo:if>
2412 </xslo:template>
2413 <xslo:template mode="index_facets" match="marc:datafield[@tag='630']">
2414 <xslo:if test="not(@ind1='z')">
2415 <z:index name="su-ut:0">
2416 <xslo:value-of select="marc:subfield[@code='a']"/>
2417 </z:index>
2418 </xslo:if>
2419 </xslo:template>
2420 <xslo:template mode="index_facets" match="marc:datafield[@tag='650']">
2421 <xslo:if test="not(@ind1='z')">
2422 <z:index name="su-to:0">
2423 <xslo:value-of select="marc:subfield[@code='a']"/>
2424 </z:index>
2425 </xslo:if>
2426 </xslo:template>
2427 <xslo:template mode="index_facets" match="marc:datafield[@tag='651']">
2428 <xslo:if test="not(@ind1='z')">
2429 <z:index name="su-geo:0">
2430 <xslo:value-of select="marc:subfield[@code='a']"/>
2431 </z:index>
2432 </xslo:if>
2433 </xslo:template>
2434 <xslo:template mode="index_facets" match="marc:datafield[@tag='700']">
2435 <xslo:if test="not(@ind1='z')">
2436 <z:index name="au:0">
2437 <xslo:value-of select="marc:subfield[@code='a']"/>
2438 </z:index>
2439 </xslo:if>
2440 </xslo:template>
2441 <xslo:template mode="index_facets" match="marc:datafield[@tag='942']">
2442 <xslo:if test="not(@ind1='z')">
2443 <z:index name="itype:0">
2444 <xslo:value-of select="marc:subfield[@code='c']"/>
2445 </z:index>
2446 </xslo:if>
2447 </xslo:template>
2448 <xslo:template mode="index_facets" match="marc:datafield[@tag='952']">
2449 <xslo:if test="not(@ind1='z')">
2450 <z:index name="homebranch:0">
2451 <xslo:value-of select="marc:subfield[@code='a']"/>
2452 </z:index>
2453 <z:index name="holdingbranch:0">
2454 <xslo:value-of select="marc:subfield[@code='b']"/>
2455 </z:index>
2456 <z:index name="location:0">
2457 <xslo:value-of select="marc:subfield[@code='c']"/>
2458 </z:index>
2459 <z:index name="itype:0">
2460 <xslo:value-of select="marc:subfield[@code='y']"/>
2461 </z:index>
2462 </xslo:if>
2463 </xslo:template>
2464 <xslo:template mode="index_all" match="text()">
2465 <z:index name="Any:w Any:p">
2466 <xslo:value-of select="."/>
2467 </z:index>
2468 </xslo:template>
2469 <xslo:template mode="index_sort_tit" match="marc:datafield[@tag='245']">
2470 <xslo:variable name="chop">
2471 <xslo:choose>
2472 <xslo:when test="not(number(@ind2))">0</xslo:when>
2473 <xslo:otherwise>
2474 <xslo:value-of select="number(@ind2)"/>
2475 </xslo:otherwise>
2476 </xslo:choose>
2477 </xslo:variable>
2478 <z:index name="Title:s">
2479 <xslo:value-of select="substring(marc:subfield[@code='a'], $chop+1)"/>
2480 </z:index>
2481 </xslo:template>
2482 <xslo:template name="chopPunctuation">
2483 <xslo:param name="chopString"/>
2484 <xslo:variable name="length" select="string-length($chopString)"/>
2485 <xslo:choose>
2486 <xslo:when test="$length=0"/>
2487 <xslo:when test="contains('-,.:=;!%/', substring($chopString,$length,1))">
2488 <xslo:call-template name="chopPunctuation">
2489 <xslo:with-param name="chopString" select="substring($chopString,1,$length - 1)"/>
2490 </xslo:call-template>
2491 </xslo:when>
2492 <xslo:when test="not($chopString)"/>
2493 <xslo:otherwise>
2494 <xslo:value-of select="$chopString"/>
2495 </xslo:otherwise>
2496 </xslo:choose>
2497 <xslo:text/>
2498 </xslo:template>
2499 </xslo:stylesheet>