1 <?xml version="1.0" encoding="UTF-8"?>
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).
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="/">
21 <xslo:if test="marc:collection">
23 <xslo:apply-templates select="marc:collection/marc:record"/>
26 <xslo:if test="marc:record">
27 <xslo:apply-templates select="marc:record"/>
30 <xslo:template match="marc:record">
31 <xslo:variable name="idfield" select="normalize-space(marc:datafield[@tag='999']/marc:subfield[@code='c'])"/>
32 <z:record type="update">
33 <xslo:attribute name="z:id">
34 <xslo:value-of select="$idfield"/>
36 <xslo:apply-templates/>
37 <xslo:apply-templates mode="index_subfields"/>
38 <xslo:apply-templates mode="index_data_field"/>
39 <xslo:apply-templates mode="index_facets"/>
40 <xslo:apply-templates mode="index_heading"/>
41 <xslo:apply-templates mode="index_heading_conditional"/>
42 <xslo:apply-templates mode="index_match_heading"/>
43 <xslo:apply-templates mode="index_subject_thesaurus"/>
44 <xslo:apply-templates mode="index_all"/>
47 <xslo:template match="marc:leader">
48 <z:index name="llength:w">
49 <xslo:value-of select="substring(., 1, 5)"/>
51 <z:index name="rtype:w">
52 <xslo:value-of select="substring(., 7, 1)"/>
54 <z:index name="Bib-level:w">
55 <xslo:value-of select="substring(., 8, 1)"/>
58 <xslo:template match="marc:controlfield[@tag='001']">
59 <z:index name="Control-number:w">
60 <xslo:value-of select="."/>
63 <xslo:template match="marc:controlfield[@tag='005']">
64 <z:index name="Date/time-last-modified:w">
65 <xslo:value-of select="."/>
68 <xslo:template match="marc:controlfield[@tag='007']">
69 <z:index name="Microform-generation:n">
70 <xslo:value-of select="substring(., 12, 1)"/>
72 <z:index name="Material-type:w">
73 <xslo:value-of select="."/>
75 <z:index name="ff7-00:w">
76 <xslo:value-of select="substring(., 1, 1)"/>
78 <z:index name="ff7-01:w">
79 <xslo:value-of select="substring(., 2, 1)"/>
81 <z:index name="ff7-02:w">
82 <xslo:value-of select="substring(., 3, 1)"/>
84 <z:index name="ff7-01-02:w">
85 <xslo:value-of select="substring(., 1, 2)"/>
88 <xslo:template match="marc:controlfield[@tag='008']">
89 <z:index name="date-entered-on-file:n">
90 <xslo:value-of select="substring(., 1, 5)"/>
92 <z:index name="date-entered-on-file:s">
93 <xslo:value-of select="substring(., 1, 5)"/>
95 <z:index name="pubdate:w">
96 <xslo:value-of select="substring(., 8, 4)"/>
98 <z:index name="pubdate:n">
99 <xslo:value-of select="substring(., 8, 4)"/>
101 <z:index name="pubdate:y">
102 <xslo:value-of select="substring(., 8, 4)"/>
104 <z:index name="pubdate:s">
105 <xslo:value-of select="substring(., 8, 4)"/>
107 <z:index name="pl:w">
108 <xslo:value-of select="substring(., 16, 3)"/>
110 <z:index name="ta:w">
111 <xslo:value-of select="substring(., 23, 1)"/>
113 <z:index name="ff8-23:w">
114 <xslo:value-of select="substring(., 24, 1)"/>
116 <z:index name="ff8-29:w">
117 <xslo:value-of select="substring(., 30, 1)"/>
119 <z:index name="lf:w">
120 <xslo:value-of select="substring(., 34, 1)"/>
122 <z:index name="bio:w">
123 <xslo:value-of select="substring(., 35, 1)"/>
125 <z:index name="ln:w">
126 <xslo:value-of select="substring(., 36, 3)"/>
128 <z:index name="ctype:w">
129 <xslo:value-of select="substring(., 25, 4)"/>
131 <z:index name="Record-source:w">
132 <xslo:value-of select="substring(., 40, 0)"/>
135 <xslo:template mode="index_subfields" match="marc:datafield[@tag='020']">
136 <xslo:for-each select="marc:subfield">
137 <xslo:if test="contains('a', @code)">
138 <z:index name="ISBN:w Identifier-standard:w">
139 <xslo:value-of select="."/>
143 <xslo:for-each select="marc:subfield">
144 <xslo:if test="contains('z', @code)">
145 <z:index name="ISBN:w Identifier-standard:w">
146 <xslo:value-of select="."/>
151 <xslo:template mode="index_subfields" match="marc:datafield[@tag='022']">
152 <xslo:for-each select="marc:subfield">
153 <xslo:if test="contains('a', @code)">
154 <z:index name="ISSN:w Identifier-standard:w">
155 <xslo:value-of select="."/>
159 <xslo:for-each select="marc:subfield">
160 <xslo:if test="contains('y', @code)">
161 <z:index name="ISSN:w Identifier-standard:w">
162 <xslo:value-of select="."/>
166 <xslo:for-each select="marc:subfield">
167 <xslo:if test="contains('z', @code)">
168 <z:index name="ISSN:w Identifier-standard:w">
169 <xslo:value-of select="."/>
174 <xslo:template mode="index_subfields" match="marc:datafield[@tag='024']">
175 <xslo:for-each select="marc:subfield">
176 <xslo:if test="contains('a', @code)">
177 <z:index name="Identifier-other:w">
178 <xslo:value-of select="."/>
183 <xslo:template mode="index_subfields" match="marc:datafield[@tag='041']">
184 <xslo:for-each select="marc:subfield">
185 <xslo:if test="contains('a', @code)">
186 <z:index name="ln:w ln-audio:w">
187 <xslo:value-of select="."/>
191 <xslo:for-each select="marc:subfield">
192 <xslo:if test="contains('d', @code)">
193 <z:index name="ln:w">
194 <xslo:value-of select="."/>
198 <xslo:for-each select="marc:subfield">
199 <xslo:if test="contains('e', @code)">
200 <z:index name="ln:w">
201 <xslo:value-of select="."/>
205 <xslo:for-each select="marc:subfield">
206 <xslo:if test="contains('h', @code)">
207 <z:index name="language-original:w">
208 <xslo:value-of select="."/>
212 <xslo:for-each select="marc:subfield">
213 <xslo:if test="contains('j', @code)">
214 <z:index name="ln:w ln-subtitle:w">
215 <xslo:value-of select="."/>
220 <xslo:template mode="index_subfields" match="marc:datafield[@tag='050']">
221 <xslo:for-each select="marc:subfield">
222 <xslo:if test="contains('b', @code)">
223 <z:index name="LC-call-number:w LC-call-number:p LC-call-number:s">
224 <xslo:value-of select="."/>
229 <xslo:template mode="index_subfields" match="marc:datafield[@tag='100']">
230 <xslo:for-each select="marc:subfield">
231 <xslo:if test="contains('9', @code)">
232 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
233 <xslo:value-of select="."/>
237 <xslo:for-each select="marc:subfield">
238 <xslo:if test="contains('a', @code)">
239 <z:index name="Author:w Author:p Author:s Editor:w Author-personal-bibliography:w Author-personal-bibliography:p Author-personal-bibliography:s">
240 <xslo:value-of select="."/>
245 <xslo:template mode="index_subfields" match="marc:datafield[@tag='110']">
246 <xslo:for-each select="marc:subfield">
247 <xslo:if test="contains('9', @code)">
248 <z:index name="Koha-Auth-Number:w">
249 <xslo:value-of select="."/>
254 <xslo:template mode="index_subfields" match="marc:datafield[@tag='111']">
255 <xslo:for-each select="marc:subfield">
256 <xslo:if test="contains('9', @code)">
257 <z:index name="Koha-Auth-Number:w">
258 <xslo:value-of select="."/>
263 <xslo:template mode="index_subfields" match="marc:datafield[@tag='130']">
264 <xslo:for-each select="marc:subfield">
265 <xslo:if test="contains('n', @code)">
266 <z:index name="Thematic-number:w">
267 <xslo:value-of select="."/>
271 <xslo:for-each select="marc:subfield">
272 <xslo:if test="contains('r', @code)">
273 <z:index name="Music-key:w">
274 <xslo:value-of select="."/>
278 <xslo:for-each select="marc:subfield">
279 <xslo:if test="contains('9', @code)">
280 <z:index name="Koha-Auth-Number:w">
281 <xslo:value-of select="."/>
286 <xslo:template mode="index_subfields" match="marc:datafield[@tag='240']">
287 <xslo:for-each select="marc:subfield">
288 <xslo:if test="contains('r', @code)">
289 <z:index name="Music-key:w">
290 <xslo:value-of select="."/>
294 <xslo:for-each select="marc:subfield">
295 <xslo:if test="contains('n', @code)">
296 <z:index name="Thematic-number:w">
297 <xslo:value-of select="."/>
302 <xslo:template mode="index_subfields" match="marc:datafield[@tag='243']">
303 <xslo:for-each select="marc:subfield">
304 <xslo:if test="contains('n', @code)">
305 <z:index name="Thematic-number:w">
306 <xslo:value-of select="."/>
310 <xslo:for-each select="marc:subfield">
311 <xslo:if test="contains('r', @code)">
312 <z:index name="Music-key:w">
313 <xslo:value-of select="."/>
318 <xslo:template mode="index_subfields" match="marc:datafield[@tag='245']">
319 <xslo:for-each select="marc:subfield">
320 <xslo:if test="contains('a', @code)">
321 <z:index name="Title-cover:w Title-cover:p Title-cover:s Title:w Title:p Title:s">
322 <xslo:value-of select="."/>
326 <xslo:for-each select="marc:subfield">
327 <xslo:if test="contains('c', @code)">
328 <z:index name="Author:w Author-in-order:w Author-in-order:p Author-in-order:s">
329 <xslo:value-of select="."/>
333 <xslo:for-each select="marc:subfield">
334 <xslo:if test="contains('9', @code)">
335 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
336 <xslo:value-of select="."/>
341 <xslo:template mode="index_subfields" match="marc:datafield[@tag='260']">
342 <xslo:for-each select="marc:subfield">
343 <xslo:if test="contains('a', @code)">
344 <z:index name="pl:w pl:p">
345 <xslo:value-of select="."/>
349 <xslo:for-each select="marc:subfield">
350 <xslo:if test="contains('b', @code)">
351 <z:index name="Publisher:w Publisher:p">
352 <xslo:value-of select="."/>
356 <xslo:for-each select="marc:subfield">
357 <xslo:if test="contains('c', @code)">
358 <z:index name="copydate:w copydate:s">
359 <xslo:value-of select="."/>
364 <xslo:template mode="index_subfields" match="marc:datafield[@tag='400']">
365 <xslo:for-each select="marc:subfield">
366 <xslo:if test="contains('a', @code)">
367 <z:index name="Name-and-title:w">
368 <xslo:value-of select="."/>
372 <xslo:for-each select="marc:subfield">
373 <xslo:if test="contains('t', @code)">
374 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w">
375 <xslo:value-of select="."/>
379 <xslo:for-each select="marc:subfield">
380 <xslo:if test="contains('9', @code)">
381 <z:index name="Koha-Auth-Number:w">
382 <xslo:value-of select="."/>
387 <xslo:template mode="index_subfields" match="marc:datafield[@tag='410']">
388 <xslo:for-each select="marc:subfield">
389 <xslo:if test="contains('a', @code)">
390 <z:index name="Name-and-title:w">
391 <xslo:value-of select="."/>
395 <xslo:for-each select="marc:subfield">
396 <xslo:if test="contains('t', @code)">
397 <z:index name="Author-title:w Title:w Title-series:w">
398 <xslo:value-of select="."/>
402 <xslo:for-each select="marc:subfield">
403 <xslo:if test="contains('9', @code)">
404 <z:index name="Koha-Auth-Number:w">
405 <xslo:value-of select="."/>
410 <xslo:template mode="index_subfields" match="marc:datafield[@tag='411']">
411 <xslo:for-each select="marc:subfield">
412 <xslo:if test="contains('a', @code)">
413 <z:index name="Name-and-title:w">
414 <xslo:value-of select="."/>
418 <xslo:for-each select="marc:subfield">
419 <xslo:if test="contains('t', @code)">
420 <z:index name="Author-title:w Title-series:w">
421 <xslo:value-of select="."/>
426 <xslo:template mode="index_subfields" match="marc:datafield[@tag='440']">
427 <xslo:for-each select="marc:subfield">
428 <xslo:if test="contains('a', @code)">
429 <z:index name="Title-series:w Title-series:p">
430 <xslo:value-of select="."/>
434 <xslo:for-each select="marc:subfield">
435 <xslo:if test="contains('9', @code)">
436 <z:index name="Koha-Auth-Number:w">
437 <xslo:value-of select="."/>
442 <xslo:template mode="index_subfields" match="marc:datafield[@tag='490']">
443 <xslo:for-each select="marc:subfield">
444 <xslo:if test="contains('a', @code)">
445 <z:index name="Title-series:w Title-series:p">
446 <xslo:value-of select="."/>
450 <xslo:for-each select="marc:subfield">
451 <xslo:if test="contains('9', @code)">
452 <z:index name="Koha-Auth-Number:w">
453 <xslo:value-of select="."/>
458 <xslo:template mode="index_subfields" match="marc:datafield[@tag='505']">
459 <xslo:for-each select="marc:subfield">
460 <xslo:if test="contains('r', @code)">
461 <z:index name="Author:w">
462 <xslo:value-of select="."/>
466 <xslo:for-each select="marc:subfield">
467 <xslo:if test="contains('t', @code)">
468 <z:index name="Title:w">
469 <xslo:value-of select="."/>
474 <xslo:template mode="index_subfields" match="marc:datafield[@tag='521']">
475 <xslo:for-each select="marc:subfield">
476 <xslo:if test="contains('a', @code)">
477 <z:index name="lex:w lex:p lex:n">
478 <xslo:value-of select="."/>
483 <xslo:template mode="index_subfields" match="marc:datafield[@tag='526']">
484 <xslo:for-each select="marc:subfield">
485 <xslo:if test="contains('c', @code)">
486 <z:index name="arl:w arl:n">
487 <xslo:value-of select="."/>
491 <xslo:for-each select="marc:subfield">
492 <xslo:if test="contains('d', @code)">
493 <z:index name="arp:w arp:n">
494 <xslo:value-of select="."/>
499 <xslo:template mode="index_subfields" match="marc:datafield[@tag='600']">
500 <xslo:for-each select="marc:subfield">
501 <xslo:if test="contains('a', @code)">
502 <z:index name="Name-and-title:w Name:w Personal-name:w Subject-name-personal:w Subject:w Subject:p">
503 <xslo:value-of select="."/>
507 <xslo:for-each select="marc:subfield">
508 <xslo:if test="contains('t', @code)">
509 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
510 <xslo:value-of select="."/>
514 <xslo:for-each select="marc:subfield">
515 <xslo:if test="contains('9', @code)">
516 <z:index name="Koha-Auth-Number:w">
517 <xslo:value-of select="."/>
522 <xslo:template mode="index_subfields" match="marc:datafield[@tag='610']">
523 <xslo:for-each select="marc:subfield">
524 <xslo:if test="contains('a', @code)">
525 <z:index name="Name-and-title:w Subject:w Subject:p">
526 <xslo:value-of select="."/>
530 <xslo:for-each select="marc:subfield">
531 <xslo:if test="contains('t', @code)">
532 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
533 <xslo:value-of select="."/>
537 <xslo:for-each select="marc:subfield">
538 <xslo:if test="contains('9', @code)">
539 <z:index name="Koha-Auth-Number:w">
540 <xslo:value-of select="."/>
545 <xslo:template mode="index_subfields" match="marc:datafield[@tag='611']">
546 <xslo:for-each select="marc:subfield">
547 <xslo:if test="contains('a', @code)">
548 <z:index name="Name-and-title:w Subject:w Subject:p">
549 <xslo:value-of select="."/>
553 <xslo:for-each select="marc:subfield">
554 <xslo:if test="contains('t', @code)">
555 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
556 <xslo:value-of select="."/>
560 <xslo:for-each select="marc:subfield">
561 <xslo:if test="contains('9', @code)">
562 <z:index name="Koha-Auth-Number:w">
563 <xslo:value-of select="."/>
568 <xslo:template mode="index_subfields" match="marc:datafield[@tag='630']">
569 <xslo:for-each select="marc:subfield">
570 <xslo:if test="contains('n', @code)">
571 <z:index name="Thematic-number:w Subject:w Subject:p">
572 <xslo:value-of select="."/>
576 <xslo:for-each select="marc:subfield">
577 <xslo:if test="contains('r', @code)">
578 <z:index name="Music-key:w Subject:w Subject:p">
579 <xslo:value-of select="."/>
583 <xslo:for-each select="marc:subfield">
584 <xslo:if test="contains('9', @code)">
585 <z:index name="Koha-Auth-Number:w">
586 <xslo:value-of select="."/>
591 <xslo:template mode="index_subfields" match="marc:datafield[@tag='650']">
592 <xslo:for-each select="marc:subfield">
593 <xslo:if test="contains('9', @code)">
594 <z:index name="Koha-Auth-Number:w">
595 <xslo:value-of select="."/>
600 <xslo:template mode="index_subfields" match="marc:datafield[@tag='651']">
601 <xslo:for-each select="marc:subfield">
602 <xslo:if test="contains('9', @code)">
603 <z:index name="Koha-Auth-Number:w">
604 <xslo:value-of select="."/>
609 <xslo:template mode="index_subfields" match="marc:datafield[@tag='652']">
610 <xslo:for-each select="marc:subfield">
611 <xslo:if test="contains('9', @code)">
612 <z:index name="Koha-Auth-Number:w">
613 <xslo:value-of select="."/>
618 <xslo:template mode="index_subfields" match="marc:datafield[@tag='653']">
619 <xslo:for-each select="marc:subfield">
620 <xslo:if test="contains('a', @code)">
621 <z:index name="Index-term-uncontrolled:w Index-term-uncontrolled:p Subject:w Subject:p">
622 <xslo:value-of select="."/>
626 <xslo:for-each select="marc:subfield">
627 <xslo:if test="contains('9', @code)">
628 <z:index name="Koha-Auth-Number:w">
629 <xslo:value-of select="."/>
634 <xslo:template mode="index_subfields" match="marc:datafield[@tag='654']">
635 <xslo:for-each select="marc:subfield">
636 <xslo:if test="contains('9', @code)">
637 <z:index name="Koha-Auth-Number:w">
638 <xslo:value-of select="."/>
643 <xslo:template mode="index_subfields" match="marc:datafield[@tag='655']">
644 <xslo:for-each select="marc:subfield">
645 <xslo:if test="contains('a', @code)">
646 <z:index name="Index-term-genre:w Index-term-genre:p Subject:w Subject:p">
647 <xslo:value-of select="."/>
651 <xslo:for-each select="marc:subfield">
652 <xslo:if test="contains('9', @code)">
653 <z:index name="Koha-Auth-Number:w">
654 <xslo:value-of select="."/>
659 <xslo:template mode="index_subfields" match="marc:datafield[@tag='656']">
660 <xslo:for-each select="marc:subfield">
661 <xslo:if test="contains('9', @code)">
662 <z:index name="Koha-Auth-Number:w">
663 <xslo:value-of select="."/>
668 <xslo:template mode="index_subfields" match="marc:datafield[@tag='657']">
669 <xslo:for-each select="marc:subfield">
670 <xslo:if test="contains('9', @code)">
671 <z:index name="Koha-Auth-Number:w">
672 <xslo:value-of select="."/>
677 <xslo:template mode="index_subfields" match="marc:datafield[@tag='658']">
678 <xslo:for-each select="marc:subfield">
679 <xslo:if test="contains('a', @code)">
680 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
681 <xslo:value-of select="."/>
685 <xslo:for-each select="marc:subfield">
686 <xslo:if test="contains('b', @code)">
687 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
688 <xslo:value-of select="."/>
692 <xslo:for-each select="marc:subfield">
693 <xslo:if test="contains('c', @code)">
694 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
695 <xslo:value-of select="."/>
700 <xslo:template mode="index_subfields" match="marc:datafield[@tag='690']">
701 <xslo:for-each select="marc:subfield">
702 <xslo:if test="contains('9', @code)">
703 <z:index name="Koha-Auth-Number:w">
704 <xslo:value-of select="."/>
709 <xslo:template mode="index_subfields" match="marc:datafield[@tag='700']">
710 <xslo:for-each select="marc:subfield">
711 <xslo:if test="contains('9', @code)">
712 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
713 <xslo:value-of select="."/>
717 <xslo:for-each select="marc:subfield">
718 <xslo:if test="contains('a', @code)">
719 <z:index name="Author:w Author:p">
720 <xslo:value-of select="."/>
724 <xslo:for-each select="marc:subfield">
725 <xslo:if test="contains('n', @code)">
726 <z:index name="Thematic-number:w">
727 <xslo:value-of select="."/>
731 <xslo:for-each select="marc:subfield">
732 <xslo:if test="contains('r', @code)">
733 <z:index name="Music-key:w">
734 <xslo:value-of select="."/>
738 <xslo:for-each select="marc:subfield">
739 <xslo:if test="contains('t', @code)">
740 <z:index name="Author-title:w Name-and-title:w Title:w Title-uniform:w">
741 <xslo:value-of select="."/>
746 <xslo:template mode="index_subfields" match="marc:datafield[@tag='710']">
747 <xslo:for-each select="marc:subfield">
748 <xslo:if test="contains('t', @code)">
749 <z:index name="Author-title:w Name-and-title:w Title:w Title-uniform:w">
750 <xslo:value-of select="."/>
754 <xslo:for-each select="marc:subfield">
755 <xslo:if test="contains('a', @code)">
756 <z:index name="Name-and-title:w">
757 <xslo:value-of select="."/>
761 <xslo:for-each select="marc:subfield">
762 <xslo:if test="contains('9', @code)">
763 <z:index name="Koha-Auth-Number:w">
764 <xslo:value-of select="."/>
769 <xslo:template mode="index_subfields" match="marc:datafield[@tag='711']">
770 <xslo:for-each select="marc:subfield">
771 <xslo:if test="contains('a', @code)">
772 <z:index name="Name-and-title:w">
773 <xslo:value-of select="."/>
777 <xslo:for-each select="marc:subfield">
778 <xslo:if test="contains('t', @code)">
779 <z:index name="Author-title:w Title:w Title-uniform:w">
780 <xslo:value-of select="."/>
784 <xslo:for-each select="marc:subfield">
785 <xslo:if test="contains('9', @code)">
786 <z:index name="Koha-Auth-Number:w">
787 <xslo:value-of select="."/>
792 <xslo:template mode="index_subfields" match="marc:datafield[@tag='730']">
793 <xslo:for-each select="marc:subfield">
794 <xslo:if test="contains('n', @code)">
795 <z:index name="Thematic-number:w">
796 <xslo:value-of select="."/>
800 <xslo:for-each select="marc:subfield">
801 <xslo:if test="contains('r', @code)">
802 <z:index name="Music-key:w">
803 <xslo:value-of select="."/>
807 <xslo:for-each select="marc:subfield">
808 <xslo:if test="contains('9', @code)">
809 <z:index name="Koha-Auth-Number:w">
810 <xslo:value-of select="."/>
815 <xslo:template mode="index_subfields" match="marc:datafield[@tag='751']">
816 <xslo:for-each select="marc:subfield">
817 <xslo:if test="contains('a', @code)">
818 <z:index name="Name-geographic:w">
819 <xslo:value-of select="."/>
823 <xslo:for-each select="marc:subfield">
824 <xslo:if test="contains('9', @code)">
825 <z:index name="Koha-Auth-Number:w">
826 <xslo:value-of select="."/>
831 <xslo:template mode="index_subfields" match="marc:datafield[@tag='770']">
832 <xslo:for-each select="marc:subfield">
833 <xslo:if test="contains('w', @code)">
834 <z:index name="Record-control-number:w">
835 <xslo:value-of select="."/>
840 <xslo:template mode="index_subfields" match="marc:datafield[@tag='772']">
841 <xslo:for-each select="marc:subfield">
842 <xslo:if test="contains('w', @code)">
843 <z:index name="Record-control-number:w">
844 <xslo:value-of select="."/>
849 <xslo:template mode="index_subfields" match="marc:datafield[@tag='773']">
850 <xslo:for-each select="marc:subfield">
851 <xslo:if test="contains('a', @code)">
852 <z:index name="Host-item:w">
853 <xslo:value-of select="."/>
857 <xslo:for-each select="marc:subfield">
858 <xslo:if test="contains('9', @code)">
859 <z:index name="Host-Item-Number:w">
860 <xslo:value-of select="."/>
864 <xslo:for-each select="marc:subfield">
865 <xslo:if test="contains('t', @code)">
866 <z:index name="Host-item:w">
867 <xslo:value-of select="."/>
871 <xslo:for-each select="marc:subfield">
872 <xslo:if test="contains('w', @code)">
873 <z:index name="Record-control-number:w">
874 <xslo:value-of select="."/>
879 <xslo:template mode="index_subfields" match="marc:datafield[@tag='774']">
880 <xslo:for-each select="marc:subfield">
881 <xslo:if test="contains('w', @code)">
882 <z:index name="Record-control-number:w">
883 <xslo:value-of select="."/>
888 <xslo:template mode="index_subfields" match="marc:datafield[@tag='775']">
889 <xslo:for-each select="marc:subfield">
890 <xslo:if test="contains('w', @code)">
891 <z:index name="Record-control-number:w">
892 <xslo:value-of select="."/>
897 <xslo:template mode="index_subfields" match="marc:datafield[@tag='776']">
898 <xslo:for-each select="marc:subfield">
899 <xslo:if test="contains('w', @code)">
900 <z:index name="Record-control-number:w">
901 <xslo:value-of select="."/>
906 <xslo:template mode="index_subfields" match="marc:datafield[@tag='777']">
907 <xslo:for-each select="marc:subfield">
908 <xslo:if test="contains('w', @code)">
909 <z:index name="Record-control-number:w">
910 <xslo:value-of select="."/>
915 <xslo:template mode="index_subfields" match="marc:datafield[@tag='780']">
916 <xslo:for-each select="marc:subfield">
917 <xslo:if test="contains('t', @code)">
918 <z:index name="Title:w">
919 <xslo:value-of select="."/>
923 <xslo:for-each select="marc:subfield">
924 <xslo:if test="contains('w', @code)">
925 <z:index name="Record-control-number:w">
926 <xslo:value-of select="."/>
931 <xslo:template mode="index_subfields" match="marc:datafield[@tag='785']">
932 <xslo:for-each select="marc:subfield">
933 <xslo:if test="contains('w', @code)">
934 <z:index name="Record-control-number:w">
935 <xslo:value-of select="."/>
940 <xslo:template mode="index_subfields" match="marc:datafield[@tag='787']">
941 <xslo:for-each select="marc:subfield">
942 <xslo:if test="contains('w', @code)">
943 <z:index name="Record-control-number:w">
944 <xslo:value-of select="."/>
949 <xslo:template mode="index_subfields" match="marc:datafield[@tag='800']">
950 <xslo:for-each select="marc:subfield">
951 <xslo:if test="contains('a', @code)">
952 <z:index name="Name-and-title:w Title-series:w Title-series:p">
953 <xslo:value-of select="."/>
957 <xslo:for-each select="marc:subfield">
958 <xslo:if test="contains('t', @code)">
959 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
960 <xslo:value-of select="."/>
964 <xslo:for-each select="marc:subfield">
965 <xslo:if test="contains('9', @code)">
966 <z:index name="Koha-Auth-Number:w">
967 <xslo:value-of select="."/>
971 <xslo:for-each select="marc:subfield">
972 <xslo:if test="contains('w', @code)">
973 <z:index name="Record-control-number:w">
974 <xslo:value-of select="."/>
979 <xslo:template mode="index_subfields" match="marc:datafield[@tag='810']">
980 <xslo:for-each select="marc:subfield">
981 <xslo:if test="contains('a', @code)">
982 <z:index name="Name-and-title:w Title-series:w Title-series:p">
983 <xslo:value-of select="."/>
987 <xslo:for-each select="marc:subfield">
988 <xslo:if test="contains('t', @code)">
989 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
990 <xslo:value-of select="."/>
994 <xslo:for-each select="marc:subfield">
995 <xslo:if test="contains('w', @code)">
996 <z:index name="Record-control-number:w">
997 <xslo:value-of select="."/>
1001 <xslo:for-each select="marc:subfield">
1002 <xslo:if test="contains('9', @code)">
1003 <z:index name="Koha-Auth-Number:w">
1004 <xslo:value-of select="."/>
1009 <xslo:template mode="index_subfields" match="marc:datafield[@tag='811']">
1010 <xslo:for-each select="marc:subfield">
1011 <xslo:if test="contains('a', @code)">
1012 <z:index name="Name-and-title:w Title-series:w Title-series:p">
1013 <xslo:value-of select="."/>
1017 <xslo:for-each select="marc:subfield">
1018 <xslo:if test="contains('9', @code)">
1019 <z:index name="Koha-Auth-Number:w">
1020 <xslo:value-of select="."/>
1024 <xslo:for-each select="marc:subfield">
1025 <xslo:if test="contains('t', @code)">
1026 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
1027 <xslo:value-of select="."/>
1031 <xslo:for-each select="marc:subfield">
1032 <xslo:if test="contains('w', @code)">
1033 <z:index name="Record-control-number:w">
1034 <xslo:value-of select="."/>
1039 <xslo:template mode="index_subfields" match="marc:datafield[@tag='830']">
1040 <xslo:for-each select="marc:subfield">
1041 <xslo:if test="contains('w', @code)">
1042 <z:index name="Record-control-number:w">
1043 <xslo:value-of select="."/>
1047 <xslo:for-each select="marc:subfield">
1048 <xslo:if test="contains('9', @code)">
1049 <z:index name="Koha-Auth-Number:w">
1050 <xslo:value-of select="."/>
1055 <xslo:template mode="index_subfields" match="marc:datafield[@tag='999']">
1056 <xslo:for-each select="marc:subfield">
1057 <xslo:if test="contains('c', @code)">
1058 <z:index name="Local-Number:n Local-Number:w Local-Number:s">
1059 <xslo:value-of select="."/>
1063 <xslo:for-each select="marc:subfield">
1064 <xslo:if test="contains('d', @code)">
1065 <z:index name="biblioitemnumber:n biblioitemnumber:w biblioitemnumber:s">
1066 <xslo:value-of select="."/>
1071 <xslo:template mode="index_subfields" match="marc:datafield[@tag='942']">
1072 <xslo:for-each select="marc:subfield">
1073 <xslo:if test="contains('0', @code)">
1074 <z:index name="totalissues:n totalissues:s">
1075 <xslo:value-of select="."/>
1079 <xslo:for-each select="marc:subfield">
1080 <xslo:if test="contains('2', @code)">
1081 <z:index name="cn-bib-source:w">
1082 <xslo:value-of select="."/>
1086 <xslo:for-each select="marc:subfield">
1087 <xslo:if test="contains('6', @code)">
1088 <z:index name="cn-bib-sort:n cn-bib-sort:s">
1089 <xslo:value-of select="."/>
1093 <xslo:for-each select="marc:subfield">
1094 <xslo:if test="contains('c', @code)">
1095 <z:index name="itemtype:w itemtype:p itype:w itype:p">
1096 <xslo:value-of select="."/>
1100 <xslo:for-each select="marc:subfield">
1101 <xslo:if test="contains('n', @code)">
1102 <z:index name="Suppress:w Suppress:n">
1103 <xslo:value-of select="."/>
1107 <xslo:for-each select="marc:subfield">
1108 <xslo:if test="contains('h', @code)">
1109 <z:index name="cn-class:w">
1110 <xslo:value-of select="."/>
1114 <xslo:for-each select="marc:subfield">
1115 <xslo:if test="contains('i', @code)">
1116 <z:index name="cn-item:w">
1117 <xslo:value-of select="."/>
1121 <xslo:for-each select="marc:subfield">
1122 <xslo:if test="contains('k', @code)">
1123 <z:index name="cn-prefix:w">
1124 <xslo:value-of select="."/>
1128 <xslo:for-each select="marc:subfield">
1129 <xslo:if test="contains('m', @code)">
1130 <z:index name="cn-suffix:w">
1131 <xslo:value-of select="."/>
1136 <xslo:template mode="index_subfields" match="marc:datafield[@tag='952']">
1137 <xslo:for-each select="marc:subfield">
1138 <xslo:if test="contains('0', @code)">
1139 <z:index name="withdrawn:n withdrawn:w">
1140 <xslo:value-of select="."/>
1144 <xslo:for-each select="marc:subfield">
1145 <xslo:if test="contains('1', @code)">
1146 <z:index name="lost:w lost:n">
1147 <xslo:value-of select="."/>
1151 <xslo:for-each select="marc:subfield">
1152 <xslo:if test="contains('2', @code)">
1153 <z:index name="classification-source:w">
1154 <xslo:value-of select="."/>
1158 <xslo:for-each select="marc:subfield">
1159 <xslo:if test="contains('3', @code)">
1160 <z:index name="materials-specified:w">
1161 <xslo:value-of select="."/>
1165 <xslo:for-each select="marc:subfield">
1166 <xslo:if test="contains('4', @code)">
1167 <z:index name="damaged:n damaged:w">
1168 <xslo:value-of select="."/>
1172 <xslo:for-each select="marc:subfield">
1173 <xslo:if test="contains('5', @code)">
1174 <z:index name="restricted:n restricted:w">
1175 <xslo:value-of select="."/>
1179 <xslo:for-each select="marc:subfield">
1180 <xslo:if test="contains('6', @code)">
1181 <z:index name="cn-sort:n cn-sort:s">
1182 <xslo:value-of select="."/>
1186 <xslo:for-each select="marc:subfield">
1187 <xslo:if test="contains('7', @code)">
1188 <z:index name="notforloan:n notforloan:w">
1189 <xslo:value-of select="."/>
1193 <xslo:for-each select="marc:subfield">
1194 <xslo:if test="contains('8', @code)">
1195 <z:index name="ccode:w ccode:p">
1196 <xslo:value-of select="."/>
1200 <xslo:for-each select="marc:subfield">
1201 <xslo:if test="contains('9', @code)">
1202 <z:index name="itemnumber:n itemnumber:s">
1203 <xslo:value-of select="."/>
1207 <xslo:for-each select="marc:subfield">
1208 <xslo:if test="contains('a', @code)">
1209 <z:index name="homebranch:w">
1210 <xslo:value-of select="."/>
1214 <xslo:for-each select="marc:subfield">
1215 <xslo:if test="contains('b', @code)">
1216 <z:index name="holdingbranch:w">
1217 <xslo:value-of select="."/>
1221 <xslo:for-each select="marc:subfield">
1222 <xslo:if test="contains('c', @code)">
1223 <z:index name="location:w">
1224 <xslo:value-of select="."/>
1228 <xslo:for-each select="marc:subfield">
1229 <xslo:if test="contains('d', @code)">
1230 <z:index name="Date-of-acquisition:w Date-of-acquisition:d Date-of-acquisition:s">
1231 <xslo:value-of select="."/>
1235 <xslo:for-each select="marc:subfield">
1236 <xslo:if test="contains('e', @code)">
1237 <z:index name="acqsource:w">
1238 <xslo:value-of select="."/>
1242 <xslo:for-each select="marc:subfield">
1243 <xslo:if test="contains('f', @code)">
1244 <z:index name="coded-location-qualifier:w">
1245 <xslo:value-of select="."/>
1249 <xslo:for-each select="marc:subfield">
1250 <xslo:if test="contains('g', @code)">
1251 <z:index name="price:w">
1252 <xslo:value-of select="."/>
1256 <xslo:for-each select="marc:subfield">
1257 <xslo:if test="contains('i', @code)">
1258 <z:index name="Number-local-acquisition:w">
1259 <xslo:value-of select="."/>
1263 <xslo:for-each select="marc:subfield">
1264 <xslo:if test="contains('j', @code)">
1265 <z:index name="stack:n stack:w">
1266 <xslo:value-of select="."/>
1270 <xslo:for-each select="marc:subfield">
1271 <xslo:if test="contains('l', @code)">
1272 <z:index name="issues:n issues:w issues:s">
1273 <xslo:value-of select="."/>
1277 <xslo:for-each select="marc:subfield">
1278 <xslo:if test="contains('m', @code)">
1279 <z:index name="renewals:n renewals:w">
1280 <xslo:value-of select="."/>
1284 <xslo:for-each select="marc:subfield">
1285 <xslo:if test="contains('n', @code)">
1286 <z:index name="reserves:n reserves:w">
1287 <xslo:value-of select="."/>
1291 <xslo:for-each select="marc:subfield">
1292 <xslo:if test="contains('o', @code)">
1293 <z:index name="Local-classification:w Local-classification:p Local-classification:s">
1294 <xslo:value-of select="."/>
1298 <xslo:for-each select="marc:subfield">
1299 <xslo:if test="contains('p', @code)">
1300 <z:index name="barcode:w barcode:n">
1301 <xslo:value-of select="."/>
1305 <xslo:for-each select="marc:subfield">
1306 <xslo:if test="contains('q', @code)">
1307 <z:index name="onloan:n onloan:w">
1308 <xslo:value-of select="."/>
1312 <xslo:for-each select="marc:subfield">
1313 <xslo:if test="contains('r', @code)">
1314 <z:index name="datelastseen:w">
1315 <xslo:value-of select="."/>
1319 <xslo:for-each select="marc:subfield">
1320 <xslo:if test="contains('s', @code)">
1321 <z:index name="datelastborrowed:w">
1322 <xslo:value-of select="."/>
1326 <xslo:for-each select="marc:subfield">
1327 <xslo:if test="contains('t', @code)">
1328 <z:index name="copynumber:w">
1329 <xslo:value-of select="."/>
1333 <xslo:for-each select="marc:subfield">
1334 <xslo:if test="contains('u', @code)">
1335 <z:index name="uri:u">
1336 <xslo:value-of select="."/>
1340 <xslo:for-each select="marc:subfield">
1341 <xslo:if test="contains('v', @code)">
1342 <z:index name="replacementprice:w">
1343 <xslo:value-of select="."/>
1347 <xslo:for-each select="marc:subfield">
1348 <xslo:if test="contains('w', @code)">
1349 <z:index name="replacementpricedate:w">
1350 <xslo:value-of select="."/>
1354 <xslo:for-each select="marc:subfield">
1355 <xslo:if test="contains('y', @code)">
1356 <z:index name="itype:w itype:p">
1357 <xslo:value-of select="."/>
1361 <xslo:for-each select="marc:subfield">
1362 <xslo:if test="contains('z', @code)">
1363 <z:index name="Note:w Note:p">
1364 <xslo:value-of select="."/>
1369 <xslo:template mode="index_data_field" match="marc:datafield[@tag='010']">
1370 <z:index name="LC-card-number:w Identifier-standard:w">
1371 <xslo:variable name="raw_heading">
1372 <xslo:for-each select="marc:subfield">
1373 <xslo:if test="position() > 1">
1374 <xslo:value-of select="substring(' ', 1, 1)"/>
1376 <xslo:value-of select="."/>
1379 <xslo:value-of select="normalize-space($raw_heading)"/>
1382 <xslo:template mode="index_data_field" match="marc:datafield[@tag='011']">
1383 <z:index name="LC-card-number:w Identifier-standard:w">
1384 <xslo:variable name="raw_heading">
1385 <xslo:for-each select="marc:subfield">
1386 <xslo:if test="position() > 1">
1387 <xslo:value-of select="substring(' ', 1, 1)"/>
1389 <xslo:value-of select="."/>
1392 <xslo:value-of select="normalize-space($raw_heading)"/>
1395 <xslo:template mode="index_data_field" match="marc:datafield[@tag='015']">
1396 <z:index name="BNB-card-number:w BGF-number:w Number-db:w Number-natl-biblio:w Identifier-standard:w">
1397 <xslo:variable name="raw_heading">
1398 <xslo:for-each select="marc:subfield">
1399 <xslo:if test="position() > 1">
1400 <xslo:value-of select="substring(' ', 1, 1)"/>
1402 <xslo:value-of select="."/>
1405 <xslo:value-of select="normalize-space($raw_heading)"/>
1408 <xslo:template mode="index_data_field" match="marc:datafield[@tag='017']">
1409 <z:index name="Number-legal-deposit:w Identifier-standard:w">
1410 <xslo:variable name="raw_heading">
1411 <xslo:for-each select="marc:subfield">
1412 <xslo:if test="position() > 1">
1413 <xslo:value-of select="substring(' ', 1, 1)"/>
1415 <xslo:value-of select="."/>
1418 <xslo:value-of select="normalize-space($raw_heading)"/>
1421 <xslo:template mode="index_data_field" match="marc:datafield[@tag='018']">
1422 <z:index name="Identifier-standard:w">
1423 <xslo:variable name="raw_heading">
1424 <xslo:for-each select="marc:subfield">
1425 <xslo:if test="position() > 1">
1426 <xslo:value-of select="substring(' ', 1, 1)"/>
1428 <xslo:value-of select="."/>
1431 <xslo:value-of select="normalize-space($raw_heading)"/>
1434 <xslo:template mode="index_data_field" match="marc:datafield[@tag='020']">
1435 <z:index name="Identifier-standard:w">
1436 <xslo:variable name="raw_heading">
1437 <xslo:for-each select="marc:subfield">
1438 <xslo:if test="position() > 1">
1439 <xslo:value-of select="substring(' ', 1, 1)"/>
1441 <xslo:value-of select="."/>
1444 <xslo:value-of select="normalize-space($raw_heading)"/>
1447 <xslo:template mode="index_data_field" match="marc:datafield[@tag='022']">
1448 <z:index name="Identifier-standard:w">
1449 <xslo:variable name="raw_heading">
1450 <xslo:for-each select="marc:subfield">
1451 <xslo:if test="position() > 1">
1452 <xslo:value-of select="substring(' ', 1, 1)"/>
1454 <xslo:value-of select="."/>
1457 <xslo:value-of select="normalize-space($raw_heading)"/>
1460 <xslo:template mode="index_data_field" match="marc:datafield[@tag='023']">
1461 <z:index name="Identifier-standard:w">
1462 <xslo:variable name="raw_heading">
1463 <xslo:for-each select="marc:subfield">
1464 <xslo:if test="position() > 1">
1465 <xslo:value-of select="substring(' ', 1, 1)"/>
1467 <xslo:value-of select="."/>
1470 <xslo:value-of select="normalize-space($raw_heading)"/>
1473 <xslo:template mode="index_data_field" match="marc:datafield[@tag='024']">
1474 <z:index name="Identifier-standard:w">
1475 <xslo:variable name="raw_heading">
1476 <xslo:for-each select="marc:subfield">
1477 <xslo:if test="position() > 1">
1478 <xslo:value-of select="substring(' ', 1, 1)"/>
1480 <xslo:value-of select="."/>
1483 <xslo:value-of select="normalize-space($raw_heading)"/>
1486 <xslo:template mode="index_data_field" match="marc:datafield[@tag='025']">
1487 <z:index name="Identifier-standard:w">
1488 <xslo:variable name="raw_heading">
1489 <xslo:for-each select="marc:subfield">
1490 <xslo:if test="position() > 1">
1491 <xslo:value-of select="substring(' ', 1, 1)"/>
1493 <xslo:value-of select="."/>
1496 <xslo:value-of select="normalize-space($raw_heading)"/>
1499 <xslo:template mode="index_data_field" match="marc:datafield[@tag='027']">
1500 <z:index name="Report-number:w Identifier-standard:w">
1501 <xslo:variable name="raw_heading">
1502 <xslo:for-each select="marc:subfield">
1503 <xslo:if test="position() > 1">
1504 <xslo:value-of select="substring(' ', 1, 1)"/>
1506 <xslo:value-of select="."/>
1509 <xslo:value-of select="normalize-space($raw_heading)"/>
1512 <xslo:template mode="index_data_field" match="marc:datafield[@tag='028']">
1513 <z:index name="Identifier-publisher-for-music:w Identifier-standard:w">
1514 <xslo:variable name="raw_heading">
1515 <xslo:for-each select="marc:subfield">
1516 <xslo:if test="position() > 1">
1517 <xslo:value-of select="substring(' ', 1, 1)"/>
1519 <xslo:value-of select="."/>
1522 <xslo:value-of select="normalize-space($raw_heading)"/>
1525 <xslo:template mode="index_data_field" match="marc:datafield[@tag='030']">
1526 <z:index name="CODEN:w Identifier-standard:w">
1527 <xslo:variable name="raw_heading">
1528 <xslo:for-each select="marc:subfield">
1529 <xslo:if test="position() > 1">
1530 <xslo:value-of select="substring(' ', 1, 1)"/>
1532 <xslo:value-of select="."/>
1535 <xslo:value-of select="normalize-space($raw_heading)"/>
1538 <xslo:template mode="index_data_field" match="marc:datafield[@tag='034']">
1539 <z:index name="Map-scale:w">
1540 <xslo:variable name="raw_heading">
1541 <xslo:for-each select="marc:subfield">
1542 <xslo:if test="position() > 1">
1543 <xslo:value-of select="substring(' ', 1, 1)"/>
1545 <xslo:value-of select="."/>
1548 <xslo:value-of select="normalize-space($raw_heading)"/>
1551 <xslo:template mode="index_data_field" match="marc:datafield[@tag='037']">
1552 <z:index name="Identifier-standard:w Stock-number:w">
1553 <xslo:variable name="raw_heading">
1554 <xslo:for-each select="marc:subfield">
1555 <xslo:if test="position() > 1">
1556 <xslo:value-of select="substring(' ', 1, 1)"/>
1558 <xslo:value-of select="."/>
1561 <xslo:value-of select="normalize-space($raw_heading)"/>
1564 <xslo:template mode="index_data_field" match="marc:datafield[@tag='040']">
1565 <z:index name="Code-institution:w Record-source:w">
1566 <xslo:variable name="raw_heading">
1567 <xslo:for-each select="marc:subfield">
1568 <xslo:if test="position() > 1">
1569 <xslo:value-of select="substring(' ', 1, 1)"/>
1571 <xslo:value-of select="."/>
1574 <xslo:value-of select="normalize-space($raw_heading)"/>
1577 <xslo:template mode="index_data_field" match="marc:datafield[@tag='043']">
1578 <z:index name="Code-geographic:w">
1579 <xslo:variable name="raw_heading">
1580 <xslo:for-each select="marc:subfield">
1581 <xslo:if test="position() > 1">
1582 <xslo:value-of select="substring(' ', 1, 1)"/>
1584 <xslo:value-of select="."/>
1587 <xslo:value-of select="normalize-space($raw_heading)"/>
1590 <xslo:template mode="index_data_field" match="marc:datafield[@tag='050']">
1591 <z:index name="LC-call-number:w LC-call-number:p LC-call-number:s">
1592 <xslo:variable name="raw_heading">
1593 <xslo:for-each select="marc:subfield">
1594 <xslo:if test="position() > 1">
1595 <xslo:value-of select="substring(' ', 1, 1)"/>
1597 <xslo:value-of select="."/>
1600 <xslo:value-of select="normalize-space($raw_heading)"/>
1603 <xslo:template mode="index_data_field" match="marc:datafield[@tag='052']">
1604 <z:index name="Geographic-class:w">
1605 <xslo:variable name="raw_heading">
1606 <xslo:for-each select="marc:subfield">
1607 <xslo:if test="position() > 1">
1608 <xslo:value-of select="substring(' ', 1, 1)"/>
1610 <xslo:value-of select="."/>
1613 <xslo:value-of select="normalize-space($raw_heading)"/>
1616 <xslo:template mode="index_data_field" match="marc:datafield[@tag='060']">
1617 <z:index name="NLM-call-number:w">
1618 <xslo:variable name="raw_heading">
1619 <xslo:for-each select="marc:subfield">
1620 <xslo:if test="position() > 1">
1621 <xslo:value-of select="substring(' ', 1, 1)"/>
1623 <xslo:value-of select="."/>
1626 <xslo:value-of select="normalize-space($raw_heading)"/>
1629 <xslo:template mode="index_data_field" match="marc:datafield[@tag='070']">
1630 <z:index name="NAL-call-number:w">
1631 <xslo:variable name="raw_heading">
1632 <xslo:for-each select="marc:subfield">
1633 <xslo:if test="position() > 1">
1634 <xslo:value-of select="substring(' ', 1, 1)"/>
1636 <xslo:value-of select="."/>
1639 <xslo:value-of select="normalize-space($raw_heading)"/>
1642 <xslo:template mode="index_data_field" match="marc:datafield[@tag='080']">
1643 <z:index name="UDC-classification:w">
1644 <xslo:variable name="raw_heading">
1645 <xslo:for-each select="marc:subfield">
1646 <xslo:if test="position() > 1">
1647 <xslo:value-of select="substring(' ', 1, 1)"/>
1649 <xslo:value-of select="."/>
1652 <xslo:value-of select="normalize-space($raw_heading)"/>
1655 <xslo:template mode="index_data_field" match="marc:datafield[@tag='082']">
1656 <z:index name="Dewey-classification:w Dewey-classification:s">
1657 <xslo:variable name="raw_heading">
1658 <xslo:for-each select="marc:subfield">
1659 <xslo:if test="position() > 1">
1660 <xslo:value-of select="substring(' ', 1, 1)"/>
1662 <xslo:value-of select="."/>
1665 <xslo:value-of select="normalize-space($raw_heading)"/>
1668 <xslo:template mode="index_data_field" match="marc:datafield[@tag='086']">
1669 <z:index name="Number-govt-pub:w">
1670 <xslo:variable name="raw_heading">
1671 <xslo:for-each select="marc:subfield">
1672 <xslo:if test="position() > 1">
1673 <xslo:value-of select="substring(' ', 1, 1)"/>
1675 <xslo:value-of select="."/>
1678 <xslo:value-of select="normalize-space($raw_heading)"/>
1681 <xslo:template mode="index_data_field" match="marc:datafield[@tag='100']">
1682 <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">
1683 <xslo:variable name="raw_heading">
1684 <xslo:for-each select="marc:subfield">
1685 <xslo:if test="position() > 1">
1686 <xslo:value-of select="substring(' ', 1, 1)"/>
1688 <xslo:value-of select="."/>
1691 <xslo:value-of select="normalize-space($raw_heading)"/>
1694 <xslo:template mode="index_data_field" match="marc:datafield[@tag='110']">
1695 <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">
1696 <xslo:variable name="raw_heading">
1697 <xslo:for-each select="marc:subfield">
1698 <xslo:if test="position() > 1">
1699 <xslo:value-of select="substring(' ', 1, 1)"/>
1701 <xslo:value-of select="."/>
1704 <xslo:value-of select="normalize-space($raw_heading)"/>
1707 <xslo:template mode="index_data_field" match="marc:datafield[@tag='111']">
1708 <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">
1709 <xslo:variable name="raw_heading">
1710 <xslo:for-each select="marc:subfield">
1711 <xslo:if test="position() > 1">
1712 <xslo:value-of select="substring(' ', 1, 1)"/>
1714 <xslo:value-of select="."/>
1717 <xslo:value-of select="normalize-space($raw_heading)"/>
1720 <xslo:template mode="index_data_field" match="marc:datafield[@tag='130']">
1721 <z:index name="Title:w Title:p Title-uniform:w">
1722 <xslo:variable name="raw_heading">
1723 <xslo:for-each select="marc:subfield">
1724 <xslo:if test="position() > 1">
1725 <xslo:value-of select="substring(' ', 1, 1)"/>
1727 <xslo:value-of select="."/>
1730 <xslo:value-of select="normalize-space($raw_heading)"/>
1733 <xslo:template mode="index_data_field" match="marc:datafield[@tag='210']">
1734 <z:index name="Title:w Title:p Title-abbreviated:w">
1735 <xslo:variable name="raw_heading">
1736 <xslo:for-each select="marc:subfield">
1737 <xslo:if test="position() > 1">
1738 <xslo:value-of select="substring(' ', 1, 1)"/>
1740 <xslo:value-of select="."/>
1743 <xslo:value-of select="normalize-space($raw_heading)"/>
1746 <xslo:template mode="index_data_field" match="marc:datafield[@tag='211']">
1747 <z:index name="Title:w Title:p Title-abbreviated:w">
1748 <xslo:variable name="raw_heading">
1749 <xslo:for-each select="marc:subfield">
1750 <xslo:if test="position() > 1">
1751 <xslo:value-of select="substring(' ', 1, 1)"/>
1753 <xslo:value-of select="."/>
1756 <xslo:value-of select="normalize-space($raw_heading)"/>
1759 <xslo:template mode="index_data_field" match="marc:datafield[@tag='212']">
1760 <z:index name="Title:w Title:p Title-other-variant:w">
1761 <xslo:variable name="raw_heading">
1762 <xslo:for-each select="marc:subfield">
1763 <xslo:if test="position() > 1">
1764 <xslo:value-of select="substring(' ', 1, 1)"/>
1766 <xslo:value-of select="."/>
1769 <xslo:value-of select="normalize-space($raw_heading)"/>
1772 <xslo:template mode="index_data_field" match="marc:datafield[@tag='214']">
1773 <z:index name="Title:w Title:p Title-expanded:w">
1774 <xslo:variable name="raw_heading">
1775 <xslo:for-each select="marc:subfield">
1776 <xslo:if test="position() > 1">
1777 <xslo:value-of select="substring(' ', 1, 1)"/>
1779 <xslo:value-of select="."/>
1782 <xslo:value-of select="normalize-space($raw_heading)"/>
1785 <xslo:template mode="index_data_field" match="marc:datafield[@tag='222']">
1786 <z:index name="Title:w Title:p Title-key:w">
1787 <xslo:variable name="raw_heading">
1788 <xslo:for-each select="marc:subfield">
1789 <xslo:if test="position() > 1">
1790 <xslo:value-of select="substring(' ', 1, 1)"/>
1792 <xslo:value-of select="."/>
1795 <xslo:value-of select="normalize-space($raw_heading)"/>
1798 <xslo:template mode="index_data_field" match="marc:datafield[@tag='240']">
1799 <z:index name="Title:w Title:p Title-uniform:w">
1800 <xslo:variable name="raw_heading">
1801 <xslo:for-each select="marc:subfield">
1802 <xslo:if test="position() > 1">
1803 <xslo:value-of select="substring(' ', 1, 1)"/>
1805 <xslo:value-of select="."/>
1808 <xslo:value-of select="normalize-space($raw_heading)"/>
1811 <xslo:template mode="index_data_field" match="marc:datafield[@tag='243']">
1812 <z:index name="Title:w Title:p Title-collective:w">
1813 <xslo:variable name="raw_heading">
1814 <xslo:for-each select="marc:subfield">
1815 <xslo:if test="position() > 1">
1816 <xslo:value-of select="substring(' ', 1, 1)"/>
1818 <xslo:value-of select="."/>
1821 <xslo:value-of select="normalize-space($raw_heading)"/>
1824 <xslo:template mode="index_data_field" match="marc:datafield[@tag='245']">
1825 <z:index name="Title:w Title:p">
1826 <xslo:variable name="raw_heading">
1827 <xslo:for-each select="marc:subfield">
1828 <xslo:if test="position() > 1">
1829 <xslo:value-of select="substring(' ', 1, 1)"/>
1831 <xslo:value-of select="."/>
1834 <xslo:value-of select="normalize-space($raw_heading)"/>
1837 <xslo:template mode="index_data_field" match="marc:datafield[@tag='246']">
1838 <z:index name="Title:w Title:p Title-abbreviated:w Title-expanded:w Title-former:w">
1839 <xslo:variable name="raw_heading">
1840 <xslo:for-each select="marc:subfield">
1841 <xslo:if test="position() > 1">
1842 <xslo:value-of select="substring(' ', 1, 1)"/>
1844 <xslo:value-of select="."/>
1847 <xslo:value-of select="normalize-space($raw_heading)"/>
1850 <xslo:template mode="index_data_field" match="marc:datafield[@tag='247']">
1851 <z:index name="Title:w Title:p Title-former:w Title-other-variant:w Related-periodical:w">
1852 <xslo:variable name="raw_heading">
1853 <xslo:for-each select="marc:subfield">
1854 <xslo:if test="position() > 1">
1855 <xslo:value-of select="substring(' ', 1, 1)"/>
1857 <xslo:value-of select="."/>
1860 <xslo:value-of select="normalize-space($raw_heading)"/>
1863 <xslo:template mode="index_data_field" match="marc:datafield[@tag='260']">
1864 <z:index name="pl:w Provider:w">
1865 <xslo:variable name="raw_heading">
1866 <xslo:for-each select="marc:subfield">
1867 <xslo:if test="position() > 1">
1868 <xslo:value-of select="substring(' ', 1, 1)"/>
1870 <xslo:value-of select="."/>
1873 <xslo:value-of select="normalize-space($raw_heading)"/>
1876 <xslo:template mode="index_data_field" match="marc:datafield[@tag='264']">
1877 <z:index name="Provider:w">
1878 <xslo:variable name="raw_heading">
1879 <xslo:for-each select="marc:subfield">
1880 <xslo:if test="position() > 1">
1881 <xslo:value-of select="substring(' ', 1, 1)"/>
1883 <xslo:value-of select="."/>
1886 <xslo:value-of select="normalize-space($raw_heading)"/>
1889 <xslo:template mode="index_data_field" match="marc:datafield[@tag='300']">
1890 <z:index name="Extent:w Extent:p">
1891 <xslo:variable name="raw_heading">
1892 <xslo:for-each select="marc:subfield">
1893 <xslo:if test="position() > 1">
1894 <xslo:value-of select="substring(' ', 1, 1)"/>
1896 <xslo:value-of select="."/>
1899 <xslo:value-of select="normalize-space($raw_heading)"/>
1902 <xslo:template mode="index_data_field" match="marc:datafield[@tag='400']">
1903 <z:index name="Author:w Author-name-personal:w Name:w Personal-name:w">
1904 <xslo:variable name="raw_heading">
1905 <xslo:for-each select="marc:subfield">
1906 <xslo:if test="position() > 1">
1907 <xslo:value-of select="substring(' ', 1, 1)"/>
1909 <xslo:value-of select="."/>
1912 <xslo:value-of select="normalize-space($raw_heading)"/>
1915 <xslo:template mode="index_data_field" match="marc:datafield[@tag='410']">
1916 <z:index name="Author:w Corporate-name:w">
1917 <xslo:variable name="raw_heading">
1918 <xslo:for-each select="marc:subfield">
1919 <xslo:if test="position() > 1">
1920 <xslo:value-of select="substring(' ', 1, 1)"/>
1922 <xslo:value-of select="."/>
1925 <xslo:value-of select="normalize-space($raw_heading)"/>
1928 <xslo:template mode="index_data_field" match="marc:datafield[@tag='411']">
1929 <z:index name="Author:w Conference-name:w">
1930 <xslo:variable name="raw_heading">
1931 <xslo:for-each select="marc:subfield">
1932 <xslo:if test="position() > 1">
1933 <xslo:value-of select="substring(' ', 1, 1)"/>
1935 <xslo:value-of select="."/>
1938 <xslo:value-of select="normalize-space($raw_heading)"/>
1941 <xslo:template mode="index_data_field" match="marc:datafield[@tag='440']">
1942 <z:index name="Title-series:w Title-series:p Title:w Title-series:w">
1943 <xslo:variable name="raw_heading">
1944 <xslo:for-each select="marc:subfield">
1945 <xslo:if test="position() > 1">
1946 <xslo:value-of select="substring(' ', 1, 1)"/>
1948 <xslo:value-of select="."/>
1951 <xslo:value-of select="normalize-space($raw_heading)"/>
1954 <xslo:template mode="index_data_field" match="marc:datafield[@tag='490']">
1955 <z:index name="Title:w Title-series:w">
1956 <xslo:variable name="raw_heading">
1957 <xslo:for-each select="marc:subfield">
1958 <xslo:if test="position() > 1">
1959 <xslo:value-of select="substring(' ', 1, 1)"/>
1961 <xslo:value-of select="."/>
1964 <xslo:value-of select="normalize-space($raw_heading)"/>
1967 <xslo:template mode="index_data_field" match="marc:datafield[@tag='500']">
1968 <z:index name="Note:w Note:p">
1969 <xslo:variable name="raw_heading">
1970 <xslo:for-each select="marc:subfield">
1971 <xslo:if test="position() > 1">
1972 <xslo:value-of select="substring(' ', 1, 1)"/>
1974 <xslo:value-of select="."/>
1977 <xslo:value-of select="normalize-space($raw_heading)"/>
1980 <xslo:template mode="index_data_field" match="marc:datafield[@tag='502']">
1981 <z:index name="Material-type:w Dissertation-information:p Dissertation-information:w">
1982 <xslo:variable name="raw_heading">
1983 <xslo:for-each select="marc:subfield">
1984 <xslo:if test="position() > 1">
1985 <xslo:value-of select="substring(' ', 1, 1)"/>
1987 <xslo:value-of select="."/>
1990 <xslo:value-of select="normalize-space($raw_heading)"/>
1993 <xslo:template mode="index_data_field" match="marc:datafield[@tag='505']">
1994 <z:index name="Note:w Note:p">
1995 <xslo:variable name="raw_heading">
1996 <xslo:for-each select="marc:subfield">
1997 <xslo:if test="position() > 1">
1998 <xslo:value-of select="substring(' ', 1, 1)"/>
2000 <xslo:value-of select="."/>
2003 <xslo:value-of select="normalize-space($raw_heading)"/>
2006 <xslo:template mode="index_data_field" match="marc:datafield[@tag='510']">
2007 <z:index name="Indexed-by:w">
2008 <xslo:variable name="raw_heading">
2009 <xslo:for-each select="marc:subfield">
2010 <xslo:if test="position() > 1">
2011 <xslo:value-of select="substring(' ', 1, 1)"/>
2013 <xslo:value-of select="."/>
2016 <xslo:value-of select="normalize-space($raw_heading)"/>
2019 <xslo:template mode="index_data_field" match="marc:datafield[@tag='520']">
2020 <z:index name="Abstract:w Abstract:p">
2021 <xslo:variable name="raw_heading">
2022 <xslo:for-each select="marc:subfield">
2023 <xslo:if test="position() > 1">
2024 <xslo:value-of select="substring(' ', 1, 1)"/>
2026 <xslo:value-of select="."/>
2029 <xslo:value-of select="normalize-space($raw_heading)"/>
2032 <xslo:template mode="index_data_field" match="marc:datafield[@tag='590']">
2033 <z:index name="Note:w Note:p">
2034 <xslo:variable name="raw_heading">
2035 <xslo:for-each select="marc:subfield">
2036 <xslo:if test="position() > 1">
2037 <xslo:value-of select="substring(' ', 1, 1)"/>
2039 <xslo:value-of select="."/>
2042 <xslo:value-of select="normalize-space($raw_heading)"/>
2045 <xslo:template mode="index_data_field" match="marc:datafield[@tag='600']">
2046 <z:index name="Name:w Personal-name:w Subject-name-personal:w Subject:w Subject:p">
2047 <xslo:variable name="raw_heading">
2048 <xslo:for-each select="marc:subfield">
2049 <xslo:if test="position() > 1">
2050 <xslo:value-of select="substring(' ', 1, 1)"/>
2052 <xslo:value-of select="."/>
2055 <xslo:value-of select="normalize-space($raw_heading)"/>
2058 <xslo:template mode="index_data_field" match="marc:datafield[@tag='610']">
2059 <z:index name="Name:w Subject:w Subject:p Corporate-name:w">
2060 <xslo:variable name="raw_heading">
2061 <xslo:for-each select="marc:subfield">
2062 <xslo:if test="position() > 1">
2063 <xslo:value-of select="substring(' ', 1, 1)"/>
2065 <xslo:value-of select="."/>
2068 <xslo:value-of select="normalize-space($raw_heading)"/>
2071 <xslo:template mode="index_data_field" match="marc:datafield[@tag='611']">
2072 <z:index name="Conference-name:w Name:w Subject:w Subject:p">
2073 <xslo:variable name="raw_heading">
2074 <xslo:for-each select="marc:subfield">
2075 <xslo:if test="position() > 1">
2076 <xslo:value-of select="substring(' ', 1, 1)"/>
2078 <xslo:value-of select="."/>
2081 <xslo:value-of select="normalize-space($raw_heading)"/>
2084 <xslo:template mode="index_data_field" match="marc:datafield[@tag='630']">
2085 <z:index name="Subject:w Subject:p">
2086 <xslo:variable name="raw_heading">
2087 <xslo:for-each select="marc:subfield">
2088 <xslo:if test="position() > 1">
2089 <xslo:value-of select="substring(' ', 1, 1)"/>
2091 <xslo:value-of select="."/>
2094 <xslo:value-of select="normalize-space($raw_heading)"/>
2097 <xslo:template mode="index_data_field" match="marc:datafield[@tag='650']">
2098 <z:index name="Subject:w Subject:p">
2099 <xslo:variable name="raw_heading">
2100 <xslo:for-each select="marc:subfield">
2101 <xslo:if test="position() > 1">
2102 <xslo:value-of select="substring(' ', 1, 1)"/>
2104 <xslo:value-of select="."/>
2107 <xslo:value-of select="normalize-space($raw_heading)"/>
2110 <xslo:template mode="index_data_field" match="marc:datafield[@tag='651']">
2111 <z:index name="Name-geographic:w Subject:w Subject:p">
2112 <xslo:variable name="raw_heading">
2113 <xslo:for-each select="marc:subfield">
2114 <xslo:if test="position() > 1">
2115 <xslo:value-of select="substring(' ', 1, 1)"/>
2117 <xslo:value-of select="."/>
2120 <xslo:value-of select="normalize-space($raw_heading)"/>
2123 <xslo:template mode="index_data_field" match="marc:datafield[@tag='653']">
2124 <z:index name="Subject:w Subject:p">
2125 <xslo:variable name="raw_heading">
2126 <xslo:for-each select="marc:subfield">
2127 <xslo:if test="position() > 1">
2128 <xslo:value-of select="substring(' ', 1, 1)"/>
2130 <xslo:value-of select="."/>
2133 <xslo:value-of select="normalize-space($raw_heading)"/>
2136 <xslo:template mode="index_data_field" match="marc:datafield[@tag='654']">
2137 <z:index name="Subject:w Subject:p">
2138 <xslo:variable name="raw_heading">
2139 <xslo:for-each select="marc:subfield">
2140 <xslo:if test="position() > 1">
2141 <xslo:value-of select="substring(' ', 1, 1)"/>
2143 <xslo:value-of select="."/>
2146 <xslo:value-of select="normalize-space($raw_heading)"/>
2149 <xslo:template mode="index_data_field" match="marc:datafield[@tag='655']">
2150 <z:index name="Subject:w Subject:p">
2151 <xslo:variable name="raw_heading">
2152 <xslo:for-each select="marc:subfield">
2153 <xslo:if test="position() > 1">
2154 <xslo:value-of select="substring(' ', 1, 1)"/>
2156 <xslo:value-of select="."/>
2159 <xslo:value-of select="normalize-space($raw_heading)"/>
2162 <xslo:template mode="index_data_field" match="marc:datafield[@tag='656']">
2163 <z:index name="Subject:w Subject:p">
2164 <xslo:variable name="raw_heading">
2165 <xslo:for-each select="marc:subfield">
2166 <xslo:if test="position() > 1">
2167 <xslo:value-of select="substring(' ', 1, 1)"/>
2169 <xslo:value-of select="."/>
2172 <xslo:value-of select="normalize-space($raw_heading)"/>
2175 <xslo:template mode="index_data_field" match="marc:datafield[@tag='657']">
2176 <z:index name="Subject:w Subject:p">
2177 <xslo:variable name="raw_heading">
2178 <xslo:for-each select="marc:subfield">
2179 <xslo:if test="position() > 1">
2180 <xslo:value-of select="substring(' ', 1, 1)"/>
2182 <xslo:value-of select="."/>
2185 <xslo:value-of select="normalize-space($raw_heading)"/>
2188 <xslo:template mode="index_data_field" match="marc:datafield[@tag='658']">
2189 <z:index name="Subject:w Subject:p">
2190 <xslo:variable name="raw_heading">
2191 <xslo:for-each select="marc:subfield">
2192 <xslo:if test="position() > 1">
2193 <xslo:value-of select="substring(' ', 1, 1)"/>
2195 <xslo:value-of select="."/>
2198 <xslo:value-of select="normalize-space($raw_heading)"/>
2201 <xslo:template mode="index_data_field" match="marc:datafield[@tag='690']">
2202 <z:index name="Subject:w Subject:p">
2203 <xslo:variable name="raw_heading">
2204 <xslo:for-each select="marc:subfield">
2205 <xslo:if test="position() > 1">
2206 <xslo:value-of select="substring(' ', 1, 1)"/>
2208 <xslo:value-of select="."/>
2211 <xslo:value-of select="normalize-space($raw_heading)"/>
2214 <xslo:template mode="index_data_field" match="marc:datafield[@tag='700']">
2215 <z:index name="Author:w Author:p Author-name-personal:w Name:w Editor:w Personal-name:w">
2216 <xslo:variable name="raw_heading">
2217 <xslo:for-each select="marc:subfield">
2218 <xslo:if test="position() > 1">
2219 <xslo:value-of select="substring(' ', 1, 1)"/>
2221 <xslo:value-of select="."/>
2224 <xslo:value-of select="normalize-space($raw_heading)"/>
2227 <xslo:template mode="index_data_field" match="marc:datafield[@tag='710']">
2228 <z:index name="Author:w Author:p Corporate-name:w Name:w">
2229 <xslo:variable name="raw_heading">
2230 <xslo:for-each select="marc:subfield">
2231 <xslo:if test="position() > 1">
2232 <xslo:value-of select="substring(' ', 1, 1)"/>
2234 <xslo:value-of select="."/>
2237 <xslo:value-of select="normalize-space($raw_heading)"/>
2240 <xslo:template mode="index_data_field" match="marc:datafield[@tag='711']">
2241 <z:index name="Author:w Author:p Author-name-corporate:w Name:w Conference-name:w">
2242 <xslo:variable name="raw_heading">
2243 <xslo:for-each select="marc:subfield">
2244 <xslo:if test="position() > 1">
2245 <xslo:value-of select="substring(' ', 1, 1)"/>
2247 <xslo:value-of select="."/>
2250 <xslo:value-of select="normalize-space($raw_heading)"/>
2253 <xslo:template mode="index_data_field" match="marc:datafield[@tag='730']">
2254 <z:index name="Title:w Title:p Title-uniform:w">
2255 <xslo:variable name="raw_heading">
2256 <xslo:for-each select="marc:subfield">
2257 <xslo:if test="position() > 1">
2258 <xslo:value-of select="substring(' ', 1, 1)"/>
2260 <xslo:value-of select="."/>
2263 <xslo:value-of select="normalize-space($raw_heading)"/>
2266 <xslo:template mode="index_data_field" match="marc:datafield[@tag='740']">
2267 <z:index name="Title:w Title:p Title-other-variant:w">
2268 <xslo:variable name="raw_heading">
2269 <xslo:for-each select="marc:subfield">
2270 <xslo:if test="position() > 1">
2271 <xslo:value-of select="substring(' ', 1, 1)"/>
2273 <xslo:value-of select="."/>
2276 <xslo:value-of select="normalize-space($raw_heading)"/>
2279 <xslo:template mode="index_data_field" match="marc:datafield[@tag='751']">
2280 <z:index name="Name-geographic:w">
2281 <xslo:variable name="raw_heading">
2282 <xslo:for-each select="marc:subfield">
2283 <xslo:if test="position() > 1">
2284 <xslo:value-of select="substring(' ', 1, 1)"/>
2286 <xslo:value-of select="."/>
2289 <xslo:value-of select="normalize-space($raw_heading)"/>
2292 <xslo:template mode="index_data_field" match="marc:datafield[@tag='780']">
2293 <z:index name="Title:w Title:p Title-former:w Related-periodical:w">
2294 <xslo:variable name="raw_heading">
2295 <xslo:for-each select="marc:subfield">
2296 <xslo:if test="position() > 1">
2297 <xslo:value-of select="substring(' ', 1, 1)"/>
2299 <xslo:value-of select="."/>
2302 <xslo:value-of select="normalize-space($raw_heading)"/>
2305 <xslo:template mode="index_data_field" match="marc:datafield[@tag='785']">
2306 <z:index name="Title:w Title:p Title-later:w Related-periodical:w">
2307 <xslo:variable name="raw_heading">
2308 <xslo:for-each select="marc:subfield">
2309 <xslo:if test="position() > 1">
2310 <xslo:value-of select="substring(' ', 1, 1)"/>
2312 <xslo:value-of select="."/>
2315 <xslo:value-of select="normalize-space($raw_heading)"/>
2318 <xslo:template mode="index_data_field" match="marc:datafield[@tag='800']">
2319 <z:index name="Author:w Author-name-personal:w Name:w Personal-name:w">
2320 <xslo:variable name="raw_heading">
2321 <xslo:for-each select="marc:subfield">
2322 <xslo:if test="position() > 1">
2323 <xslo:value-of select="substring(' ', 1, 1)"/>
2325 <xslo:value-of select="."/>
2328 <xslo:value-of select="normalize-space($raw_heading)"/>
2331 <xslo:template mode="index_data_field" match="marc:datafield[@tag='810']">
2332 <z:index name="Author:w Corporate-name:w Author-name-corporate:w Name:w">
2333 <xslo:variable name="raw_heading">
2334 <xslo:for-each select="marc:subfield">
2335 <xslo:if test="position() > 1">
2336 <xslo:value-of select="substring(' ', 1, 1)"/>
2338 <xslo:value-of select="."/>
2341 <xslo:value-of select="normalize-space($raw_heading)"/>
2344 <xslo:template mode="index_data_field" match="marc:datafield[@tag='811']">
2345 <z:index name="Author:w Author-name-corporate:w Name:w Conference-name:w">
2346 <xslo:variable name="raw_heading">
2347 <xslo:for-each select="marc:subfield">
2348 <xslo:if test="position() > 1">
2349 <xslo:value-of select="substring(' ', 1, 1)"/>
2351 <xslo:value-of select="."/>
2354 <xslo:value-of select="normalize-space($raw_heading)"/>
2357 <xslo:template mode="index_data_field" match="marc:datafield[@tag='830']">
2358 <z:index name="Title:w Title-series:w Title-series:p">
2359 <xslo:variable name="raw_heading">
2360 <xslo:for-each select="marc:subfield">
2361 <xslo:if test="position() > 1">
2362 <xslo:value-of select="substring(' ', 1, 1)"/>
2364 <xslo:value-of select="."/>
2367 <xslo:value-of select="normalize-space($raw_heading)"/>
2370 <xslo:template mode="index_data_field" match="marc:datafield[@tag='840']">
2371 <z:index name="Title:w Title-series:w Title-series:p">
2372 <xslo:variable name="raw_heading">
2373 <xslo:for-each select="marc:subfield">
2374 <xslo:if test="position() > 1">
2375 <xslo:value-of select="substring(' ', 1, 1)"/>
2377 <xslo:value-of select="."/>
2380 <xslo:value-of select="normalize-space($raw_heading)"/>
2383 <xslo:template mode="index_facets" match="marc:datafield[@tag='100']">
2384 <xslo:if test="not(@ind1='z')">
2385 <z:index name="au:0">
2386 <xslo:value-of select="marc:subfield[@code='a']"/>
2390 <xslo:template mode="index_facets" match="marc:datafield[@tag='110']">
2391 <xslo:if test="not(@ind1='z')">
2392 <z:index name="au:0">
2393 <xslo:value-of select="marc:subfield[@code='a']"/>
2397 <xslo:template mode="index_facets" match="marc:datafield[@tag='440']">
2398 <xslo:if test="not(@ind1='z')">
2399 <z:index name="se:0">
2400 <xslo:value-of select="marc:subfield[@code='a']"/>
2404 <xslo:template mode="index_facets" match="marc:datafield[@tag='490']">
2405 <xslo:if test="not(@ind1='z')">
2406 <z:index name="se:0">
2407 <xslo:value-of select="marc:subfield[@code='a']"/>
2411 <xslo:template mode="index_facets" match="marc:datafield[@tag='630']">
2412 <xslo:if test="not(@ind1='z')">
2413 <z:index name="su-ut:0">
2414 <xslo:value-of select="marc:subfield[@code='a']"/>
2418 <xslo:template mode="index_facets" match="marc:datafield[@tag='650']">
2419 <xslo:if test="not(@ind1='z')">
2420 <z:index name="su-to:0">
2421 <xslo:value-of select="marc:subfield[@code='a']"/>
2425 <xslo:template mode="index_facets" match="marc:datafield[@tag='651']">
2426 <xslo:if test="not(@ind1='z')">
2427 <z:index name="su-geo:0">
2428 <xslo:value-of select="marc:subfield[@code='a']"/>
2432 <xslo:template mode="index_facets" match="marc:datafield[@tag='700']">
2433 <xslo:if test="not(@ind1='z')">
2434 <z:index name="au:0">
2435 <xslo:value-of select="marc:subfield[@code='a']"/>
2439 <xslo:template mode="index_facets" match="marc:datafield[@tag='942']">
2440 <xslo:if test="not(@ind1='z')">
2441 <z:index name="itype:0">
2442 <xslo:value-of select="marc:subfield[@code='c']"/>
2446 <xslo:template mode="index_facets" match="marc:datafield[@tag='952']">
2447 <xslo:if test="not(@ind1='z')">
2448 <z:index name="homebranch:0">
2449 <xslo:value-of select="marc:subfield[@code='a']"/>
2451 <z:index name="holdingbranch:0">
2452 <xslo:value-of select="marc:subfield[@code='b']"/>
2454 <z:index name="location:0">
2455 <xslo:value-of select="marc:subfield[@code='c']"/>
2457 <z:index name="itype:0">
2458 <xslo:value-of select="marc:subfield[@code='y']"/>
2462 <xslo:template mode="index_all" match="text()">
2463 <z:index name="Any:w Any:p">
2464 <xslo:value-of select="."/>
2467 <xslo:template name="chopPunctuation">
2468 <xslo:param name="chopString"/>
2469 <xslo:variable name="length" select="string-length($chopString)"/>
2471 <xslo:when test="$length=0"/>
2472 <xslo:when test="contains('-,.:=;!%/', substring($chopString,$length,1))">
2473 <xslo:call-template name="chopPunctuation">
2474 <xslo:with-param name="chopString" select="substring($chopString,1,$length - 1)"/>
2475 </xslo:call-template>
2477 <xslo:when test="not($chopString)"/>
2479 <xslo:value-of select="$chopString"/>