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_heading"/>
16 <xslo:template match="text()" mode="index_heading_conditional"/>
17 <xslo:template match="text()" mode="index_match_heading"/>
18 <xslo:template match="text()" mode="index_subject_thesaurus"/>
19 <xslo:template match="/">
20 <xslo:if test="marc:collection">
22 <xslo:apply-templates select="marc:collection/marc:record"/>
25 <xslo:if test="marc:record">
26 <xslo:apply-templates select="marc:record"/>
29 <xslo:template match="marc:record">
30 <xslo:variable name="idfield" select="normalize-space(marc:datafield[@tag='999']/marc:subfield[@code='c'])"/>
31 <z:record type="update">
32 <xslo:attribute name="z:id">
33 <xslo:value-of select="$idfield"/>
35 <xslo:apply-templates/>
36 <xslo:apply-templates mode="index_subfields"/>
37 <xslo:apply-templates mode="index_data_field"/>
38 <xslo:apply-templates mode="index_heading"/>
39 <xslo:apply-templates mode="index_heading_conditional"/>
40 <xslo:apply-templates mode="index_match_heading"/>
41 <xslo:apply-templates mode="index_subject_thesaurus"/>
42 <xslo:apply-templates mode="index_all"/>
45 <xslo:template match="marc:leader">
46 <z:index name="llength:w">
47 <xslo:value-of select="substring(., 1, 5)"/>
49 <z:index name="rtype:w">
50 <xslo:value-of select="substring(., 7, 1)"/>
52 <z:index name="Bib-level:w">
53 <xslo:value-of select="substring(., 8, 1)"/>
56 <xslo:template match="marc:controlfield[@tag='001']">
57 <z:index name="Control-number:w">
58 <xslo:value-of select="."/>
61 <xslo:template match="marc:controlfield[@tag='005']">
62 <z:index name="Date/time-last-modified:w">
63 <xslo:value-of select="."/>
66 <xslo:template match="marc:controlfield[@tag='007']">
67 <z:index name="Microform-generation:n">
68 <xslo:value-of select="substring(., 12, 1)"/>
70 <z:index name="Material-type:w">
71 <xslo:value-of select="."/>
73 <z:index name="ff7-00:w">
74 <xslo:value-of select="substring(., 1, 1)"/>
76 <z:index name="ff7-01:w">
77 <xslo:value-of select="substring(., 2, 1)"/>
79 <z:index name="ff7-02:w">
80 <xslo:value-of select="substring(., 3, 1)"/>
82 <z:index name="ff7-01-02:w">
83 <xslo:value-of select="substring(., 1, 2)"/>
86 <xslo:template match="marc:controlfield[@tag='008']">
87 <z:index name="date-entered-on-file:n">
88 <xslo:value-of select="substring(., 1, 5)"/>
90 <z:index name="date-entered-on-file:s">
91 <xslo:value-of select="substring(., 1, 5)"/>
93 <z:index name="pubdate:w">
94 <xslo:value-of select="substring(., 8, 4)"/>
96 <z:index name="pubdate:n">
97 <xslo:value-of select="substring(., 8, 4)"/>
99 <z:index name="pubdate:y">
100 <xslo:value-of select="substring(., 8, 4)"/>
102 <z:index name="pubdate:s">
103 <xslo:value-of select="substring(., 8, 4)"/>
105 <z:index name="pl:w">
106 <xslo:value-of select="substring(., 16, 3)"/>
108 <z:index name="ta:w">
109 <xslo:value-of select="substring(., 23, 1)"/>
111 <z:index name="ff8-23:w">
112 <xslo:value-of select="substring(., 24, 1)"/>
114 <z:index name="ff8-29:w">
115 <xslo:value-of select="substring(., 30, 1)"/>
117 <z:index name="lf:w">
118 <xslo:value-of select="substring(., 34, 1)"/>
120 <z:index name="bio:w">
121 <xslo:value-of select="substring(., 35, 1)"/>
123 <z:index name="ln:n">
124 <xslo:value-of select="substring(., 36, 3)"/>
126 <z:index name="ctype:w">
127 <xslo:value-of select="substring(., 25, 4)"/>
129 <z:index name="Record-source:w">
130 <xslo:value-of select="substring(., 40, 0)"/>
133 <xslo:template mode="index_subfields" match="marc:datafield[@tag='020']">
134 <xslo:for-each select="marc:subfield">
135 <xslo:if test="contains('a', @code)">
136 <z:index name="ISBN:w Identifier-standard:w">
137 <xslo:value-of select="."/>
142 <xslo:template mode="index_subfields" match="marc:datafield[@tag='022']">
143 <xslo:for-each select="marc:subfield">
144 <xslo:if test="contains('a', @code)">
145 <z:index name="ISSN:w Identifier-standard:w">
146 <xslo:value-of select="."/>
151 <xslo:template mode="index_subfields" match="marc:datafield[@tag='024']">
152 <xslo:for-each select="marc:subfield">
153 <xslo:if test="contains('a', @code)">
154 <z:index name="Identifier-other:w">
155 <xslo:value-of select="."/>
160 <xslo:template mode="index_subfields" match="marc:datafield[@tag='041']">
161 <xslo:for-each select="marc:subfield">
162 <xslo:if test="contains('a', @code)">
163 <z:index name="ln:w">
164 <xslo:value-of select="."/>
168 <xslo:for-each select="marc:subfield">
169 <xslo:if test="contains('d', @code)">
170 <z:index name="ln:w">
171 <xslo:value-of select="."/>
175 <xslo:for-each select="marc:subfield">
176 <xslo:if test="contains('e', @code)">
177 <z:index name="ln:w">
178 <xslo:value-of select="."/>
182 <xslo:for-each select="marc:subfield">
183 <xslo:if test="contains('h', @code)">
184 <z:index name="language-original:w">
185 <xslo:value-of select="."/>
189 <xslo:for-each select="marc:subfield">
190 <xslo:if test="contains('j', @code)">
191 <z:index name="ln:w">
192 <xslo:value-of select="."/>
197 <xslo:template mode="index_subfields" match="marc:datafield[@tag='050']">
198 <xslo:for-each select="marc:subfield">
199 <xslo:if test="contains('b', @code)">
200 <z:index name="LC-call-number:w LC-call-number:p LC-call-number:s">
201 <xslo:value-of select="."/>
206 <xslo:template mode="index_subfields" match="marc:datafield[@tag='100']">
207 <xslo:for-each select="marc:subfield">
208 <xslo:if test="contains('9', @code)">
209 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
210 <xslo:value-of select="."/>
214 <xslo:for-each select="marc:subfield">
215 <xslo:if test="contains('a', @code)">
216 <z:index name="Author:w Author:p Author:s Editor:w Author-personal-bibliography:w Author-personal-bibliography:p Author-personal-bibliography:s">
217 <xslo:value-of select="."/>
222 <xslo:template mode="index_subfields" match="marc:datafield[@tag='110']">
223 <xslo:for-each select="marc:subfield">
224 <xslo:if test="contains('9', @code)">
225 <z:index name="Koha-Auth-Number:w">
226 <xslo:value-of select="."/>
231 <xslo:template mode="index_subfields" match="marc:datafield[@tag='111']">
232 <xslo:for-each select="marc:subfield">
233 <xslo:if test="contains('9', @code)">
234 <z:index name="Koha-Auth-Number:w">
235 <xslo:value-of select="."/>
240 <xslo:template mode="index_subfields" match="marc:datafield[@tag='130']">
241 <xslo:for-each select="marc:subfield">
242 <xslo:if test="contains('n', @code)">
243 <z:index name="Thematic-number:w">
244 <xslo:value-of select="."/>
248 <xslo:for-each select="marc:subfield">
249 <xslo:if test="contains('r', @code)">
250 <z:index name="Music-key:w">
251 <xslo:value-of select="."/>
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='240']">
264 <xslo:for-each select="marc:subfield">
265 <xslo:if test="contains('r', @code)">
266 <z:index name="Music-key:w">
267 <xslo:value-of select="."/>
271 <xslo:for-each select="marc:subfield">
272 <xslo:if test="contains('n', @code)">
273 <z:index name="Thematic-number:w">
274 <xslo:value-of select="."/>
279 <xslo:template mode="index_subfields" match="marc:datafield[@tag='243']">
280 <xslo:for-each select="marc:subfield">
281 <xslo:if test="contains('n', @code)">
282 <z:index name="Thematic-number:w">
283 <xslo:value-of select="."/>
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="."/>
295 <xslo:template mode="index_subfields" match="marc:datafield[@tag='245']">
296 <xslo:for-each select="marc:subfield">
297 <xslo:if test="contains('a', @code)">
298 <z:index name="Title-cover:w Title-cover:p Title-cover:s Title:w Title:p Title:s">
299 <xslo:value-of select="."/>
303 <xslo:for-each select="marc:subfield">
304 <xslo:if test="contains('c', @code)">
305 <z:index name="Author:w Author-in-order:w Author-in-order:p Author-in-order:s">
306 <xslo:value-of select="."/>
310 <xslo:for-each select="marc:subfield">
311 <xslo:if test="contains('9', @code)">
312 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
313 <xslo:value-of select="."/>
318 <xslo:template mode="index_subfields" match="marc:datafield[@tag='260']">
319 <xslo:for-each select="marc:subfield">
320 <xslo:if test="contains('a', @code)">
321 <z:index name="pl:w pl:p">
322 <xslo:value-of select="."/>
326 <xslo:for-each select="marc:subfield">
327 <xslo:if test="contains('b', @code)">
328 <z:index name="Publisher:w Publisher:p">
329 <xslo:value-of select="."/>
333 <xslo:for-each select="marc:subfield">
334 <xslo:if test="contains('c', @code)">
335 <z:index name="copydate:w copydate:s">
336 <xslo:value-of select="."/>
341 <xslo:template mode="index_subfields" match="marc:datafield[@tag='400']">
342 <xslo:for-each select="marc:subfield">
343 <xslo:if test="contains('a', @code)">
344 <z:index name="Name-and-title:w">
345 <xslo:value-of select="."/>
349 <xslo:for-each select="marc:subfield">
350 <xslo:if test="contains('t', @code)">
351 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w">
352 <xslo:value-of select="."/>
356 <xslo:for-each select="marc:subfield">
357 <xslo:if test="contains('9', @code)">
358 <z:index name="Koha-Auth-Number:w">
359 <xslo:value-of select="."/>
364 <xslo:template mode="index_subfields" match="marc:datafield[@tag='410']">
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 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='411']">
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-series:w">
398 <xslo:value-of select="."/>
403 <xslo:template mode="index_subfields" match="marc:datafield[@tag='440']">
404 <xslo:for-each select="marc:subfield">
405 <xslo:if test="contains('a', @code)">
406 <z:index name="Title-series:w Title-series:p">
407 <xslo:value-of select="."/>
411 <xslo:for-each select="marc:subfield">
412 <xslo:if test="contains('9', @code)">
413 <z:index name="Koha-Auth-Number:w">
414 <xslo:value-of select="."/>
419 <xslo:template mode="index_subfields" match="marc:datafield[@tag='490']">
420 <xslo:for-each select="marc:subfield">
421 <xslo:if test="contains('a', @code)">
422 <z:index name="Title-series:w Title-series:p">
423 <xslo:value-of select="."/>
427 <xslo:for-each select="marc:subfield">
428 <xslo:if test="contains('9', @code)">
429 <z:index name="Koha-Auth-Number:w">
430 <xslo:value-of select="."/>
435 <xslo:template mode="index_subfields" match="marc:datafield[@tag='505']">
436 <xslo:for-each select="marc:subfield">
437 <xslo:if test="contains('r', @code)">
438 <z:index name="Author:w">
439 <xslo:value-of select="."/>
443 <xslo:for-each select="marc:subfield">
444 <xslo:if test="contains('t', @code)">
445 <z:index name="Title:w">
446 <xslo:value-of select="."/>
451 <xslo:template mode="index_subfields" match="marc:datafield[@tag='521']">
452 <xslo:for-each select="marc:subfield">
453 <xslo:if test="contains('a', @code)">
454 <z:index name="lex:n">
455 <xslo:value-of select="."/>
460 <xslo:template mode="index_subfields" match="marc:datafield[@tag='526']">
461 <xslo:for-each select="marc:subfield">
462 <xslo:if test="contains('c', @code)">
463 <z:index name="arl:w arl:n">
464 <xslo:value-of select="."/>
468 <xslo:for-each select="marc:subfield">
469 <xslo:if test="contains('d', @code)">
470 <z:index name="arp:w arp:n">
471 <xslo:value-of select="."/>
476 <xslo:template mode="index_subfields" match="marc:datafield[@tag='600']">
477 <xslo:for-each select="marc:subfield">
478 <xslo:if test="contains('a', @code)">
479 <z:index name="Name-and-title:w Name:w Personal-name:w Subject-name-personal:w Subject:w Subject:p">
480 <xslo:value-of select="."/>
484 <xslo:for-each select="marc:subfield">
485 <xslo:if test="contains('t', @code)">
486 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
487 <xslo:value-of select="."/>
491 <xslo:for-each select="marc:subfield">
492 <xslo:if test="contains('9', @code)">
493 <z:index name="Koha-Auth-Number:w">
494 <xslo:value-of select="."/>
499 <xslo:template mode="index_subfields" match="marc:datafield[@tag='610']">
500 <xslo:for-each select="marc:subfield">
501 <xslo:if test="contains('a', @code)">
502 <z:index name="Name-and-title: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='611']">
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='630']">
546 <xslo:for-each select="marc:subfield">
547 <xslo:if test="contains('n', @code)">
548 <z:index name="Thematic-number:w Subject:w Subject:p">
549 <xslo:value-of select="."/>
553 <xslo:for-each select="marc:subfield">
554 <xslo:if test="contains('r', @code)">
555 <z:index name="Music-key: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='650']">
569 <xslo:for-each select="marc:subfield">
570 <xslo:if test="contains('9', @code)">
571 <z:index name="Koha-Auth-Number:w">
572 <xslo:value-of select="."/>
577 <xslo:template mode="index_subfields" match="marc:datafield[@tag='651']">
578 <xslo:for-each select="marc:subfield">
579 <xslo:if test="contains('9', @code)">
580 <z:index name="Koha-Auth-Number:w">
581 <xslo:value-of select="."/>
586 <xslo:template mode="index_subfields" match="marc:datafield[@tag='652']">
587 <xslo:for-each select="marc:subfield">
588 <xslo:if test="contains('9', @code)">
589 <z:index name="Koha-Auth-Number:w">
590 <xslo:value-of select="."/>
595 <xslo:template mode="index_subfields" match="marc:datafield[@tag='653']">
596 <xslo:for-each select="marc:subfield">
597 <xslo:if test="contains('9', @code)">
598 <z:index name="Koha-Auth-Number:w">
599 <xslo:value-of select="."/>
604 <xslo:template mode="index_subfields" match="marc:datafield[@tag='654']">
605 <xslo:for-each select="marc:subfield">
606 <xslo:if test="contains('9', @code)">
607 <z:index name="Koha-Auth-Number:w">
608 <xslo:value-of select="."/>
613 <xslo:template mode="index_subfields" match="marc:datafield[@tag='655']">
614 <xslo:for-each select="marc:subfield">
615 <xslo:if test="contains('9', @code)">
616 <z:index name="Koha-Auth-Number:w">
617 <xslo:value-of select="."/>
622 <xslo:template mode="index_subfields" match="marc:datafield[@tag='656']">
623 <xslo:for-each select="marc:subfield">
624 <xslo:if test="contains('9', @code)">
625 <z:index name="Koha-Auth-Number:w">
626 <xslo:value-of select="."/>
631 <xslo:template mode="index_subfields" match="marc:datafield[@tag='657']">
632 <xslo:for-each select="marc:subfield">
633 <xslo:if test="contains('9', @code)">
634 <z:index name="Koha-Auth-Number:w">
635 <xslo:value-of select="."/>
640 <xslo:template mode="index_subfields" match="marc:datafield[@tag='658']">
641 <xslo:for-each select="marc:subfield">
642 <xslo:if test="contains('a', @code)">
643 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
644 <xslo:value-of select="."/>
648 <xslo:for-each select="marc:subfield">
649 <xslo:if test="contains('b', @code)">
650 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
651 <xslo:value-of select="."/>
655 <xslo:for-each select="marc:subfield">
656 <xslo:if test="contains('c', @code)">
657 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
658 <xslo:value-of select="."/>
663 <xslo:template mode="index_subfields" match="marc:datafield[@tag='690']">
664 <xslo:for-each select="marc:subfield">
665 <xslo:if test="contains('9', @code)">
666 <z:index name="Koha-Auth-Number:w">
667 <xslo:value-of select="."/>
672 <xslo:template mode="index_subfields" match="marc:datafield[@tag='700']">
673 <xslo:for-each select="marc:subfield">
674 <xslo:if test="contains('9', @code)">
675 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
676 <xslo:value-of select="."/>
680 <xslo:for-each select="marc:subfield">
681 <xslo:if test="contains('a', @code)">
682 <z:index name="Author:w Author:p">
683 <xslo:value-of select="."/>
687 <xslo:for-each select="marc:subfield">
688 <xslo:if test="contains('n', @code)">
689 <z:index name="Thematic-number:w">
690 <xslo:value-of select="."/>
694 <xslo:for-each select="marc:subfield">
695 <xslo:if test="contains('r', @code)">
696 <z:index name="Music-key:w">
697 <xslo:value-of select="."/>
701 <xslo:for-each select="marc:subfield">
702 <xslo:if test="contains('t', @code)">
703 <z:index name="Author-title:w Name-and-title:w Title:w Title-uniform:w">
704 <xslo:value-of select="."/>
709 <xslo:template mode="index_subfields" match="marc:datafield[@tag='710']">
710 <xslo:for-each select="marc:subfield">
711 <xslo:if test="contains('t', @code)">
712 <z:index name="Author-title:w Name-and-title:w Title:w Title-uniform:w">
713 <xslo:value-of select="."/>
717 <xslo:for-each select="marc:subfield">
718 <xslo:if test="contains('a', @code)">
719 <z:index name="Name-and-title:w">
720 <xslo:value-of select="."/>
724 <xslo:for-each select="marc:subfield">
725 <xslo:if test="contains('9', @code)">
726 <z:index name="Koha-Auth-Number:w">
727 <xslo:value-of select="."/>
732 <xslo:template mode="index_subfields" match="marc:datafield[@tag='711']">
733 <xslo:for-each select="marc:subfield">
734 <xslo:if test="contains('a', @code)">
735 <z:index name="Name-and-title:w">
736 <xslo:value-of select="."/>
740 <xslo:for-each select="marc:subfield">
741 <xslo:if test="contains('t', @code)">
742 <z:index name="Author-title:w Title:w Title-uniform:w">
743 <xslo:value-of select="."/>
747 <xslo:for-each select="marc:subfield">
748 <xslo:if test="contains('9', @code)">
749 <z:index name="Koha-Auth-Number:w">
750 <xslo:value-of select="."/>
755 <xslo:template mode="index_subfields" match="marc:datafield[@tag='730']">
756 <xslo:for-each select="marc:subfield">
757 <xslo:if test="contains('n', @code)">
758 <z:index name="Thematic-number:w">
759 <xslo:value-of select="."/>
763 <xslo:for-each select="marc:subfield">
764 <xslo:if test="contains('r', @code)">
765 <z:index name="Music-key:w">
766 <xslo:value-of select="."/>
770 <xslo:for-each select="marc:subfield">
771 <xslo:if test="contains('9', @code)">
772 <z:index name="Koha-Auth-Number:w">
773 <xslo:value-of select="."/>
778 <xslo:template mode="index_subfields" match="marc:datafield[@tag='751']">
779 <xslo:for-each select="marc:subfield">
780 <xslo:if test="contains('a', @code)">
781 <z:index name="Name-geographic:w">
782 <xslo:value-of select="."/>
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="."/>
794 <xslo:template mode="index_subfields" match="marc:datafield[@tag='770']">
795 <xslo:for-each select="marc:subfield">
796 <xslo:if test="contains('w', @code)">
797 <z:index name="Record-control-number:w">
798 <xslo:value-of select="."/>
803 <xslo:template mode="index_subfields" match="marc:datafield[@tag='772']">
804 <xslo:for-each select="marc:subfield">
805 <xslo:if test="contains('w', @code)">
806 <z:index name="Record-control-number:w">
807 <xslo:value-of select="."/>
812 <xslo:template mode="index_subfields" match="marc:datafield[@tag='773']">
813 <xslo:for-each select="marc:subfield">
814 <xslo:if test="contains('a', @code)">
815 <z:index name="Host-item:w">
816 <xslo:value-of select="."/>
820 <xslo:for-each select="marc:subfield">
821 <xslo:if test="contains('9', @code)">
822 <z:index name="Host-Item-Number:w">
823 <xslo:value-of select="."/>
827 <xslo:for-each select="marc:subfield">
828 <xslo:if test="contains('t', @code)">
829 <z:index name="Host-item:w">
830 <xslo:value-of select="."/>
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="."/>
842 <xslo:template mode="index_subfields" match="marc:datafield[@tag='774']">
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="."/>
851 <xslo:template mode="index_subfields" match="marc:datafield[@tag='775']">
852 <xslo:for-each select="marc:subfield">
853 <xslo:if test="contains('w', @code)">
854 <z:index name="Record-control-number:w">
855 <xslo:value-of select="."/>
860 <xslo:template mode="index_subfields" match="marc:datafield[@tag='776']">
861 <xslo:for-each select="marc:subfield">
862 <xslo:if test="contains('w', @code)">
863 <z:index name="Record-control-number:w">
864 <xslo:value-of select="."/>
869 <xslo:template mode="index_subfields" match="marc:datafield[@tag='777']">
870 <xslo:for-each select="marc:subfield">
871 <xslo:if test="contains('w', @code)">
872 <z:index name="Record-control-number:w">
873 <xslo:value-of select="."/>
878 <xslo:template mode="index_subfields" match="marc:datafield[@tag='780']">
879 <xslo:for-each select="marc:subfield">
880 <xslo:if test="contains('t', @code)">
881 <z:index name="Title:w">
882 <xslo:value-of select="."/>
886 <xslo:for-each select="marc:subfield">
887 <xslo:if test="contains('w', @code)">
888 <z:index name="Record-control-number:w">
889 <xslo:value-of select="."/>
894 <xslo:template mode="index_subfields" match="marc:datafield[@tag='785']">
895 <xslo:for-each select="marc:subfield">
896 <xslo:if test="contains('w', @code)">
897 <z:index name="Record-control-number:w">
898 <xslo:value-of select="."/>
903 <xslo:template mode="index_subfields" match="marc:datafield[@tag='787']">
904 <xslo:for-each select="marc:subfield">
905 <xslo:if test="contains('w', @code)">
906 <z:index name="Record-control-number:w">
907 <xslo:value-of select="."/>
912 <xslo:template mode="index_subfields" match="marc:datafield[@tag='800']">
913 <xslo:for-each select="marc:subfield">
914 <xslo:if test="contains('a', @code)">
915 <z:index name="Name-and-title:w Title-series:w Title-series:p">
916 <xslo:value-of select="."/>
920 <xslo:for-each select="marc:subfield">
921 <xslo:if test="contains('t', @code)">
922 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
923 <xslo:value-of select="."/>
927 <xslo:for-each select="marc:subfield">
928 <xslo:if test="contains('9', @code)">
929 <z:index name="Koha-Auth-Number:w">
930 <xslo:value-of select="."/>
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="."/>
942 <xslo:template mode="index_subfields" match="marc:datafield[@tag='810']">
943 <xslo:for-each select="marc:subfield">
944 <xslo:if test="contains('a', @code)">
945 <z:index name="Name-and-title:w Title-series:w Title-series:p">
946 <xslo:value-of select="."/>
950 <xslo:for-each select="marc:subfield">
951 <xslo:if test="contains('t', @code)">
952 <z:index name="Author-title:w Name-and-title:w 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('w', @code)">
959 <z:index name="Record-control-number:w">
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="."/>
972 <xslo:template mode="index_subfields" match="marc:datafield[@tag='811']">
973 <xslo:for-each select="marc:subfield">
974 <xslo:if test="contains('a', @code)">
975 <z:index name="Name-and-title:w Title-series:w Title-series:p">
976 <xslo:value-of select="."/>
980 <xslo:for-each select="marc:subfield">
981 <xslo:if test="contains('9', @code)">
982 <z:index name="Koha-Auth-Number:w">
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="."/>
1002 <xslo:template mode="index_subfields" match="marc:datafield[@tag='830']">
1003 <xslo:for-each select="marc:subfield">
1004 <xslo:if test="contains('w', @code)">
1005 <z:index name="Record-control-number:w">
1006 <xslo:value-of select="."/>
1010 <xslo:for-each select="marc:subfield">
1011 <xslo:if test="contains('9', @code)">
1012 <z:index name="Koha-Auth-Number:w">
1013 <xslo:value-of select="."/>
1018 <xslo:template mode="index_subfields" match="marc:datafield[@tag='999']">
1019 <xslo:for-each select="marc:subfield">
1020 <xslo:if test="contains('c', @code)">
1021 <z:index name="Local-Number:n Local-Number:w Local-Number:s">
1022 <xslo:value-of select="."/>
1026 <xslo:for-each select="marc:subfield">
1027 <xslo:if test="contains('d', @code)">
1028 <z:index name="biblioitemnumber:n biblioitemnumber:w biblioitemnumber:s">
1029 <xslo:value-of select="."/>
1034 <xslo:template mode="index_subfields" match="marc:datafield[@tag='942']">
1035 <xslo:for-each select="marc:subfield">
1036 <xslo:if test="contains('0', @code)">
1037 <z:index name="totalissues:n totalissues:s">
1038 <xslo:value-of select="."/>
1042 <xslo:for-each select="marc:subfield">
1043 <xslo:if test="contains('2', @code)">
1044 <z:index name="cn-bib-source:w">
1045 <xslo:value-of select="."/>
1049 <xslo:for-each select="marc:subfield">
1050 <xslo:if test="contains('6', @code)">
1051 <z:index name="cn-bib-sort:n cn-bib-sort:s">
1052 <xslo:value-of select="."/>
1056 <xslo:for-each select="marc:subfield">
1057 <xslo:if test="contains('c', @code)">
1058 <z:index name="itemtype:w itemtype:p itype:w itype:p">
1059 <xslo:value-of select="."/>
1063 <xslo:for-each select="marc:subfield">
1064 <xslo:if test="contains('n', @code)">
1065 <z:index name="Suppress:w Suppress:n">
1066 <xslo:value-of select="."/>
1070 <xslo:for-each select="marc:subfield">
1071 <xslo:if test="contains('h', @code)">
1072 <z:index name="cn-class:w">
1073 <xslo:value-of select="."/>
1077 <xslo:for-each select="marc:subfield">
1078 <xslo:if test="contains('i', @code)">
1079 <z:index name="cn-item:w">
1080 <xslo:value-of select="."/>
1084 <xslo:for-each select="marc:subfield">
1085 <xslo:if test="contains('k', @code)">
1086 <z:index name="cn-prefix:w">
1087 <xslo:value-of select="."/>
1091 <xslo:for-each select="marc:subfield">
1092 <xslo:if test="contains('m', @code)">
1093 <z:index name="cn-suffix:w">
1094 <xslo:value-of select="."/>
1099 <xslo:template mode="index_subfields" match="marc:datafield[@tag='952']">
1100 <xslo:for-each select="marc:subfield">
1101 <xslo:if test="contains('0', @code)">
1102 <z:index name="withdrawn:n withdrawn:w">
1103 <xslo:value-of select="."/>
1107 <xslo:for-each select="marc:subfield">
1108 <xslo:if test="contains('1', @code)">
1109 <z:index name="lost:w lost:n">
1110 <xslo:value-of select="."/>
1114 <xslo:for-each select="marc:subfield">
1115 <xslo:if test="contains('2', @code)">
1116 <z:index name="classification-source:w">
1117 <xslo:value-of select="."/>
1121 <xslo:for-each select="marc:subfield">
1122 <xslo:if test="contains('3', @code)">
1123 <z:index name="materials-specified:w">
1124 <xslo:value-of select="."/>
1128 <xslo:for-each select="marc:subfield">
1129 <xslo:if test="contains('4', @code)">
1130 <z:index name="damaged:n damaged:w">
1131 <xslo:value-of select="."/>
1135 <xslo:for-each select="marc:subfield">
1136 <xslo:if test="contains('5', @code)">
1137 <z:index name="restricted:n restricted:w">
1138 <xslo:value-of select="."/>
1142 <xslo:for-each select="marc:subfield">
1143 <xslo:if test="contains('6', @code)">
1144 <z:index name="cn-sort:n cn-sort:s">
1145 <xslo:value-of select="."/>
1149 <xslo:for-each select="marc:subfield">
1150 <xslo:if test="contains('7', @code)">
1151 <z:index name="notforloan:n notforloan:w">
1152 <xslo:value-of select="."/>
1156 <xslo:for-each select="marc:subfield">
1157 <xslo:if test="contains('8', @code)">
1158 <z:index name="ccode:w ccode:p">
1159 <xslo:value-of select="."/>
1163 <xslo:for-each select="marc:subfield">
1164 <xslo:if test="contains('9', @code)">
1165 <z:index name="itemnumber:n itemnumber:s">
1166 <xslo:value-of select="."/>
1170 <xslo:for-each select="marc:subfield">
1171 <xslo:if test="contains('a', @code)">
1172 <z:index name="homebranch:w">
1173 <xslo:value-of select="."/>
1177 <xslo:for-each select="marc:subfield">
1178 <xslo:if test="contains('b', @code)">
1179 <z:index name="holdingbranch:w">
1180 <xslo:value-of select="."/>
1184 <xslo:for-each select="marc:subfield">
1185 <xslo:if test="contains('c', @code)">
1186 <z:index name="location:w">
1187 <xslo:value-of select="."/>
1191 <xslo:for-each select="marc:subfield">
1192 <xslo:if test="contains('d', @code)">
1193 <z:index name="Date-of-acquisition:w Date-of-acquisition:d Date-of-acquisition:s">
1194 <xslo:value-of select="."/>
1198 <xslo:for-each select="marc:subfield">
1199 <xslo:if test="contains('e', @code)">
1200 <z:index name="acqsource:w">
1201 <xslo:value-of select="."/>
1205 <xslo:for-each select="marc:subfield">
1206 <xslo:if test="contains('f', @code)">
1207 <z:index name="coded-location-qualifier:w">
1208 <xslo:value-of select="."/>
1212 <xslo:for-each select="marc:subfield">
1213 <xslo:if test="contains('g', @code)">
1214 <z:index name="price:w">
1215 <xslo:value-of select="."/>
1219 <xslo:for-each select="marc:subfield">
1220 <xslo:if test="contains('i', @code)">
1221 <z:index name="Number-local-acquisition:w">
1222 <xslo:value-of select="."/>
1226 <xslo:for-each select="marc:subfield">
1227 <xslo:if test="contains('j', @code)">
1228 <z:index name="stack:n stack:w">
1229 <xslo:value-of select="."/>
1233 <xslo:for-each select="marc:subfield">
1234 <xslo:if test="contains('l', @code)">
1235 <z:index name="issues:n issues:w issues:s">
1236 <xslo:value-of select="."/>
1240 <xslo:for-each select="marc:subfield">
1241 <xslo:if test="contains('m', @code)">
1242 <z:index name="renewals:n renewals:w">
1243 <xslo:value-of select="."/>
1247 <xslo:for-each select="marc:subfield">
1248 <xslo:if test="contains('n', @code)">
1249 <z:index name="reserves:n reserves:w">
1250 <xslo:value-of select="."/>
1254 <xslo:for-each select="marc:subfield">
1255 <xslo:if test="contains('o', @code)">
1256 <z:index name="Local-classification:w Local-classification:p Local-classification:s">
1257 <xslo:value-of select="."/>
1261 <xslo:for-each select="marc:subfield">
1262 <xslo:if test="contains('p', @code)">
1263 <z:index name="barcode:w barcode:n">
1264 <xslo:value-of select="."/>
1268 <xslo:for-each select="marc:subfield">
1269 <xslo:if test="contains('q', @code)">
1270 <z:index name="onloan:n onloan:w">
1271 <xslo:value-of select="."/>
1275 <xslo:for-each select="marc:subfield">
1276 <xslo:if test="contains('r', @code)">
1277 <z:index name="datelastseen:w">
1278 <xslo:value-of select="."/>
1282 <xslo:for-each select="marc:subfield">
1283 <xslo:if test="contains('s', @code)">
1284 <z:index name="datelastborrowed:w">
1285 <xslo:value-of select="."/>
1289 <xslo:for-each select="marc:subfield">
1290 <xslo:if test="contains('t', @code)">
1291 <z:index name="copynumber:w">
1292 <xslo:value-of select="."/>
1296 <xslo:for-each select="marc:subfield">
1297 <xslo:if test="contains('u', @code)">
1298 <z:index name="uri:u">
1299 <xslo:value-of select="."/>
1303 <xslo:for-each select="marc:subfield">
1304 <xslo:if test="contains('v', @code)">
1305 <z:index name="replacementprice:w">
1306 <xslo:value-of select="."/>
1310 <xslo:for-each select="marc:subfield">
1311 <xslo:if test="contains('w', @code)">
1312 <z:index name="replacementpricedate:w">
1313 <xslo:value-of select="."/>
1317 <xslo:for-each select="marc:subfield">
1318 <xslo:if test="contains('y', @code)">
1319 <z:index name="itype:w itype:p">
1320 <xslo:value-of select="."/>
1324 <xslo:for-each select="marc:subfield">
1325 <xslo:if test="contains('z', @code)">
1326 <z:index name="Note:w Note:p">
1327 <xslo:value-of select="."/>
1332 <xslo:template mode="index_data_field" match="marc:datafield[@tag='010']">
1333 <z:index name="LC-card-number:w Identifier-standard:w">
1334 <xslo:variable name="raw_heading">
1335 <xslo:for-each select="marc:subfield">
1336 <xslo:if test="position() > 1">
1337 <xslo:value-of select="substring(' ', 1, 1)"/>
1339 <xslo:value-of select="."/>
1342 <xslo:value-of select="normalize-space($raw_heading)"/>
1345 <xslo:template mode="index_data_field" match="marc:datafield[@tag='011']">
1346 <z:index name="LC-card-number:w Identifier-standard:w">
1347 <xslo:variable name="raw_heading">
1348 <xslo:for-each select="marc:subfield">
1349 <xslo:if test="position() > 1">
1350 <xslo:value-of select="substring(' ', 1, 1)"/>
1352 <xslo:value-of select="."/>
1355 <xslo:value-of select="normalize-space($raw_heading)"/>
1358 <xslo:template mode="index_data_field" match="marc:datafield[@tag='015']">
1359 <z:index name="BNB-card-number:w BGF-number:w Number-db:w Number-natl-biblio:w Identifier-standard:w">
1360 <xslo:variable name="raw_heading">
1361 <xslo:for-each select="marc:subfield">
1362 <xslo:if test="position() > 1">
1363 <xslo:value-of select="substring(' ', 1, 1)"/>
1365 <xslo:value-of select="."/>
1368 <xslo:value-of select="normalize-space($raw_heading)"/>
1371 <xslo:template mode="index_data_field" match="marc:datafield[@tag='017']">
1372 <z:index name="Number-legal-deposit:w Identifier-standard:w">
1373 <xslo:variable name="raw_heading">
1374 <xslo:for-each select="marc:subfield">
1375 <xslo:if test="position() > 1">
1376 <xslo:value-of select="substring(' ', 1, 1)"/>
1378 <xslo:value-of select="."/>
1381 <xslo:value-of select="normalize-space($raw_heading)"/>
1384 <xslo:template mode="index_data_field" match="marc:datafield[@tag='018']">
1385 <z:index name="Identifier-standard:w">
1386 <xslo:variable name="raw_heading">
1387 <xslo:for-each select="marc:subfield">
1388 <xslo:if test="position() > 1">
1389 <xslo:value-of select="substring(' ', 1, 1)"/>
1391 <xslo:value-of select="."/>
1394 <xslo:value-of select="normalize-space($raw_heading)"/>
1397 <xslo:template mode="index_data_field" match="marc:datafield[@tag='020']">
1398 <z:index name="Identifier-standard:w">
1399 <xslo:variable name="raw_heading">
1400 <xslo:for-each select="marc:subfield">
1401 <xslo:if test="position() > 1">
1402 <xslo:value-of select="substring(' ', 1, 1)"/>
1404 <xslo:value-of select="."/>
1407 <xslo:value-of select="normalize-space($raw_heading)"/>
1410 <xslo:template mode="index_data_field" match="marc:datafield[@tag='022']">
1411 <z:index name="Identifier-standard:w">
1412 <xslo:variable name="raw_heading">
1413 <xslo:for-each select="marc:subfield">
1414 <xslo:if test="position() > 1">
1415 <xslo:value-of select="substring(' ', 1, 1)"/>
1417 <xslo:value-of select="."/>
1420 <xslo:value-of select="normalize-space($raw_heading)"/>
1423 <xslo:template mode="index_data_field" match="marc:datafield[@tag='023']">
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() > 1">
1428 <xslo:value-of select="substring(' ', 1, 1)"/>
1430 <xslo:value-of select="."/>
1433 <xslo:value-of select="normalize-space($raw_heading)"/>
1436 <xslo:template mode="index_data_field" match="marc:datafield[@tag='024']">
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() > 1">
1441 <xslo:value-of select="substring(' ', 1, 1)"/>
1443 <xslo:value-of select="."/>
1446 <xslo:value-of select="normalize-space($raw_heading)"/>
1449 <xslo:template mode="index_data_field" match="marc:datafield[@tag='025']">
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() > 1">
1454 <xslo:value-of select="substring(' ', 1, 1)"/>
1456 <xslo:value-of select="."/>
1459 <xslo:value-of select="normalize-space($raw_heading)"/>
1462 <xslo:template mode="index_data_field" match="marc:datafield[@tag='027']">
1463 <z:index name="Report-number:w Identifier-standard:w">
1464 <xslo:variable name="raw_heading">
1465 <xslo:for-each select="marc:subfield">
1466 <xslo:if test="position() > 1">
1467 <xslo:value-of select="substring(' ', 1, 1)"/>
1469 <xslo:value-of select="."/>
1472 <xslo:value-of select="normalize-space($raw_heading)"/>
1475 <xslo:template mode="index_data_field" match="marc:datafield[@tag='028']">
1476 <z:index name="Identifier-publisher-for-music:w Identifier-standard:w">
1477 <xslo:variable name="raw_heading">
1478 <xslo:for-each select="marc:subfield">
1479 <xslo:if test="position() > 1">
1480 <xslo:value-of select="substring(' ', 1, 1)"/>
1482 <xslo:value-of select="."/>
1485 <xslo:value-of select="normalize-space($raw_heading)"/>
1488 <xslo:template mode="index_data_field" match="marc:datafield[@tag='030']">
1489 <z:index name="CODEN:w Identifier-standard:w">
1490 <xslo:variable name="raw_heading">
1491 <xslo:for-each select="marc:subfield">
1492 <xslo:if test="position() > 1">
1493 <xslo:value-of select="substring(' ', 1, 1)"/>
1495 <xslo:value-of select="."/>
1498 <xslo:value-of select="normalize-space($raw_heading)"/>
1501 <xslo:template mode="index_data_field" match="marc:datafield[@tag='034']">
1502 <z:index name="Map-scale:w">
1503 <xslo:variable name="raw_heading">
1504 <xslo:for-each select="marc:subfield">
1505 <xslo:if test="position() > 1">
1506 <xslo:value-of select="substring(' ', 1, 1)"/>
1508 <xslo:value-of select="."/>
1511 <xslo:value-of select="normalize-space($raw_heading)"/>
1514 <xslo:template mode="index_data_field" match="marc:datafield[@tag='037']">
1515 <z:index name="Identifier-standard:w Stock-number:w">
1516 <xslo:variable name="raw_heading">
1517 <xslo:for-each select="marc:subfield">
1518 <xslo:if test="position() > 1">
1519 <xslo:value-of select="substring(' ', 1, 1)"/>
1521 <xslo:value-of select="."/>
1524 <xslo:value-of select="normalize-space($raw_heading)"/>
1527 <xslo:template mode="index_data_field" match="marc:datafield[@tag='040']">
1528 <z:index name="Code-institution:w Record-source:w">
1529 <xslo:variable name="raw_heading">
1530 <xslo:for-each select="marc:subfield">
1531 <xslo:if test="position() > 1">
1532 <xslo:value-of select="substring(' ', 1, 1)"/>
1534 <xslo:value-of select="."/>
1537 <xslo:value-of select="normalize-space($raw_heading)"/>
1540 <xslo:template mode="index_data_field" match="marc:datafield[@tag='043']">
1541 <z:index name="Code-geographic:w">
1542 <xslo:variable name="raw_heading">
1543 <xslo:for-each select="marc:subfield">
1544 <xslo:if test="position() > 1">
1545 <xslo:value-of select="substring(' ', 1, 1)"/>
1547 <xslo:value-of select="."/>
1550 <xslo:value-of select="normalize-space($raw_heading)"/>
1553 <xslo:template mode="index_data_field" match="marc:datafield[@tag='050']">
1554 <z:index name="LC-call-number:w LC-call-number:p LC-call-number:s">
1555 <xslo:variable name="raw_heading">
1556 <xslo:for-each select="marc:subfield">
1557 <xslo:if test="position() > 1">
1558 <xslo:value-of select="substring(' ', 1, 1)"/>
1560 <xslo:value-of select="."/>
1563 <xslo:value-of select="normalize-space($raw_heading)"/>
1566 <xslo:template mode="index_data_field" match="marc:datafield[@tag='052']">
1567 <z:index name="Geographic-class:w">
1568 <xslo:variable name="raw_heading">
1569 <xslo:for-each select="marc:subfield">
1570 <xslo:if test="position() > 1">
1571 <xslo:value-of select="substring(' ', 1, 1)"/>
1573 <xslo:value-of select="."/>
1576 <xslo:value-of select="normalize-space($raw_heading)"/>
1579 <xslo:template mode="index_data_field" match="marc:datafield[@tag='060']">
1580 <z:index name="NLM-call-number:w">
1581 <xslo:variable name="raw_heading">
1582 <xslo:for-each select="marc:subfield">
1583 <xslo:if test="position() > 1">
1584 <xslo:value-of select="substring(' ', 1, 1)"/>
1586 <xslo:value-of select="."/>
1589 <xslo:value-of select="normalize-space($raw_heading)"/>
1592 <xslo:template mode="index_data_field" match="marc:datafield[@tag='070']">
1593 <z:index name="NAL-call-number:w">
1594 <xslo:variable name="raw_heading">
1595 <xslo:for-each select="marc:subfield">
1596 <xslo:if test="position() > 1">
1597 <xslo:value-of select="substring(' ', 1, 1)"/>
1599 <xslo:value-of select="."/>
1602 <xslo:value-of select="normalize-space($raw_heading)"/>
1605 <xslo:template mode="index_data_field" match="marc:datafield[@tag='080']">
1606 <z:index name="UDC-classification:w">
1607 <xslo:variable name="raw_heading">
1608 <xslo:for-each select="marc:subfield">
1609 <xslo:if test="position() > 1">
1610 <xslo:value-of select="substring(' ', 1, 1)"/>
1612 <xslo:value-of select="."/>
1615 <xslo:value-of select="normalize-space($raw_heading)"/>
1618 <xslo:template mode="index_data_field" match="marc:datafield[@tag='082']">
1619 <z:index name="Dewey-classification:w Dewey-classification:s">
1620 <xslo:variable name="raw_heading">
1621 <xslo:for-each select="marc:subfield">
1622 <xslo:if test="position() > 1">
1623 <xslo:value-of select="substring(' ', 1, 1)"/>
1625 <xslo:value-of select="."/>
1628 <xslo:value-of select="normalize-space($raw_heading)"/>
1631 <xslo:template mode="index_data_field" match="marc:datafield[@tag='086']">
1632 <z:index name="Number-govt-pub:w">
1633 <xslo:variable name="raw_heading">
1634 <xslo:for-each select="marc:subfield">
1635 <xslo:if test="position() > 1">
1636 <xslo:value-of select="substring(' ', 1, 1)"/>
1638 <xslo:value-of select="."/>
1641 <xslo:value-of select="normalize-space($raw_heading)"/>
1644 <xslo:template mode="index_data_field" match="marc:datafield[@tag='100']">
1645 <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">
1646 <xslo:variable name="raw_heading">
1647 <xslo:for-each select="marc:subfield">
1648 <xslo:if test="position() > 1">
1649 <xslo:value-of select="substring(' ', 1, 1)"/>
1651 <xslo:value-of select="."/>
1654 <xslo:value-of select="normalize-space($raw_heading)"/>
1657 <xslo:template mode="index_data_field" match="marc:datafield[@tag='110']">
1658 <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">
1659 <xslo:variable name="raw_heading">
1660 <xslo:for-each select="marc:subfield">
1661 <xslo:if test="position() > 1">
1662 <xslo:value-of select="substring(' ', 1, 1)"/>
1664 <xslo:value-of select="."/>
1667 <xslo:value-of select="normalize-space($raw_heading)"/>
1670 <xslo:template mode="index_data_field" match="marc:datafield[@tag='111']">
1671 <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">
1672 <xslo:variable name="raw_heading">
1673 <xslo:for-each select="marc:subfield">
1674 <xslo:if test="position() > 1">
1675 <xslo:value-of select="substring(' ', 1, 1)"/>
1677 <xslo:value-of select="."/>
1680 <xslo:value-of select="normalize-space($raw_heading)"/>
1683 <xslo:template mode="index_data_field" match="marc:datafield[@tag='130']">
1684 <z:index name="Title:w Title:p Title-uniform:w">
1685 <xslo:variable name="raw_heading">
1686 <xslo:for-each select="marc:subfield">
1687 <xslo:if test="position() > 1">
1688 <xslo:value-of select="substring(' ', 1, 1)"/>
1690 <xslo:value-of select="."/>
1693 <xslo:value-of select="normalize-space($raw_heading)"/>
1696 <xslo:template mode="index_data_field" match="marc:datafield[@tag='210']">
1697 <z:index name="Title:w Title:p Title-abbreviated:w">
1698 <xslo:variable name="raw_heading">
1699 <xslo:for-each select="marc:subfield">
1700 <xslo:if test="position() > 1">
1701 <xslo:value-of select="substring(' ', 1, 1)"/>
1703 <xslo:value-of select="."/>
1706 <xslo:value-of select="normalize-space($raw_heading)"/>
1709 <xslo:template mode="index_data_field" match="marc:datafield[@tag='211']">
1710 <z:index name="Title:w Title:p Title-abbreviated:w">
1711 <xslo:variable name="raw_heading">
1712 <xslo:for-each select="marc:subfield">
1713 <xslo:if test="position() > 1">
1714 <xslo:value-of select="substring(' ', 1, 1)"/>
1716 <xslo:value-of select="."/>
1719 <xslo:value-of select="normalize-space($raw_heading)"/>
1722 <xslo:template mode="index_data_field" match="marc:datafield[@tag='212']">
1723 <z:index name="Title:w Title:p Title-other-variant:w">
1724 <xslo:variable name="raw_heading">
1725 <xslo:for-each select="marc:subfield">
1726 <xslo:if test="position() > 1">
1727 <xslo:value-of select="substring(' ', 1, 1)"/>
1729 <xslo:value-of select="."/>
1732 <xslo:value-of select="normalize-space($raw_heading)"/>
1735 <xslo:template mode="index_data_field" match="marc:datafield[@tag='214']">
1736 <z:index name="Title:w Title:p Title-expanded:w">
1737 <xslo:variable name="raw_heading">
1738 <xslo:for-each select="marc:subfield">
1739 <xslo:if test="position() > 1">
1740 <xslo:value-of select="substring(' ', 1, 1)"/>
1742 <xslo:value-of select="."/>
1745 <xslo:value-of select="normalize-space($raw_heading)"/>
1748 <xslo:template mode="index_data_field" match="marc:datafield[@tag='222']">
1749 <z:index name="Title:w Title:p Title-key:w">
1750 <xslo:variable name="raw_heading">
1751 <xslo:for-each select="marc:subfield">
1752 <xslo:if test="position() > 1">
1753 <xslo:value-of select="substring(' ', 1, 1)"/>
1755 <xslo:value-of select="."/>
1758 <xslo:value-of select="normalize-space($raw_heading)"/>
1761 <xslo:template mode="index_data_field" match="marc:datafield[@tag='240']">
1762 <z:index name="Title:w Title:p Title-uniform:w">
1763 <xslo:variable name="raw_heading">
1764 <xslo:for-each select="marc:subfield">
1765 <xslo:if test="position() > 1">
1766 <xslo:value-of select="substring(' ', 1, 1)"/>
1768 <xslo:value-of select="."/>
1771 <xslo:value-of select="normalize-space($raw_heading)"/>
1774 <xslo:template mode="index_data_field" match="marc:datafield[@tag='243']">
1775 <z:index name="Title:w Title:p Title-collective:w">
1776 <xslo:variable name="raw_heading">
1777 <xslo:for-each select="marc:subfield">
1778 <xslo:if test="position() > 1">
1779 <xslo:value-of select="substring(' ', 1, 1)"/>
1781 <xslo:value-of select="."/>
1784 <xslo:value-of select="normalize-space($raw_heading)"/>
1787 <xslo:template mode="index_data_field" match="marc:datafield[@tag='245']">
1788 <z:index name="Title:w Title:p">
1789 <xslo:variable name="raw_heading">
1790 <xslo:for-each select="marc:subfield">
1791 <xslo:if test="position() > 1">
1792 <xslo:value-of select="substring(' ', 1, 1)"/>
1794 <xslo:value-of select="."/>
1797 <xslo:value-of select="normalize-space($raw_heading)"/>
1800 <xslo:template mode="index_data_field" match="marc:datafield[@tag='246']">
1801 <z:index name="Title:w Title:p Title-abbreviated:w Title-expanded:w Title-former:w">
1802 <xslo:variable name="raw_heading">
1803 <xslo:for-each select="marc:subfield">
1804 <xslo:if test="position() > 1">
1805 <xslo:value-of select="substring(' ', 1, 1)"/>
1807 <xslo:value-of select="."/>
1810 <xslo:value-of select="normalize-space($raw_heading)"/>
1813 <xslo:template mode="index_data_field" match="marc:datafield[@tag='247']">
1814 <z:index name="Title:w Title:p Title-former:w Title-other-variant:w Related-periodical:w">
1815 <xslo:variable name="raw_heading">
1816 <xslo:for-each select="marc:subfield">
1817 <xslo:if test="position() > 1">
1818 <xslo:value-of select="substring(' ', 1, 1)"/>
1820 <xslo:value-of select="."/>
1823 <xslo:value-of select="normalize-space($raw_heading)"/>
1826 <xslo:template mode="index_data_field" match="marc:datafield[@tag='260']">
1827 <z:index name="pl:w">
1828 <xslo:variable name="raw_heading">
1829 <xslo:for-each select="marc:subfield">
1830 <xslo:if test="position() > 1">
1831 <xslo:value-of select="substring(' ', 1, 1)"/>
1833 <xslo:value-of select="."/>
1836 <xslo:value-of select="normalize-space($raw_heading)"/>
1839 <xslo:template mode="index_data_field" match="marc:datafield[@tag='300']">
1840 <z:index name="Extent:w Extent:p">
1841 <xslo:variable name="raw_heading">
1842 <xslo:for-each select="marc:subfield">
1843 <xslo:if test="position() > 1">
1844 <xslo:value-of select="substring(' ', 1, 1)"/>
1846 <xslo:value-of select="."/>
1849 <xslo:value-of select="normalize-space($raw_heading)"/>
1852 <xslo:template mode="index_data_field" match="marc:datafield[@tag='400']">
1853 <z:index name="Author:w Author-name-personal:w Name:w Personal-name:w">
1854 <xslo:variable name="raw_heading">
1855 <xslo:for-each select="marc:subfield">
1856 <xslo:if test="position() > 1">
1857 <xslo:value-of select="substring(' ', 1, 1)"/>
1859 <xslo:value-of select="."/>
1862 <xslo:value-of select="normalize-space($raw_heading)"/>
1865 <xslo:template mode="index_data_field" match="marc:datafield[@tag='410']">
1866 <z:index name="Author:w Corporate-name:w">
1867 <xslo:variable name="raw_heading">
1868 <xslo:for-each select="marc:subfield">
1869 <xslo:if test="position() > 1">
1870 <xslo:value-of select="substring(' ', 1, 1)"/>
1872 <xslo:value-of select="."/>
1875 <xslo:value-of select="normalize-space($raw_heading)"/>
1878 <xslo:template mode="index_data_field" match="marc:datafield[@tag='411']">
1879 <z:index name="Author:w Conference-name:w">
1880 <xslo:variable name="raw_heading">
1881 <xslo:for-each select="marc:subfield">
1882 <xslo:if test="position() > 1">
1883 <xslo:value-of select="substring(' ', 1, 1)"/>
1885 <xslo:value-of select="."/>
1888 <xslo:value-of select="normalize-space($raw_heading)"/>
1891 <xslo:template mode="index_data_field" match="marc:datafield[@tag='440']">
1892 <z:index name="Title-series:w Title-series:p Title:w Title-series:w">
1893 <xslo:variable name="raw_heading">
1894 <xslo:for-each select="marc:subfield">
1895 <xslo:if test="position() > 1">
1896 <xslo:value-of select="substring(' ', 1, 1)"/>
1898 <xslo:value-of select="."/>
1901 <xslo:value-of select="normalize-space($raw_heading)"/>
1904 <xslo:template mode="index_data_field" match="marc:datafield[@tag='490']">
1905 <z:index name="Title:w Title-series:w">
1906 <xslo:variable name="raw_heading">
1907 <xslo:for-each select="marc:subfield">
1908 <xslo:if test="position() > 1">
1909 <xslo:value-of select="substring(' ', 1, 1)"/>
1911 <xslo:value-of select="."/>
1914 <xslo:value-of select="normalize-space($raw_heading)"/>
1917 <xslo:template mode="index_data_field" match="marc:datafield[@tag='500']">
1918 <z:index name="Note:w Note:p">
1919 <xslo:variable name="raw_heading">
1920 <xslo:for-each select="marc:subfield">
1921 <xslo:if test="position() > 1">
1922 <xslo:value-of select="substring(' ', 1, 1)"/>
1924 <xslo:value-of select="."/>
1927 <xslo:value-of select="normalize-space($raw_heading)"/>
1930 <xslo:template mode="index_data_field" match="marc:datafield[@tag='502']">
1931 <z:index name="Material-type:w">
1932 <xslo:variable name="raw_heading">
1933 <xslo:for-each select="marc:subfield">
1934 <xslo:if test="position() > 1">
1935 <xslo:value-of select="substring(' ', 1, 1)"/>
1937 <xslo:value-of select="."/>
1940 <xslo:value-of select="normalize-space($raw_heading)"/>
1943 <xslo:template mode="index_data_field" match="marc:datafield[@tag='505']">
1944 <z:index name="Note:w Note:p">
1945 <xslo:variable name="raw_heading">
1946 <xslo:for-each select="marc:subfield">
1947 <xslo:if test="position() > 1">
1948 <xslo:value-of select="substring(' ', 1, 1)"/>
1950 <xslo:value-of select="."/>
1953 <xslo:value-of select="normalize-space($raw_heading)"/>
1956 <xslo:template mode="index_data_field" match="marc:datafield[@tag='510']">
1957 <z:index name="Indexed-by:w">
1958 <xslo:variable name="raw_heading">
1959 <xslo:for-each select="marc:subfield">
1960 <xslo:if test="position() > 1">
1961 <xslo:value-of select="substring(' ', 1, 1)"/>
1963 <xslo:value-of select="."/>
1966 <xslo:value-of select="normalize-space($raw_heading)"/>
1969 <xslo:template mode="index_data_field" match="marc:datafield[@tag='520']">
1970 <z:index name="Abstract:w Abstract:p">
1971 <xslo:variable name="raw_heading">
1972 <xslo:for-each select="marc:subfield">
1973 <xslo:if test="position() > 1">
1974 <xslo:value-of select="substring(' ', 1, 1)"/>
1976 <xslo:value-of select="."/>
1979 <xslo:value-of select="normalize-space($raw_heading)"/>
1982 <xslo:template mode="index_data_field" match="marc:datafield[@tag='590']">
1983 <z:index name="Note:w Note:p">
1984 <xslo:variable name="raw_heading">
1985 <xslo:for-each select="marc:subfield">
1986 <xslo:if test="position() > 1">
1987 <xslo:value-of select="substring(' ', 1, 1)"/>
1989 <xslo:value-of select="."/>
1992 <xslo:value-of select="normalize-space($raw_heading)"/>
1995 <xslo:template mode="index_data_field" match="marc:datafield[@tag='600']">
1996 <z:index name="Name:w Personal-name:w Subject-name-personal:w Subject:w Subject:p">
1997 <xslo:variable name="raw_heading">
1998 <xslo:for-each select="marc:subfield">
1999 <xslo:if test="position() > 1">
2000 <xslo:value-of select="substring(' ', 1, 1)"/>
2002 <xslo:value-of select="."/>
2005 <xslo:value-of select="normalize-space($raw_heading)"/>
2008 <xslo:template mode="index_data_field" match="marc:datafield[@tag='610']">
2009 <z:index name="Name:w Subject:w Subject:p Corporate-name:w">
2010 <xslo:variable name="raw_heading">
2011 <xslo:for-each select="marc:subfield">
2012 <xslo:if test="position() > 1">
2013 <xslo:value-of select="substring(' ', 1, 1)"/>
2015 <xslo:value-of select="."/>
2018 <xslo:value-of select="normalize-space($raw_heading)"/>
2021 <xslo:template mode="index_data_field" match="marc:datafield[@tag='611']">
2022 <z:index name="Conference-name:w Name:w Subject:w Subject:p">
2023 <xslo:variable name="raw_heading">
2024 <xslo:for-each select="marc:subfield">
2025 <xslo:if test="position() > 1">
2026 <xslo:value-of select="substring(' ', 1, 1)"/>
2028 <xslo:value-of select="."/>
2031 <xslo:value-of select="normalize-space($raw_heading)"/>
2034 <xslo:template mode="index_data_field" match="marc:datafield[@tag='630']">
2035 <z:index name="Subject:w Subject:p">
2036 <xslo:variable name="raw_heading">
2037 <xslo:for-each select="marc:subfield">
2038 <xslo:if test="position() > 1">
2039 <xslo:value-of select="substring(' ', 1, 1)"/>
2041 <xslo:value-of select="."/>
2044 <xslo:value-of select="normalize-space($raw_heading)"/>
2047 <xslo:template mode="index_data_field" match="marc:datafield[@tag='650']">
2048 <z:index name="Subject:w Subject:p">
2049 <xslo:variable name="raw_heading">
2050 <xslo:for-each select="marc:subfield">
2051 <xslo:if test="position() > 1">
2052 <xslo:value-of select="substring(' ', 1, 1)"/>
2054 <xslo:value-of select="."/>
2057 <xslo:value-of select="normalize-space($raw_heading)"/>
2060 <xslo:template mode="index_data_field" match="marc:datafield[@tag='651']">
2061 <z:index name="Name-geographic:w Subject:w Subject:p">
2062 <xslo:variable name="raw_heading">
2063 <xslo:for-each select="marc:subfield">
2064 <xslo:if test="position() > 1">
2065 <xslo:value-of select="substring(' ', 1, 1)"/>
2067 <xslo:value-of select="."/>
2070 <xslo:value-of select="normalize-space($raw_heading)"/>
2073 <xslo:template mode="index_data_field" match="marc:datafield[@tag='653']">
2074 <z:index name="Subject:w Subject:p">
2075 <xslo:variable name="raw_heading">
2076 <xslo:for-each select="marc:subfield">
2077 <xslo:if test="position() > 1">
2078 <xslo:value-of select="substring(' ', 1, 1)"/>
2080 <xslo:value-of select="."/>
2083 <xslo:value-of select="normalize-space($raw_heading)"/>
2086 <xslo:template mode="index_data_field" match="marc:datafield[@tag='654']">
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() > 1">
2091 <xslo:value-of select="substring(' ', 1, 1)"/>
2093 <xslo:value-of select="."/>
2096 <xslo:value-of select="normalize-space($raw_heading)"/>
2099 <xslo:template mode="index_data_field" match="marc:datafield[@tag='655']">
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() > 1">
2104 <xslo:value-of select="substring(' ', 1, 1)"/>
2106 <xslo:value-of select="."/>
2109 <xslo:value-of select="normalize-space($raw_heading)"/>
2112 <xslo:template mode="index_data_field" match="marc:datafield[@tag='656']">
2113 <z:index name="Subject:w Subject:p">
2114 <xslo:variable name="raw_heading">
2115 <xslo:for-each select="marc:subfield">
2116 <xslo:if test="position() > 1">
2117 <xslo:value-of select="substring(' ', 1, 1)"/>
2119 <xslo:value-of select="."/>
2122 <xslo:value-of select="normalize-space($raw_heading)"/>
2125 <xslo:template mode="index_data_field" match="marc:datafield[@tag='657']">
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() > 1">
2130 <xslo:value-of select="substring(' ', 1, 1)"/>
2132 <xslo:value-of select="."/>
2135 <xslo:value-of select="normalize-space($raw_heading)"/>
2138 <xslo:template mode="index_data_field" match="marc:datafield[@tag='658']">
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() > 1">
2143 <xslo:value-of select="substring(' ', 1, 1)"/>
2145 <xslo:value-of select="."/>
2148 <xslo:value-of select="normalize-space($raw_heading)"/>
2151 <xslo:template mode="index_data_field" match="marc:datafield[@tag='690']">
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() > 1">
2156 <xslo:value-of select="substring(' ', 1, 1)"/>
2158 <xslo:value-of select="."/>
2161 <xslo:value-of select="normalize-space($raw_heading)"/>
2164 <xslo:template mode="index_data_field" match="marc:datafield[@tag='700']">
2165 <z:index name="Author:w Author:p Author-name-personal:w Name:w Editor:w Personal-name:w">
2166 <xslo:variable name="raw_heading">
2167 <xslo:for-each select="marc:subfield">
2168 <xslo:if test="position() > 1">
2169 <xslo:value-of select="substring(' ', 1, 1)"/>
2171 <xslo:value-of select="."/>
2174 <xslo:value-of select="normalize-space($raw_heading)"/>
2177 <xslo:template mode="index_data_field" match="marc:datafield[@tag='710']">
2178 <z:index name="Author:w Author:p Corporate-name:w Name:w">
2179 <xslo:variable name="raw_heading">
2180 <xslo:for-each select="marc:subfield">
2181 <xslo:if test="position() > 1">
2182 <xslo:value-of select="substring(' ', 1, 1)"/>
2184 <xslo:value-of select="."/>
2187 <xslo:value-of select="normalize-space($raw_heading)"/>
2190 <xslo:template mode="index_data_field" match="marc:datafield[@tag='711']">
2191 <z:index name="Author:w Author:p Author-name-corporate:w Name:w Conference-name:w">
2192 <xslo:variable name="raw_heading">
2193 <xslo:for-each select="marc:subfield">
2194 <xslo:if test="position() > 1">
2195 <xslo:value-of select="substring(' ', 1, 1)"/>
2197 <xslo:value-of select="."/>
2200 <xslo:value-of select="normalize-space($raw_heading)"/>
2203 <xslo:template mode="index_data_field" match="marc:datafield[@tag='730']">
2204 <z:index name="Title:w Title:p Title-uniform:w">
2205 <xslo:variable name="raw_heading">
2206 <xslo:for-each select="marc:subfield">
2207 <xslo:if test="position() > 1">
2208 <xslo:value-of select="substring(' ', 1, 1)"/>
2210 <xslo:value-of select="."/>
2213 <xslo:value-of select="normalize-space($raw_heading)"/>
2216 <xslo:template mode="index_data_field" match="marc:datafield[@tag='740']">
2217 <z:index name="Title:w Title:p Title-other-variant:w">
2218 <xslo:variable name="raw_heading">
2219 <xslo:for-each select="marc:subfield">
2220 <xslo:if test="position() > 1">
2221 <xslo:value-of select="substring(' ', 1, 1)"/>
2223 <xslo:value-of select="."/>
2226 <xslo:value-of select="normalize-space($raw_heading)"/>
2229 <xslo:template mode="index_data_field" match="marc:datafield[@tag='751']">
2230 <z:index name="Name-geographic:w">
2231 <xslo:variable name="raw_heading">
2232 <xslo:for-each select="marc:subfield">
2233 <xslo:if test="position() > 1">
2234 <xslo:value-of select="substring(' ', 1, 1)"/>
2236 <xslo:value-of select="."/>
2239 <xslo:value-of select="normalize-space($raw_heading)"/>
2242 <xslo:template mode="index_data_field" match="marc:datafield[@tag='780']">
2243 <z:index name="Title:w Title:p Title-former:w Related-periodical:w">
2244 <xslo:variable name="raw_heading">
2245 <xslo:for-each select="marc:subfield">
2246 <xslo:if test="position() > 1">
2247 <xslo:value-of select="substring(' ', 1, 1)"/>
2249 <xslo:value-of select="."/>
2252 <xslo:value-of select="normalize-space($raw_heading)"/>
2255 <xslo:template mode="index_data_field" match="marc:datafield[@tag='785']">
2256 <z:index name="Title:w Title:p Title-later:w Related-periodical:w">
2257 <xslo:variable name="raw_heading">
2258 <xslo:for-each select="marc:subfield">
2259 <xslo:if test="position() > 1">
2260 <xslo:value-of select="substring(' ', 1, 1)"/>
2262 <xslo:value-of select="."/>
2265 <xslo:value-of select="normalize-space($raw_heading)"/>
2268 <xslo:template mode="index_data_field" match="marc:datafield[@tag='800']">
2269 <z:index name="Author:w Author-name-personal:w Name:w Personal-name:w">
2270 <xslo:variable name="raw_heading">
2271 <xslo:for-each select="marc:subfield">
2272 <xslo:if test="position() > 1">
2273 <xslo:value-of select="substring(' ', 1, 1)"/>
2275 <xslo:value-of select="."/>
2278 <xslo:value-of select="normalize-space($raw_heading)"/>
2281 <xslo:template mode="index_data_field" match="marc:datafield[@tag='810']">
2282 <z:index name="Author:w Corporate-name:w Author-name-corporate:w Name:w">
2283 <xslo:variable name="raw_heading">
2284 <xslo:for-each select="marc:subfield">
2285 <xslo:if test="position() > 1">
2286 <xslo:value-of select="substring(' ', 1, 1)"/>
2288 <xslo:value-of select="."/>
2291 <xslo:value-of select="normalize-space($raw_heading)"/>
2294 <xslo:template mode="index_data_field" match="marc:datafield[@tag='811']">
2295 <z:index name="Author:w Author-name-corporate:w Name:w Conference-name:w">
2296 <xslo:variable name="raw_heading">
2297 <xslo:for-each select="marc:subfield">
2298 <xslo:if test="position() > 1">
2299 <xslo:value-of select="substring(' ', 1, 1)"/>
2301 <xslo:value-of select="."/>
2304 <xslo:value-of select="normalize-space($raw_heading)"/>
2307 <xslo:template mode="index_data_field" match="marc:datafield[@tag='830']">
2308 <z:index name="Title:w Title-series:w Title-series:p">
2309 <xslo:variable name="raw_heading">
2310 <xslo:for-each select="marc:subfield">
2311 <xslo:if test="position() > 1">
2312 <xslo:value-of select="substring(' ', 1, 1)"/>
2314 <xslo:value-of select="."/>
2317 <xslo:value-of select="normalize-space($raw_heading)"/>
2320 <xslo:template mode="index_data_field" match="marc:datafield[@tag='840']">
2321 <z:index name="Title:w Title-series:w Title-series:p">
2322 <xslo:variable name="raw_heading">
2323 <xslo:for-each select="marc:subfield">
2324 <xslo:if test="position() > 1">
2325 <xslo:value-of select="substring(' ', 1, 1)"/>
2327 <xslo:value-of select="."/>
2330 <xslo:value-of select="normalize-space($raw_heading)"/>
2333 <xslo:template mode="index_all" match="text()">
2334 <z:index name="Any:w Any:p">
2335 <xslo:value-of select="."/>
2338 <xslo:template name="chopPunctuation">
2339 <xslo:param name="chopString"/>
2340 <xslo:variable name="length" select="string-length($chopString)"/>
2342 <xslo:when test="$length=0"/>
2343 <xslo:when test="contains('-,.:=;!%/', substring($chopString,$length,1))">
2344 <xslo:call-template name="chopPunctuation">
2345 <xslo:with-param name="chopString" select="substring($chopString,1,$length - 1)"/>
2346 </xslo:call-template>
2348 <xslo:when test="not($chopString)"/>
2350 <xslo:value-of select="$chopString"/>