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_match_heading"/>
17 <xslo:template match="text()" mode="index_subject_thesaurus"/>
18 <xslo:template match="/">
19 <xslo:if test="marc:collection">
21 <xslo:apply-templates select="marc:collection/marc:record"/>
24 <xslo:if test="marc:record">
25 <xslo:apply-templates select="marc:record"/>
28 <xslo:template match="marc:record">
29 <xslo:variable name="controlField001" select="normalize-space(marc:controlfield[@tag='001'])"/>
30 <z:record type="update">
31 <xslo:attribute name="z:id">
32 <xslo:value-of select="$controlField001"/>
34 <xslo:apply-templates/>
35 <xslo:apply-templates mode="index_subfields"/>
36 <xslo:apply-templates mode="index_data_field"/>
37 <xslo:apply-templates mode="index_heading"/>
38 <xslo:apply-templates mode="index_match_heading"/>
39 <xslo:apply-templates mode="index_subject_thesaurus"/>
42 <xslo:template match="marc:leader">
43 <z:index name="llength:w">
44 <xslo:value-of select="substring(., 1, 5)"/>
46 <z:index name="rtype:w">
47 <xslo:value-of select="substring(., 7, 1)"/>
49 <z:index name="Bib-level:w">
50 <xslo:value-of select="substring(., 8, 1)"/>
53 <xslo:template match="marc:controlfield[@tag='001']">
54 <z:index name="Control-number:w">
55 <xslo:value-of select="."/>
58 <xslo:template match="marc:controlfield[@tag='005']">
59 <z:index name="Date/time-last-modified:w">
60 <xslo:value-of select="."/>
63 <xslo:template match="marc:controlfield[@tag='007']">
64 <z:index name="Microform-generation:n">
65 <xslo:value-of select="substring(., 12, 1)"/>
67 <z:index name="Material-type:w">
68 <xslo:value-of select="."/>
70 <z:index name="ff7-00:w">
71 <xslo:value-of select="substring(., 1, 1)"/>
73 <z:index name="ff7-01:w">
74 <xslo:value-of select="substring(., 2, 1)"/>
76 <z:index name="ff7-02:w">
77 <xslo:value-of select="substring(., 3, 1)"/>
79 <z:index name="ff7-01-02:w">
80 <xslo:value-of select="substring(., 1, 2)"/>
83 <xslo:template match="marc:controlfield[@tag='008']">
84 <z:index name="date-entered-on-file:n">
85 <xslo:value-of select="substring(., 1, 5)"/>
87 <z:index name="date-entered-on-file:s">
88 <xslo:value-of select="substring(., 1, 5)"/>
90 <z:index name="pubdate:w">
91 <xslo:value-of select="substring(., 8, 4)"/>
93 <z:index name="pubdate:n">
94 <xslo:value-of select="substring(., 8, 4)"/>
96 <z:index name="pubdate:y">
97 <xslo:value-of select="substring(., 8, 4)"/>
99 <z:index name="pubdate:s">
100 <xslo:value-of select="substring(., 8, 4)"/>
102 <z:index name="pl:w">
103 <xslo:value-of select="substring(., 16, 3)"/>
105 <z:index name="ta:w">
106 <xslo:value-of select="substring(., 23, 1)"/>
108 <z:index name="ff8-23:w">
109 <xslo:value-of select="substring(., 24, 1)"/>
111 <z:index name="ff8-29:w">
112 <xslo:value-of select="substring(., 30, 1)"/>
114 <z:index name="lf:w">
115 <xslo:value-of select="substring(., 34, 1)"/>
117 <z:index name="bio:w">
118 <xslo:value-of select="substring(., 35, 1)"/>
120 <z:index name="ln:n">
121 <xslo:value-of select="substring(., 36, 3)"/>
123 <z:index name="ctype:w">
124 <xslo:value-of select="substring(., 25, 4)"/>
126 <z:index name="Record-source:w">
127 <xslo:value-of select="substring(., 40, 0)"/>
130 <xslo:template mode="index_subfields" match="marc:datafield[@tag='020']">
131 <xslo:for-each select="marc:subfield">
132 <xslo:if test="contains('a', @code)">
133 <z:index name="ISBN:w Identifier-standard:w">
134 <xslo:value-of select="."/>
139 <xslo:template mode="index_subfields" match="marc:datafield[@tag='022']">
140 <xslo:for-each select="marc:subfield">
141 <xslo:if test="contains('a', @code)">
142 <z:index name="ISSN:w Identifier-standard:w">
143 <xslo:value-of select="."/>
148 <xslo:template mode="index_subfields" match="marc:datafield[@tag='024']">
149 <xslo:for-each select="marc:subfield">
150 <xslo:if test="contains('a', @code)">
151 <z:index name="Identifier-other:w">
152 <xslo:value-of select="."/>
157 <xslo:template mode="index_subfields" match="marc:datafield[@tag='041']">
158 <xslo:for-each select="marc:subfield">
159 <xslo:if test="contains('a', @code)">
160 <z:index name="ln:w">
161 <xslo:value-of select="."/>
165 <xslo:for-each select="marc:subfield">
166 <xslo:if test="contains('d', @code)">
167 <z:index name="ln:w">
168 <xslo:value-of select="."/>
172 <xslo:for-each select="marc:subfield">
173 <xslo:if test="contains('e', @code)">
174 <z:index name="ln:w">
175 <xslo:value-of select="."/>
179 <xslo:for-each select="marc:subfield">
180 <xslo:if test="contains('j', @code)">
181 <z:index name="ln:w">
182 <xslo:value-of select="."/>
187 <xslo:template mode="index_subfields" match="marc:datafield[@tag='050']">
188 <xslo:for-each select="marc:subfield">
189 <xslo:if test="contains('b', @code)">
190 <z:index name="LC-call-number:w LC-call-number:p LC-call-number:s">
191 <xslo:value-of select="."/>
196 <xslo:template mode="index_subfields" match="marc:datafield[@tag='100']">
197 <xslo:for-each select="marc:subfield">
198 <xslo:if test="contains('9', @code)">
199 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
200 <xslo:value-of select="."/>
204 <xslo:for-each select="marc:subfield">
205 <xslo:if test="contains('a', @code)">
206 <z:index name="Author:w Author:p Author:s Editor:w Author-personal-bibliography:w Author-personal-bibliography:p Author-personal-bibliography:s">
207 <xslo:value-of select="."/>
212 <xslo:template mode="index_subfields" match="marc:datafield[@tag='110']">
213 <xslo:for-each select="marc:subfield">
214 <xslo:if test="contains('9', @code)">
215 <z:index name="Koha-Auth-Number:w">
216 <xslo:value-of select="."/>
221 <xslo:template mode="index_subfields" match="marc:datafield[@tag='111']">
222 <xslo:for-each select="marc:subfield">
223 <xslo:if test="contains('9', @code)">
224 <z:index name="Koha-Auth-Number:w">
225 <xslo:value-of select="."/>
230 <xslo:template mode="index_subfields" match="marc:datafield[@tag='130']">
231 <xslo:for-each select="marc:subfield">
232 <xslo:if test="contains('n', @code)">
233 <z:index name="Thematic-number:w">
234 <xslo:value-of select="."/>
238 <xslo:for-each select="marc:subfield">
239 <xslo:if test="contains('r', @code)">
240 <z:index name="Music-key:w">
241 <xslo:value-of select="."/>
245 <xslo:for-each select="marc:subfield">
246 <xslo:if test="contains('9', @code)">
247 <z:index name="Koha-Auth-Number:w">
248 <xslo:value-of select="."/>
253 <xslo:template mode="index_subfields" match="marc:datafield[@tag='240']">
254 <xslo:for-each select="marc:subfield">
255 <xslo:if test="contains('r', @code)">
256 <z:index name="Music-key:w">
257 <xslo:value-of select="."/>
261 <xslo:for-each select="marc:subfield">
262 <xslo:if test="contains('n', @code)">
263 <z:index name="Thematic-number:w">
264 <xslo:value-of select="."/>
269 <xslo:template mode="index_subfields" match="marc:datafield[@tag='243']">
270 <xslo:for-each select="marc:subfield">
271 <xslo:if test="contains('n', @code)">
272 <z:index name="Thematic-number:w">
273 <xslo:value-of select="."/>
277 <xslo:for-each select="marc:subfield">
278 <xslo:if test="contains('r', @code)">
279 <z:index name="Music-key:w">
280 <xslo:value-of select="."/>
285 <xslo:template mode="index_subfields" match="marc:datafield[@tag='245']">
286 <xslo:for-each select="marc:subfield">
287 <xslo:if test="contains('a', @code)">
288 <z:index name="Title-cover:w Title-cover:p Title-cover:s Title:w Title:p Title:s">
289 <xslo:value-of select="."/>
293 <xslo:for-each select="marc:subfield">
294 <xslo:if test="contains('c', @code)">
295 <z:index name="Author:w Author-in-order:w Author-in-order:p Author-in-order:s">
296 <xslo:value-of select="."/>
300 <xslo:for-each select="marc:subfield">
301 <xslo:if test="contains('9', @code)">
302 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
303 <xslo:value-of select="."/>
308 <xslo:template mode="index_subfields" match="marc:datafield[@tag='260']">
309 <xslo:for-each select="marc:subfield">
310 <xslo:if test="contains('a', @code)">
311 <z:index name="pl:w pl:p">
312 <xslo:value-of select="."/>
316 <xslo:for-each select="marc:subfield">
317 <xslo:if test="contains('b', @code)">
318 <z:index name="Publisher:w Publisher:p">
319 <xslo:value-of select="."/>
323 <xslo:for-each select="marc:subfield">
324 <xslo:if test="contains('c', @code)">
325 <z:index name="copydate:w copydate:s">
326 <xslo:value-of select="."/>
331 <xslo:template mode="index_subfields" match="marc:datafield[@tag='400']">
332 <xslo:for-each select="marc:subfield">
333 <xslo:if test="contains('a', @code)">
334 <z:index name="Name-and-title:w">
335 <xslo:value-of select="."/>
339 <xslo:for-each select="marc:subfield">
340 <xslo:if test="contains('t', @code)">
341 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w">
342 <xslo:value-of select="."/>
346 <xslo:for-each select="marc:subfield">
347 <xslo:if test="contains('9', @code)">
348 <z:index name="Koha-Auth-Number:w">
349 <xslo:value-of select="."/>
354 <xslo:template mode="index_subfields" match="marc:datafield[@tag='410']">
355 <xslo:for-each select="marc:subfield">
356 <xslo:if test="contains('a', @code)">
357 <z:index name="Name-and-title:w">
358 <xslo:value-of select="."/>
362 <xslo:for-each select="marc:subfield">
363 <xslo:if test="contains('t', @code)">
364 <z:index name="Author-title:w Title:w Title-series:w">
365 <xslo:value-of select="."/>
369 <xslo:for-each select="marc:subfield">
370 <xslo:if test="contains('9', @code)">
371 <z:index name="Koha-Auth-Number:w">
372 <xslo:value-of select="."/>
377 <xslo:template mode="index_subfields" match="marc:datafield[@tag='411']">
378 <xslo:for-each select="marc:subfield">
379 <xslo:if test="contains('a', @code)">
380 <z:index name="Name-and-title:w">
381 <xslo:value-of select="."/>
385 <xslo:for-each select="marc:subfield">
386 <xslo:if test="contains('t', @code)">
387 <z:index name="Author-title:w Title-series:w">
388 <xslo:value-of select="."/>
393 <xslo:template mode="index_subfields" match="marc:datafield[@tag='440']">
394 <xslo:for-each select="marc:subfield">
395 <xslo:if test="contains('a', @code)">
396 <z:index name="Title-series:w Title-series:p">
397 <xslo:value-of select="."/>
401 <xslo:for-each select="marc:subfield">
402 <xslo:if test="contains('9', @code)">
403 <z:index name="Koha-Auth-Number:w">
404 <xslo:value-of select="."/>
409 <xslo:template mode="index_subfields" match="marc:datafield[@tag='490']">
410 <xslo:for-each select="marc:subfield">
411 <xslo:if test="contains('a', @code)">
412 <z:index name="Title-series:w Title-series:p">
413 <xslo:value-of select="."/>
417 <xslo:for-each select="marc:subfield">
418 <xslo:if test="contains('9', @code)">
419 <z:index name="Koha-Auth-Number:w">
420 <xslo:value-of select="."/>
425 <xslo:template mode="index_subfields" match="marc:datafield[@tag='505']">
426 <xslo:for-each select="marc:subfield">
427 <xslo:if test="contains('r', @code)">
428 <z:index name="Author:w">
429 <xslo:value-of select="."/>
433 <xslo:for-each select="marc:subfield">
434 <xslo:if test="contains('t', @code)">
435 <z:index name="Title:w">
436 <xslo:value-of select="."/>
441 <xslo:template mode="index_subfields" match="marc:datafield[@tag='521']">
442 <xslo:for-each select="marc:subfield">
443 <xslo:if test="contains('a', @code)">
444 <z:index name="lex:n">
445 <xslo:value-of select="."/>
450 <xslo:template mode="index_subfields" match="marc:datafield[@tag='526']">
451 <xslo:for-each select="marc:subfield">
452 <xslo:if test="contains('c', @code)">
453 <z:index name="arl:w arl:n">
454 <xslo:value-of select="."/>
458 <xslo:for-each select="marc:subfield">
459 <xslo:if test="contains('d', @code)">
460 <z:index name="arp:w arp:n">
461 <xslo:value-of select="."/>
466 <xslo:template mode="index_subfields" match="marc:datafield[@tag='600']">
467 <xslo:for-each select="marc:subfield">
468 <xslo:if test="contains('a', @code)">
469 <z:index name="Name-and-title:w Name:w Personal-name:w Subject-name-personal:w Subject:w Subject:p">
470 <xslo:value-of select="."/>
474 <xslo:for-each select="marc:subfield">
475 <xslo:if test="contains('t', @code)">
476 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
477 <xslo:value-of select="."/>
481 <xslo:for-each select="marc:subfield">
482 <xslo:if test="contains('9', @code)">
483 <z:index name="Koha-Auth-Number:w">
484 <xslo:value-of select="."/>
489 <xslo:template mode="index_subfields" match="marc:datafield[@tag='610']">
490 <xslo:for-each select="marc:subfield">
491 <xslo:if test="contains('a', @code)">
492 <z:index name="Name-and-title:w Subject:w Subject:p">
493 <xslo:value-of select="."/>
497 <xslo:for-each select="marc:subfield">
498 <xslo:if test="contains('t', @code)">
499 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
500 <xslo:value-of select="."/>
504 <xslo:for-each select="marc:subfield">
505 <xslo:if test="contains('9', @code)">
506 <z:index name="Koha-Auth-Number:w">
507 <xslo:value-of select="."/>
512 <xslo:template mode="index_subfields" match="marc:datafield[@tag='611']">
513 <xslo:for-each select="marc:subfield">
514 <xslo:if test="contains('a', @code)">
515 <z:index name="Name-and-title:w Subject:w Subject:p">
516 <xslo:value-of select="."/>
520 <xslo:for-each select="marc:subfield">
521 <xslo:if test="contains('t', @code)">
522 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
523 <xslo:value-of select="."/>
527 <xslo:for-each select="marc:subfield">
528 <xslo:if test="contains('9', @code)">
529 <z:index name="Koha-Auth-Number:w">
530 <xslo:value-of select="."/>
535 <xslo:template mode="index_subfields" match="marc:datafield[@tag='630']">
536 <xslo:for-each select="marc:subfield">
537 <xslo:if test="contains('n', @code)">
538 <z:index name="Thematic-number:w Subject:w Subject:p">
539 <xslo:value-of select="."/>
543 <xslo:for-each select="marc:subfield">
544 <xslo:if test="contains('r', @code)">
545 <z:index name="Music-key:w Subject:w Subject:p">
546 <xslo:value-of select="."/>
550 <xslo:for-each select="marc:subfield">
551 <xslo:if test="contains('9', @code)">
552 <z:index name="Koha-Auth-Number:w">
553 <xslo:value-of select="."/>
558 <xslo:template mode="index_subfields" match="marc:datafield[@tag='650']">
559 <xslo:for-each select="marc:subfield">
560 <xslo:if test="contains('9', @code)">
561 <z:index name="Koha-Auth-Number :w">
562 <xslo:value-of select="."/>
567 <xslo:template mode="index_subfields" match="marc:datafield[@tag='651']">
568 <xslo:for-each select="marc:subfield">
569 <xslo:if test="contains('9', @code)">
570 <z:index name="Koha-Auth-Number :w">
571 <xslo:value-of select="."/>
576 <xslo:template mode="index_subfields" match="marc:datafield[@tag='652']">
577 <xslo:for-each select="marc:subfield">
578 <xslo:if test="contains('9', @code)">
579 <z:index name="Koha-Auth-Number :w">
580 <xslo:value-of select="."/>
585 <xslo:template mode="index_subfields" match="marc:datafield[@tag='653']">
586 <xslo:for-each select="marc:subfield">
587 <xslo:if test="contains('9', @code)">
588 <z:index name="Koha-Auth-Number :w">
589 <xslo:value-of select="."/>
594 <xslo:template mode="index_subfields" match="marc:datafield[@tag='654']">
595 <xslo:for-each select="marc:subfield">
596 <xslo:if test="contains('9', @code)">
597 <z:index name="Koha-Auth-Number :w">
598 <xslo:value-of select="."/>
603 <xslo:template mode="index_subfields" match="marc:datafield[@tag='655']">
604 <xslo:for-each select="marc:subfield">
605 <xslo:if test="contains('9', @code)">
606 <z:index name="Koha-Auth-Number :w">
607 <xslo:value-of select="."/>
612 <xslo:template mode="index_subfields" match="marc:datafield[@tag='656']">
613 <xslo:for-each select="marc:subfield">
614 <xslo:if test="contains('9', @code)">
615 <z:index name="Koha-Auth-Number :w">
616 <xslo:value-of select="."/>
621 <xslo:template mode="index_subfields" match="marc:datafield[@tag='657']">
622 <xslo:for-each select="marc:subfield">
623 <xslo:if test="contains('9', @code)">
624 <z:index name="Koha-Auth-Number :w">
625 <xslo:value-of select="."/>
630 <xslo:template mode="index_subfields" match="marc:datafield[@tag='658']">
631 <xslo:for-each select="marc:subfield">
632 <xslo:if test="contains('a', @code)">
633 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
634 <xslo:value-of select="."/>
638 <xslo:for-each select="marc:subfield">
639 <xslo:if test="contains('b', @code)">
640 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
641 <xslo:value-of select="."/>
645 <xslo:for-each select="marc:subfield">
646 <xslo:if test="contains('c', @code)">
647 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
648 <xslo:value-of select="."/>
653 <xslo:template mode="index_subfields" match="marc:datafield[@tag='690']">
654 <xslo:for-each select="marc:subfield">
655 <xslo:if test="contains('9', @code)">
656 <z:index name="Koha-Auth-Number :w">
657 <xslo:value-of select="."/>
662 <xslo:template mode="index_subfields" match="marc:datafield[@tag='700']">
663 <xslo:for-each select="marc:subfield">
664 <xslo:if test="contains('9', @code)">
665 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
666 <xslo:value-of select="."/>
670 <xslo:for-each select="marc:subfield">
671 <xslo:if test="contains('a', @code)">
672 <z:index name="Author:w Author:p">
673 <xslo:value-of select="."/>
677 <xslo:for-each select="marc:subfield">
678 <xslo:if test="contains('n', @code)">
679 <z:index name="Thematic-number:w">
680 <xslo:value-of select="."/>
684 <xslo:for-each select="marc:subfield">
685 <xslo:if test="contains('r', @code)">
686 <z:index name="Music-key:w">
687 <xslo:value-of select="."/>
691 <xslo:for-each select="marc:subfield">
692 <xslo:if test="contains('t', @code)">
693 <z:index name="Author-title:w Name-and-title:w Title:w Title-uniform:w">
694 <xslo:value-of select="."/>
699 <xslo:template mode="index_subfields" match="marc:datafield[@tag='710']">
700 <xslo:for-each select="marc:subfield">
701 <xslo:if test="contains('t', @code)">
702 <z:index name="Author-title:w Name-and-title:w Title:w Title-uniform:w">
703 <xslo:value-of select="."/>
707 <xslo:for-each select="marc:subfield">
708 <xslo:if test="contains('a', @code)">
709 <z:index name="Name-and-title:w">
710 <xslo:value-of select="."/>
714 <xslo:for-each select="marc:subfield">
715 <xslo:if test="contains('9', @code)">
716 <z:index name="Koha-Auth-Number :w">
717 <xslo:value-of select="."/>
722 <xslo:template mode="index_subfields" match="marc:datafield[@tag='711']">
723 <xslo:for-each select="marc:subfield">
724 <xslo:if test="contains('a', @code)">
725 <z:index name="Name-and-title:w">
726 <xslo:value-of select="."/>
730 <xslo:for-each select="marc:subfield">
731 <xslo:if test="contains('t', @code)">
732 <z:index name="Author-title:w Title:w Title-uniform:w">
733 <xslo:value-of select="."/>
737 <xslo:for-each select="marc:subfield">
738 <xslo:if test="contains('9', @code)">
739 <z:index name="Koha-Auth-Number :w">
740 <xslo:value-of select="."/>
745 <xslo:template mode="index_subfields" match="marc:datafield[@tag='730']">
746 <xslo:for-each select="marc:subfield">
747 <xslo:if test="contains('n', @code)">
748 <z:index name="Thematic-number:w">
749 <xslo:value-of select="."/>
753 <xslo:for-each select="marc:subfield">
754 <xslo:if test="contains('r', @code)">
755 <z:index name="Music-key:w">
756 <xslo:value-of select="."/>
760 <xslo:for-each select="marc:subfield">
761 <xslo:if test="contains('9', @code)">
762 <z:index name="Koha-Auth-Number:w">
763 <xslo:value-of select="."/>
768 <xslo:template mode="index_subfields" match="marc:datafield[@tag='751']">
769 <xslo:for-each select="marc:subfield">
770 <xslo:if test="contains('a', @code)">
771 <z:index name="Name-geographic:w">
772 <xslo:value-of select="."/>
776 <xslo:for-each select="marc:subfield">
777 <xslo:if test="contains('9', @code)">
778 <z:index name="Koha-Auth-Number:w">
779 <xslo:value-of select="."/>
784 <xslo:template mode="index_subfields" match="marc:datafield[@tag='770']">
785 <xslo:for-each select="marc:subfield">
786 <xslo:if test="contains('w', @code)">
787 <z:index name="Record-control-number:w">
788 <xslo:value-of select="."/>
793 <xslo:template mode="index_subfields" match="marc:datafield[@tag='772']">
794 <xslo:for-each select="marc:subfield">
795 <xslo:if test="contains('w', @code)">
796 <z:index name="Record-control-number:w">
797 <xslo:value-of select="."/>
802 <xslo:template mode="index_subfields" match="marc:datafield[@tag='773']">
803 <xslo:for-each select="marc:subfield">
804 <xslo:if test="contains('a', @code)">
805 <z:index name="Host-item:w">
806 <xslo:value-of select="."/>
810 <xslo:for-each select="marc:subfield">
811 <xslo:if test="contains('9', @code)">
812 <z:index name="Host-Item-Number:w">
813 <xslo:value-of select="."/>
817 <xslo:for-each select="marc:subfield">
818 <xslo:if test="contains('t', @code)">
819 <z:index name="Host-item:w">
820 <xslo:value-of select="."/>
824 <xslo:for-each select="marc:subfield">
825 <xslo:if test="contains('w', @code)">
826 <z:index name="Record-control-number:w">
827 <xslo:value-of select="."/>
832 <xslo:template mode="index_subfields" match="marc:datafield[@tag='774']">
833 <xslo:for-each select="marc:subfield">
834 <xslo:if test="contains('w', @code)">
835 <z:index name="Record-control-number:w">
836 <xslo:value-of select="."/>
841 <xslo:template mode="index_subfields" match="marc:datafield[@tag='775']">
842 <xslo:for-each select="marc:subfield">
843 <xslo:if test="contains('w', @code)">
844 <z:index name="Record-control-number:w">
845 <xslo:value-of select="."/>
850 <xslo:template mode="index_subfields" match="marc:datafield[@tag='776']">
851 <xslo:for-each select="marc:subfield">
852 <xslo:if test="contains('w', @code)">
853 <z:index name="Record-control-number:w">
854 <xslo:value-of select="."/>
859 <xslo:template mode="index_subfields" match="marc:datafield[@tag='777']">
860 <xslo:for-each select="marc:subfield">
861 <xslo:if test="contains('w', @code)">
862 <z:index name="Record-control-number:w">
863 <xslo:value-of select="."/>
868 <xslo:template mode="index_subfields" match="marc:datafield[@tag='780']">
869 <xslo:for-each select="marc:subfield">
870 <xslo:if test="contains('t', @code)">
871 <z:index name="Title:w">
872 <xslo:value-of select="."/>
876 <xslo:for-each select="marc:subfield">
877 <xslo:if test="contains('w', @code)">
878 <z:index name="Record-control-number:w">
879 <xslo:value-of select="."/>
884 <xslo:template mode="index_subfields" match="marc:datafield[@tag='785']">
885 <xslo:for-each select="marc:subfield">
886 <xslo:if test="contains('w', @code)">
887 <z:index name="Record-control-number:w">
888 <xslo:value-of select="."/>
893 <xslo:template mode="index_subfields" match="marc:datafield[@tag='787']">
894 <xslo:for-each select="marc:subfield">
895 <xslo:if test="contains('w', @code)">
896 <z:index name="Record-control-number:w">
897 <xslo:value-of select="."/>
902 <xslo:template mode="index_subfields" match="marc:datafield[@tag='800']">
903 <xslo:for-each select="marc:subfield">
904 <xslo:if test="contains('a', @code)">
905 <z:index name="Name-and-title:w Title-series:w Title-series:p">
906 <xslo:value-of select="."/>
910 <xslo:for-each select="marc:subfield">
911 <xslo:if test="contains('t', @code)">
912 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
913 <xslo:value-of select="."/>
917 <xslo:for-each select="marc:subfield">
918 <xslo:if test="contains('9', @code)">
919 <z:index name="Koha-Auth-Number:w">
920 <xslo:value-of select="."/>
924 <xslo:for-each select="marc:subfield">
925 <xslo:if test="contains('w', @code)">
926 <z:index name="Record-control-number:w">
927 <xslo:value-of select="."/>
932 <xslo:template mode="index_subfields" match="marc:datafield[@tag='810']">
933 <xslo:for-each select="marc:subfield">
934 <xslo:if test="contains('a', @code)">
935 <z:index name="Name-and-title:w Title-series:w Title-series:p">
936 <xslo:value-of select="."/>
940 <xslo:for-each select="marc:subfield">
941 <xslo:if test="contains('t', @code)">
942 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
943 <xslo:value-of select="."/>
947 <xslo:for-each select="marc:subfield">
948 <xslo:if test="contains('w', @code)">
949 <z:index name="Record-control-number:w">
950 <xslo:value-of select="."/>
954 <xslo:for-each select="marc:subfield">
955 <xslo:if test="contains('9', @code)">
956 <z:index name="Koha-Auth-Number:w">
957 <xslo:value-of select="."/>
962 <xslo:template mode="index_subfields" match="marc:datafield[@tag='811']">
963 <xslo:for-each select="marc:subfield">
964 <xslo:if test="contains('a', @code)">
965 <z:index name="Name-and-title:w Title-series:w Title-series:p">
966 <xslo:value-of select="."/>
970 <xslo:for-each select="marc:subfield">
971 <xslo:if test="contains('9', @code)">
972 <z:index name="Koha-Auth-Number:w">
973 <xslo:value-of select="."/>
977 <xslo:for-each select="marc:subfield">
978 <xslo:if test="contains('t', @code)">
979 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
980 <xslo:value-of select="."/>
984 <xslo:for-each select="marc:subfield">
985 <xslo:if test="contains('w', @code)">
986 <z:index name="Record-control-number:w">
987 <xslo:value-of select="."/>
992 <xslo:template mode="index_subfields" match="marc:datafield[@tag='830']">
993 <xslo:for-each select="marc:subfield">
994 <xslo:if test="contains('w', @code)">
995 <z:index name="Record-control-number:w">
996 <xslo:value-of select="."/>
1000 <xslo:for-each select="marc:subfield">
1001 <xslo:if test="contains('9', @code)">
1002 <z:index name="Koha-Auth-Number:w">
1003 <xslo:value-of select="."/>
1008 <xslo:template mode="index_subfields" match="marc:datafield[@tag='999']">
1009 <xslo:for-each select="marc:subfield">
1010 <xslo:if test="contains('c', @code)">
1011 <z:index name="Local-Number:n Local-Number:w Local-Number:s">
1012 <xslo:value-of select="."/>
1016 <xslo:for-each select="marc:subfield">
1017 <xslo:if test="contains('d', @code)">
1018 <z:index name="biblioitemnumber:n biblioitemnumber:w biblioitemnumber:s">
1019 <xslo:value-of select="."/>
1024 <xslo:template mode="index_subfields" match="marc:datafield[@tag='942']">
1025 <xslo:for-each select="marc:subfield">
1026 <xslo:if test="contains('0', @code)">
1027 <z:index name="totalissues:n totalissues:s">
1028 <xslo:value-of select="."/>
1032 <xslo:for-each select="marc:subfield">
1033 <xslo:if test="contains('2', @code)">
1034 <z:index name="cn-bib-source:w">
1035 <xslo:value-of select="."/>
1039 <xslo:for-each select="marc:subfield">
1040 <xslo:if test="contains('6', @code)">
1041 <z:index name="cn-bib-sort:n cn-bib-sort:s">
1042 <xslo:value-of select="."/>
1046 <xslo:for-each select="marc:subfield">
1047 <xslo:if test="contains('c', @code)">
1048 <z:index name="itemtype:w itemtype:p itype:w itype:p">
1049 <xslo:value-of select="."/>
1053 <xslo:for-each select="marc:subfield">
1054 <xslo:if test="contains('n', @code)">
1055 <z:index name="Suppress:w Suppress:n">
1056 <xslo:value-of select="."/>
1060 <xslo:for-each select="marc:subfield">
1061 <xslo:if test="contains('h', @code)">
1062 <z:index name="cn-class:w">
1063 <xslo:value-of select="."/>
1067 <xslo:for-each select="marc:subfield">
1068 <xslo:if test="contains('i', @code)">
1069 <z:index name="cn-item:w">
1070 <xslo:value-of select="."/>
1074 <xslo:for-each select="marc:subfield">
1075 <xslo:if test="contains('k', @code)">
1076 <z:index name="cn-prefix:w">
1077 <xslo:value-of select="."/>
1081 <xslo:for-each select="marc:subfield">
1082 <xslo:if test="contains('m', @code)">
1083 <z:index name="cn-suffix:w">
1084 <xslo:value-of select="."/>
1089 <xslo:template mode="index_subfields" match="marc:datafield[@tag='952']">
1090 <xslo:for-each select="marc:subfield">
1091 <xslo:if test="contains('0', @code)">
1092 <z:index name="withdrawn:n withdrawn:w">
1093 <xslo:value-of select="."/>
1097 <xslo:for-each select="marc:subfield">
1098 <xslo:if test="contains('1', @code)">
1099 <z:index name="lost:w lost:n">
1100 <xslo:value-of select="."/>
1104 <xslo:for-each select="marc:subfield">
1105 <xslo:if test="contains('2', @code)">
1106 <z:index name="classification-source:w">
1107 <xslo:value-of select="."/>
1111 <xslo:for-each select="marc:subfield">
1112 <xslo:if test="contains('3', @code)">
1113 <z:index name="materials-specified :w">
1114 <xslo:value-of select="."/>
1118 <xslo:for-each select="marc:subfield">
1119 <xslo:if test="contains('4', @code)">
1120 <z:index name="damaged:n damaged:w">
1121 <xslo:value-of select="."/>
1125 <xslo:for-each select="marc:subfield">
1126 <xslo:if test="contains('5', @code)">
1127 <z:index name="restricted:n restricted:w">
1128 <xslo:value-of select="."/>
1132 <xslo:for-each select="marc:subfield">
1133 <xslo:if test="contains('6', @code)">
1134 <z:index name="cn-sort:n cn-sort:s">
1135 <xslo:value-of select="."/>
1139 <xslo:for-each select="marc:subfield">
1140 <xslo:if test="contains('7', @code)">
1141 <z:index name="notforloan:n notforloan:w">
1142 <xslo:value-of select="."/>
1146 <xslo:for-each select="marc:subfield">
1147 <xslo:if test="contains('8', @code)">
1148 <z:index name="ccode:w ccode:p">
1149 <xslo:value-of select="."/>
1153 <xslo:for-each select="marc:subfield">
1154 <xslo:if test="contains('9', @code)">
1155 <z:index name="itemnumber:n itemnumber:s">
1156 <xslo:value-of select="."/>
1160 <xslo:for-each select="marc:subfield">
1161 <xslo:if test="contains('a', @code)">
1162 <z:index name="homebranch:w">
1163 <xslo:value-of select="."/>
1167 <xslo:for-each select="marc:subfield">
1168 <xslo:if test="contains('b', @code)">
1169 <z:index name="holdingbranch:w">
1170 <xslo:value-of select="."/>
1174 <xslo:for-each select="marc:subfield">
1175 <xslo:if test="contains('c', @code)">
1176 <z:index name="location:w">
1177 <xslo:value-of select="."/>
1181 <xslo:for-each select="marc:subfield">
1182 <xslo:if test="contains('d', @code)">
1183 <z:index name="Date-of-acquisition:w Date-of-acquisition:d Date-of-acquisition:s">
1184 <xslo:value-of select="."/>
1188 <xslo:for-each select="marc:subfield">
1189 <xslo:if test="contains('e', @code)">
1190 <z:index name="acqsource:w">
1191 <xslo:value-of select="."/>
1195 <xslo:for-each select="marc:subfield">
1196 <xslo:if test="contains('f', @code)">
1197 <z:index name="coded-location-qualifier:w">
1198 <xslo:value-of select="."/>
1202 <xslo:for-each select="marc:subfield">
1203 <xslo:if test="contains('g', @code)">
1204 <z:index name="price:w">
1205 <xslo:value-of select="."/>
1209 <xslo:for-each select="marc:subfield">
1210 <xslo:if test="contains('i', @code)">
1211 <z:index name="stocknumber:w">
1212 <xslo:value-of select="."/>
1216 <xslo:for-each select="marc:subfield">
1217 <xslo:if test="contains('j', @code)">
1218 <z:index name="stack:n stack:w">
1219 <xslo:value-of select="."/>
1223 <xslo:for-each select="marc:subfield">
1224 <xslo:if test="contains('l', @code)">
1225 <z:index name="issues:n issues:w issues:s">
1226 <xslo:value-of select="."/>
1230 <xslo:for-each select="marc:subfield">
1231 <xslo:if test="contains('m', @code)">
1232 <z:index name="renewals:n renewals:w">
1233 <xslo:value-of select="."/>
1237 <xslo:for-each select="marc:subfield">
1238 <xslo:if test="contains('n', @code)">
1239 <z:index name="reserves:n reserves:w">
1240 <xslo:value-of select="."/>
1244 <xslo:for-each select="marc:subfield">
1245 <xslo:if test="contains('o', @code)">
1246 <z:index name="Local-classification:w Local-classification:p Local-classification:s">
1247 <xslo:value-of select="."/>
1251 <xslo:for-each select="marc:subfield">
1252 <xslo:if test="contains('p', @code)">
1253 <z:index name="barcode:w barcode:n">
1254 <xslo:value-of select="."/>
1258 <xslo:for-each select="marc:subfield">
1259 <xslo:if test="contains('q', @code)">
1260 <z:index name="onloan:n onloan:w">
1261 <xslo:value-of select="."/>
1265 <xslo:for-each select="marc:subfield">
1266 <xslo:if test="contains('r', @code)">
1267 <z:index name="datelastseen:w">
1268 <xslo:value-of select="."/>
1272 <xslo:for-each select="marc:subfield">
1273 <xslo:if test="contains('s', @code)">
1274 <z:index name="datelastborrowed:w">
1275 <xslo:value-of select="."/>
1279 <xslo:for-each select="marc:subfield">
1280 <xslo:if test="contains('t', @code)">
1281 <z:index name="copynumber:w">
1282 <xslo:value-of select="."/>
1286 <xslo:for-each select="marc:subfield">
1287 <xslo:if test="contains('u', @code)">
1288 <z:index name="uri:u">
1289 <xslo:value-of select="."/>
1293 <xslo:for-each select="marc:subfield">
1294 <xslo:if test="contains('v', @code)">
1295 <z:index name="replacementprice:w">
1296 <xslo:value-of select="."/>
1300 <xslo:for-each select="marc:subfield">
1301 <xslo:if test="contains('w', @code)">
1302 <z:index name="replacementpricedate:w">
1303 <xslo:value-of select="."/>
1307 <xslo:for-each select="marc:subfield">
1308 <xslo:if test="contains('y', @code)">
1309 <z:index name="itype:w itype:p">
1310 <xslo:value-of select="."/>
1314 <xslo:for-each select="marc:subfield">
1315 <xslo:if test="contains('z', @code)">
1316 <z:index name="Note:w Note:p">
1317 <xslo:value-of select="."/>
1322 <xslo:template mode="index_data_field" match="marc:datafield[@tag='010']">
1323 <z:index name="LC-card-number:w Identifier-standard:w">
1324 <xslo:variable name="raw_heading">
1325 <xslo:for-each select="marc:subfield">
1326 <xslo:if test="position() > 1">
1327 <xslo:value-of select="substring(' ', 1, 1)"/>
1329 <xslo:value-of select="."/>
1332 <xslo:value-of select="normalize-space($raw_heading)"/>
1335 <xslo:template mode="index_data_field" match="marc:datafield[@tag='011']">
1336 <z:index name="LC-card-number:w Identifier-standard:w">
1337 <xslo:variable name="raw_heading">
1338 <xslo:for-each select="marc:subfield">
1339 <xslo:if test="position() > 1">
1340 <xslo:value-of select="substring(' ', 1, 1)"/>
1342 <xslo:value-of select="."/>
1345 <xslo:value-of select="normalize-space($raw_heading)"/>
1348 <xslo:template mode="index_data_field" match="marc:datafield[@tag='015']">
1349 <z:index name="BNB-card-number:w BGF-number:w Number-db:w Number-natl-biblio:w Identifier-standard:w">
1350 <xslo:variable name="raw_heading">
1351 <xslo:for-each select="marc:subfield">
1352 <xslo:if test="position() > 1">
1353 <xslo:value-of select="substring(' ', 1, 1)"/>
1355 <xslo:value-of select="."/>
1358 <xslo:value-of select="normalize-space($raw_heading)"/>
1361 <xslo:template mode="index_data_field" match="marc:datafield[@tag='017']">
1362 <z:index name="Number-legal-deposit:w Identifier-standard:w">
1363 <xslo:variable name="raw_heading">
1364 <xslo:for-each select="marc:subfield">
1365 <xslo:if test="position() > 1">
1366 <xslo:value-of select="substring(' ', 1, 1)"/>
1368 <xslo:value-of select="."/>
1371 <xslo:value-of select="normalize-space($raw_heading)"/>
1374 <xslo:template mode="index_data_field" match="marc:datafield[@tag='018']">
1375 <z:index name="Identifier-standard:w">
1376 <xslo:variable name="raw_heading">
1377 <xslo:for-each select="marc:subfield">
1378 <xslo:if test="position() > 1">
1379 <xslo:value-of select="substring(' ', 1, 1)"/>
1381 <xslo:value-of select="."/>
1384 <xslo:value-of select="normalize-space($raw_heading)"/>
1387 <xslo:template mode="index_data_field" match="marc:datafield[@tag='020']">
1388 <z:index name="Identifier-standard:w">
1389 <xslo:variable name="raw_heading">
1390 <xslo:for-each select="marc:subfield">
1391 <xslo:if test="position() > 1">
1392 <xslo:value-of select="substring(' ', 1, 1)"/>
1394 <xslo:value-of select="."/>
1397 <xslo:value-of select="normalize-space($raw_heading)"/>
1400 <xslo:template mode="index_data_field" match="marc:datafield[@tag='022']">
1401 <z:index name="Identifier-standard:w">
1402 <xslo:variable name="raw_heading">
1403 <xslo:for-each select="marc:subfield">
1404 <xslo:if test="position() > 1">
1405 <xslo:value-of select="substring(' ', 1, 1)"/>
1407 <xslo:value-of select="."/>
1410 <xslo:value-of select="normalize-space($raw_heading)"/>
1413 <xslo:template mode="index_data_field" match="marc:datafield[@tag='023']">
1414 <z:index name="Identifier-standard:w">
1415 <xslo:variable name="raw_heading">
1416 <xslo:for-each select="marc:subfield">
1417 <xslo:if test="position() > 1">
1418 <xslo:value-of select="substring(' ', 1, 1)"/>
1420 <xslo:value-of select="."/>
1423 <xslo:value-of select="normalize-space($raw_heading)"/>
1426 <xslo:template mode="index_data_field" match="marc:datafield[@tag='024']">
1427 <z:index name="Identifier-standard:w">
1428 <xslo:variable name="raw_heading">
1429 <xslo:for-each select="marc:subfield">
1430 <xslo:if test="position() > 1">
1431 <xslo:value-of select="substring(' ', 1, 1)"/>
1433 <xslo:value-of select="."/>
1436 <xslo:value-of select="normalize-space($raw_heading)"/>
1439 <xslo:template mode="index_data_field" match="marc:datafield[@tag='025']">
1440 <z:index name="Identifier-standard:w">
1441 <xslo:variable name="raw_heading">
1442 <xslo:for-each select="marc:subfield">
1443 <xslo:if test="position() > 1">
1444 <xslo:value-of select="substring(' ', 1, 1)"/>
1446 <xslo:value-of select="."/>
1449 <xslo:value-of select="normalize-space($raw_heading)"/>
1452 <xslo:template mode="index_data_field" match="marc:datafield[@tag='027']">
1453 <z:index name="Report-number:w Identifier-standard:w">
1454 <xslo:variable name="raw_heading">
1455 <xslo:for-each select="marc:subfield">
1456 <xslo:if test="position() > 1">
1457 <xslo:value-of select="substring(' ', 1, 1)"/>
1459 <xslo:value-of select="."/>
1462 <xslo:value-of select="normalize-space($raw_heading)"/>
1465 <xslo:template mode="index_data_field" match="marc:datafield[@tag='028']">
1466 <z:index name="Number-music-publisher:w Identifier-standard:w">
1467 <xslo:variable name="raw_heading">
1468 <xslo:for-each select="marc:subfield">
1469 <xslo:if test="position() > 1">
1470 <xslo:value-of select="substring(' ', 1, 1)"/>
1472 <xslo:value-of select="."/>
1475 <xslo:value-of select="normalize-space($raw_heading)"/>
1478 <xslo:template mode="index_data_field" match="marc:datafield[@tag='030']">
1479 <z:index name="CODEN:w Identifier-standard:w">
1480 <xslo:variable name="raw_heading">
1481 <xslo:for-each select="marc:subfield">
1482 <xslo:if test="position() > 1">
1483 <xslo:value-of select="substring(' ', 1, 1)"/>
1485 <xslo:value-of select="."/>
1488 <xslo:value-of select="normalize-space($raw_heading)"/>
1491 <xslo:template mode="index_data_field" match="marc:datafield[@tag='034']">
1492 <z:index name="Map-scale:w">
1493 <xslo:variable name="raw_heading">
1494 <xslo:for-each select="marc:subfield">
1495 <xslo:if test="position() > 1">
1496 <xslo:value-of select="substring(' ', 1, 1)"/>
1498 <xslo:value-of select="."/>
1501 <xslo:value-of select="normalize-space($raw_heading)"/>
1504 <xslo:template mode="index_data_field" match="marc:datafield[@tag='037']">
1505 <z:index name="Identifier-standard:w Stock-number:w">
1506 <xslo:variable name="raw_heading">
1507 <xslo:for-each select="marc:subfield">
1508 <xslo:if test="position() > 1">
1509 <xslo:value-of select="substring(' ', 1, 1)"/>
1511 <xslo:value-of select="."/>
1514 <xslo:value-of select="normalize-space($raw_heading)"/>
1517 <xslo:template mode="index_data_field" match="marc:datafield[@tag='040']">
1518 <z:index name="Code-institution:w Record-source:w">
1519 <xslo:variable name="raw_heading">
1520 <xslo:for-each select="marc:subfield">
1521 <xslo:if test="position() > 1">
1522 <xslo:value-of select="substring(' ', 1, 1)"/>
1524 <xslo:value-of select="."/>
1527 <xslo:value-of select="normalize-space($raw_heading)"/>
1530 <xslo:template mode="index_data_field" match="marc:datafield[@tag='043']">
1531 <z:index name="Code-geographic:w">
1532 <xslo:variable name="raw_heading">
1533 <xslo:for-each select="marc:subfield">
1534 <xslo:if test="position() > 1">
1535 <xslo:value-of select="substring(' ', 1, 1)"/>
1537 <xslo:value-of select="."/>
1540 <xslo:value-of select="normalize-space($raw_heading)"/>
1543 <xslo:template mode="index_data_field" match="marc:datafield[@tag='050']">
1544 <z:index name="LC-call-number:w LC-call-number:p LC-call-number:s">
1545 <xslo:variable name="raw_heading">
1546 <xslo:for-each select="marc:subfield">
1547 <xslo:if test="position() > 1">
1548 <xslo:value-of select="substring(' ', 1, 1)"/>
1550 <xslo:value-of select="."/>
1553 <xslo:value-of select="normalize-space($raw_heading)"/>
1556 <xslo:template mode="index_data_field" match="marc:datafield[@tag='052']">
1557 <z:index name="Geographic-class:w">
1558 <xslo:variable name="raw_heading">
1559 <xslo:for-each select="marc:subfield">
1560 <xslo:if test="position() > 1">
1561 <xslo:value-of select="substring(' ', 1, 1)"/>
1563 <xslo:value-of select="."/>
1566 <xslo:value-of select="normalize-space($raw_heading)"/>
1569 <xslo:template mode="index_data_field" match="marc:datafield[@tag='060']">
1570 <z:index name="NLM-call-number:w">
1571 <xslo:variable name="raw_heading">
1572 <xslo:for-each select="marc:subfield">
1573 <xslo:if test="position() > 1">
1574 <xslo:value-of select="substring(' ', 1, 1)"/>
1576 <xslo:value-of select="."/>
1579 <xslo:value-of select="normalize-space($raw_heading)"/>
1582 <xslo:template mode="index_data_field" match="marc:datafield[@tag='070']">
1583 <z:index name="NAL-call-number:w">
1584 <xslo:variable name="raw_heading">
1585 <xslo:for-each select="marc:subfield">
1586 <xslo:if test="position() > 1">
1587 <xslo:value-of select="substring(' ', 1, 1)"/>
1589 <xslo:value-of select="."/>
1592 <xslo:value-of select="normalize-space($raw_heading)"/>
1595 <xslo:template mode="index_data_field" match="marc:datafield[@tag='080']">
1596 <z:index name="UDC-classification:w">
1597 <xslo:variable name="raw_heading">
1598 <xslo:for-each select="marc:subfield">
1599 <xslo:if test="position() > 1">
1600 <xslo:value-of select="substring(' ', 1, 1)"/>
1602 <xslo:value-of select="."/>
1605 <xslo:value-of select="normalize-space($raw_heading)"/>
1608 <xslo:template mode="index_data_field" match="marc:datafield[@tag='082']">
1609 <z:index name="Dewey-classification:w Dewey-classification:s">
1610 <xslo:variable name="raw_heading">
1611 <xslo:for-each select="marc:subfield">
1612 <xslo:if test="position() > 1">
1613 <xslo:value-of select="substring(' ', 1, 1)"/>
1615 <xslo:value-of select="."/>
1618 <xslo:value-of select="normalize-space($raw_heading)"/>
1621 <xslo:template mode="index_data_field" match="marc:datafield[@tag='086']">
1622 <z:index name="Number-govt-pub:w">
1623 <xslo:variable name="raw_heading">
1624 <xslo:for-each select="marc:subfield">
1625 <xslo:if test="position() > 1">
1626 <xslo:value-of select="substring(' ', 1, 1)"/>
1628 <xslo:value-of select="."/>
1631 <xslo:value-of select="normalize-space($raw_heading)"/>
1634 <xslo:template mode="index_data_field" match="marc:datafield[@tag='100']">
1635 <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">
1636 <xslo:variable name="raw_heading">
1637 <xslo:for-each select="marc:subfield">
1638 <xslo:if test="position() > 1">
1639 <xslo:value-of select="substring(' ', 1, 1)"/>
1641 <xslo:value-of select="."/>
1644 <xslo:value-of select="normalize-space($raw_heading)"/>
1647 <xslo:template mode="index_data_field" match="marc:datafield[@tag='110']">
1648 <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">
1649 <xslo:variable name="raw_heading">
1650 <xslo:for-each select="marc:subfield">
1651 <xslo:if test="position() > 1">
1652 <xslo:value-of select="substring(' ', 1, 1)"/>
1654 <xslo:value-of select="."/>
1657 <xslo:value-of select="normalize-space($raw_heading)"/>
1660 <xslo:template mode="index_data_field" match="marc:datafield[@tag='111']">
1661 <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">
1662 <xslo:variable name="raw_heading">
1663 <xslo:for-each select="marc:subfield">
1664 <xslo:if test="position() > 1">
1665 <xslo:value-of select="substring(' ', 1, 1)"/>
1667 <xslo:value-of select="."/>
1670 <xslo:value-of select="normalize-space($raw_heading)"/>
1673 <xslo:template mode="index_data_field" match="marc:datafield[@tag='130']">
1674 <z:index name="Title:w Title:p Title-uniform:w">
1675 <xslo:variable name="raw_heading">
1676 <xslo:for-each select="marc:subfield">
1677 <xslo:if test="position() > 1">
1678 <xslo:value-of select="substring(' ', 1, 1)"/>
1680 <xslo:value-of select="."/>
1683 <xslo:value-of select="normalize-space($raw_heading)"/>
1686 <xslo:template mode="index_data_field" match="marc:datafield[@tag='210']">
1687 <z:index name="Title:w Title:p Title-abbreviated:w">
1688 <xslo:variable name="raw_heading">
1689 <xslo:for-each select="marc:subfield">
1690 <xslo:if test="position() > 1">
1691 <xslo:value-of select="substring(' ', 1, 1)"/>
1693 <xslo:value-of select="."/>
1696 <xslo:value-of select="normalize-space($raw_heading)"/>
1699 <xslo:template mode="index_data_field" match="marc:datafield[@tag='211']">
1700 <z:index name="Title:w Title:p Title-abbreviated:w">
1701 <xslo:variable name="raw_heading">
1702 <xslo:for-each select="marc:subfield">
1703 <xslo:if test="position() > 1">
1704 <xslo:value-of select="substring(' ', 1, 1)"/>
1706 <xslo:value-of select="."/>
1709 <xslo:value-of select="normalize-space($raw_heading)"/>
1712 <xslo:template mode="index_data_field" match="marc:datafield[@tag='212']">
1713 <z:index name="Title:w Title:p Title-other-variant:w">
1714 <xslo:variable name="raw_heading">
1715 <xslo:for-each select="marc:subfield">
1716 <xslo:if test="position() > 1">
1717 <xslo:value-of select="substring(' ', 1, 1)"/>
1719 <xslo:value-of select="."/>
1722 <xslo:value-of select="normalize-space($raw_heading)"/>
1725 <xslo:template mode="index_data_field" match="marc:datafield[@tag='214']">
1726 <z:index name="Title:w Title:p Title-expanded:w">
1727 <xslo:variable name="raw_heading">
1728 <xslo:for-each select="marc:subfield">
1729 <xslo:if test="position() > 1">
1730 <xslo:value-of select="substring(' ', 1, 1)"/>
1732 <xslo:value-of select="."/>
1735 <xslo:value-of select="normalize-space($raw_heading)"/>
1738 <xslo:template mode="index_data_field" match="marc:datafield[@tag='222']">
1739 <z:index name="Title:w Title:p Title-key:w">
1740 <xslo:variable name="raw_heading">
1741 <xslo:for-each select="marc:subfield">
1742 <xslo:if test="position() > 1">
1743 <xslo:value-of select="substring(' ', 1, 1)"/>
1745 <xslo:value-of select="."/>
1748 <xslo:value-of select="normalize-space($raw_heading)"/>
1751 <xslo:template mode="index_data_field" match="marc:datafield[@tag='240']">
1752 <z:index name="Title:w Title:p Title-uniform:w">
1753 <xslo:variable name="raw_heading">
1754 <xslo:for-each select="marc:subfield">
1755 <xslo:if test="position() > 1">
1756 <xslo:value-of select="substring(' ', 1, 1)"/>
1758 <xslo:value-of select="."/>
1761 <xslo:value-of select="normalize-space($raw_heading)"/>
1764 <xslo:template mode="index_data_field" match="marc:datafield[@tag='243']">
1765 <z:index name="Title:w Title:p Title-collective:w">
1766 <xslo:variable name="raw_heading">
1767 <xslo:for-each select="marc:subfield">
1768 <xslo:if test="position() > 1">
1769 <xslo:value-of select="substring(' ', 1, 1)"/>
1771 <xslo:value-of select="."/>
1774 <xslo:value-of select="normalize-space($raw_heading)"/>
1777 <xslo:template mode="index_data_field" match="marc:datafield[@tag='245']">
1778 <z:index name="Title:w Title:p">
1779 <xslo:variable name="raw_heading">
1780 <xslo:for-each select="marc:subfield">
1781 <xslo:if test="position() > 1">
1782 <xslo:value-of select="substring(' ', 1, 1)"/>
1784 <xslo:value-of select="."/>
1787 <xslo:value-of select="normalize-space($raw_heading)"/>
1790 <xslo:template mode="index_data_field" match="marc:datafield[@tag='246']">
1791 <z:index name="Title:w Title:p Title-abbreviated:w Title-expanded:w Title-former:w">
1792 <xslo:variable name="raw_heading">
1793 <xslo:for-each select="marc:subfield">
1794 <xslo:if test="position() > 1">
1795 <xslo:value-of select="substring(' ', 1, 1)"/>
1797 <xslo:value-of select="."/>
1800 <xslo:value-of select="normalize-space($raw_heading)"/>
1803 <xslo:template mode="index_data_field" match="marc:datafield[@tag='247']">
1804 <z:index name="Title:w Title:p Title-former:w Title-other-variant:w Related-periodical:w">
1805 <xslo:variable name="raw_heading">
1806 <xslo:for-each select="marc:subfield">
1807 <xslo:if test="position() > 1">
1808 <xslo:value-of select="substring(' ', 1, 1)"/>
1810 <xslo:value-of select="."/>
1813 <xslo:value-of select="normalize-space($raw_heading)"/>
1816 <xslo:template mode="index_data_field" match="marc:datafield[@tag='260']">
1817 <z:index name="pl:w">
1818 <xslo:variable name="raw_heading">
1819 <xslo:for-each select="marc:subfield">
1820 <xslo:if test="position() > 1">
1821 <xslo:value-of select="substring(' ', 1, 1)"/>
1823 <xslo:value-of select="."/>
1826 <xslo:value-of select="normalize-space($raw_heading)"/>
1829 <xslo:template mode="index_data_field" match="marc:datafield[@tag='300']">
1830 <z:index name="Extent:w Extent:p">
1831 <xslo:variable name="raw_heading">
1832 <xslo:for-each select="marc:subfield">
1833 <xslo:if test="position() > 1">
1834 <xslo:value-of select="substring(' ', 1, 1)"/>
1836 <xslo:value-of select="."/>
1839 <xslo:value-of select="normalize-space($raw_heading)"/>
1842 <xslo:template mode="index_data_field" match="marc:datafield[@tag='400']">
1843 <z:index name="Author:w Author-name-personal:w Name:w Personal-name:w">
1844 <xslo:variable name="raw_heading">
1845 <xslo:for-each select="marc:subfield">
1846 <xslo:if test="position() > 1">
1847 <xslo:value-of select="substring(' ', 1, 1)"/>
1849 <xslo:value-of select="."/>
1852 <xslo:value-of select="normalize-space($raw_heading)"/>
1855 <xslo:template mode="index_data_field" match="marc:datafield[@tag='410']">
1856 <z:index name="Author:w Corporate-name:w">
1857 <xslo:variable name="raw_heading">
1858 <xslo:for-each select="marc:subfield">
1859 <xslo:if test="position() > 1">
1860 <xslo:value-of select="substring(' ', 1, 1)"/>
1862 <xslo:value-of select="."/>
1865 <xslo:value-of select="normalize-space($raw_heading)"/>
1868 <xslo:template mode="index_data_field" match="marc:datafield[@tag='411']">
1869 <z:index name="Author:w Conference-name:w">
1870 <xslo:variable name="raw_heading">
1871 <xslo:for-each select="marc:subfield">
1872 <xslo:if test="position() > 1">
1873 <xslo:value-of select="substring(' ', 1, 1)"/>
1875 <xslo:value-of select="."/>
1878 <xslo:value-of select="normalize-space($raw_heading)"/>
1881 <xslo:template mode="index_data_field" match="marc:datafield[@tag='440']">
1882 <z:index name="Title-series:w Title-series:p Title:w Title-series:w">
1883 <xslo:variable name="raw_heading">
1884 <xslo:for-each select="marc:subfield">
1885 <xslo:if test="position() > 1">
1886 <xslo:value-of select="substring(' ', 1, 1)"/>
1888 <xslo:value-of select="."/>
1891 <xslo:value-of select="normalize-space($raw_heading)"/>
1894 <xslo:template mode="index_data_field" match="marc:datafield[@tag='490']">
1895 <z:index name="Title:w Title-series:w">
1896 <xslo:variable name="raw_heading">
1897 <xslo:for-each select="marc:subfield">
1898 <xslo:if test="position() > 1">
1899 <xslo:value-of select="substring(' ', 1, 1)"/>
1901 <xslo:value-of select="."/>
1904 <xslo:value-of select="normalize-space($raw_heading)"/>
1907 <xslo:template mode="index_data_field" match="marc:datafield[@tag='500']">
1908 <z:index name="Note:w Note:p">
1909 <xslo:variable name="raw_heading">
1910 <xslo:for-each select="marc:subfield">
1911 <xslo:if test="position() > 1">
1912 <xslo:value-of select="substring(' ', 1, 1)"/>
1914 <xslo:value-of select="."/>
1917 <xslo:value-of select="normalize-space($raw_heading)"/>
1920 <xslo:template mode="index_data_field" match="marc:datafield[@tag='502']">
1921 <z:index name="Material-type:w">
1922 <xslo:variable name="raw_heading">
1923 <xslo:for-each select="marc:subfield">
1924 <xslo:if test="position() > 1">
1925 <xslo:value-of select="substring(' ', 1, 1)"/>
1927 <xslo:value-of select="."/>
1930 <xslo:value-of select="normalize-space($raw_heading)"/>
1933 <xslo:template mode="index_data_field" match="marc:datafield[@tag='505']">
1934 <z:index name="Note:w Note:p">
1935 <xslo:variable name="raw_heading">
1936 <xslo:for-each select="marc:subfield">
1937 <xslo:if test="position() > 1">
1938 <xslo:value-of select="substring(' ', 1, 1)"/>
1940 <xslo:value-of select="."/>
1943 <xslo:value-of select="normalize-space($raw_heading)"/>
1946 <xslo:template mode="index_data_field" match="marc:datafield[@tag='510']">
1947 <z:index name="Indexed-by:w">
1948 <xslo:variable name="raw_heading">
1949 <xslo:for-each select="marc:subfield">
1950 <xslo:if test="position() > 1">
1951 <xslo:value-of select="substring(' ', 1, 1)"/>
1953 <xslo:value-of select="."/>
1956 <xslo:value-of select="normalize-space($raw_heading)"/>
1959 <xslo:template mode="index_data_field" match="marc:datafield[@tag='520']">
1960 <z:index name="Abstract:w Abstract:p">
1961 <xslo:variable name="raw_heading">
1962 <xslo:for-each select="marc:subfield">
1963 <xslo:if test="position() > 1">
1964 <xslo:value-of select="substring(' ', 1, 1)"/>
1966 <xslo:value-of select="."/>
1969 <xslo:value-of select="normalize-space($raw_heading)"/>
1972 <xslo:template mode="index_data_field" match="marc:datafield[@tag='590']">
1973 <z:index name="Note:w Note:p">
1974 <xslo:variable name="raw_heading">
1975 <xslo:for-each select="marc:subfield">
1976 <xslo:if test="position() > 1">
1977 <xslo:value-of select="substring(' ', 1, 1)"/>
1979 <xslo:value-of select="."/>
1982 <xslo:value-of select="normalize-space($raw_heading)"/>
1985 <xslo:template mode="index_data_field" match="marc:datafield[@tag='600']">
1986 <z:index name="Name:w Personal-name:w Subject-name-personal:w Subject:w Subject:p">
1987 <xslo:variable name="raw_heading">
1988 <xslo:for-each select="marc:subfield">
1989 <xslo:if test="position() > 1">
1990 <xslo:value-of select="substring(' ', 1, 1)"/>
1992 <xslo:value-of select="."/>
1995 <xslo:value-of select="normalize-space($raw_heading)"/>
1998 <xslo:template mode="index_data_field" match="marc:datafield[@tag='610']">
1999 <z:index name="Name:w Subject:w Subject:p Corporate-name:w">
2000 <xslo:variable name="raw_heading">
2001 <xslo:for-each select="marc:subfield">
2002 <xslo:if test="position() > 1">
2003 <xslo:value-of select="substring(' ', 1, 1)"/>
2005 <xslo:value-of select="."/>
2008 <xslo:value-of select="normalize-space($raw_heading)"/>
2011 <xslo:template mode="index_data_field" match="marc:datafield[@tag='611']">
2012 <z:index name="Conference-name:w Name:w Subject:w Subject:p">
2013 <xslo:variable name="raw_heading">
2014 <xslo:for-each select="marc:subfield">
2015 <xslo:if test="position() > 1">
2016 <xslo:value-of select="substring(' ', 1, 1)"/>
2018 <xslo:value-of select="."/>
2021 <xslo:value-of select="normalize-space($raw_heading)"/>
2024 <xslo:template mode="index_data_field" match="marc:datafield[@tag='630']">
2025 <z:index name="Subject:w Subject:p">
2026 <xslo:variable name="raw_heading">
2027 <xslo:for-each select="marc:subfield">
2028 <xslo:if test="position() > 1">
2029 <xslo:value-of select="substring(' ', 1, 1)"/>
2031 <xslo:value-of select="."/>
2034 <xslo:value-of select="normalize-space($raw_heading)"/>
2037 <xslo:template mode="index_data_field" match="marc:datafield[@tag='650']">
2038 <z:index name="Subject:w Subject:p">
2039 <xslo:variable name="raw_heading">
2040 <xslo:for-each select="marc:subfield">
2041 <xslo:if test="position() > 1">
2042 <xslo:value-of select="substring(' ', 1, 1)"/>
2044 <xslo:value-of select="."/>
2047 <xslo:value-of select="normalize-space($raw_heading)"/>
2050 <xslo:template mode="index_data_field" match="marc:datafield[@tag='651']">
2051 <z:index name="Name-geographic:w Subject:w Subject:p">
2052 <xslo:variable name="raw_heading">
2053 <xslo:for-each select="marc:subfield">
2054 <xslo:if test="position() > 1">
2055 <xslo:value-of select="substring(' ', 1, 1)"/>
2057 <xslo:value-of select="."/>
2060 <xslo:value-of select="normalize-space($raw_heading)"/>
2063 <xslo:template mode="index_data_field" match="marc:datafield[@tag='653']">
2064 <z:index name="Subject:w Subject:p">
2065 <xslo:variable name="raw_heading">
2066 <xslo:for-each select="marc:subfield">
2067 <xslo:if test="position() > 1">
2068 <xslo:value-of select="substring(' ', 1, 1)"/>
2070 <xslo:value-of select="."/>
2073 <xslo:value-of select="normalize-space($raw_heading)"/>
2076 <xslo:template mode="index_data_field" match="marc:datafield[@tag='654']">
2077 <z:index name="Subject:w Subject:p">
2078 <xslo:variable name="raw_heading">
2079 <xslo:for-each select="marc:subfield">
2080 <xslo:if test="position() > 1">
2081 <xslo:value-of select="substring(' ', 1, 1)"/>
2083 <xslo:value-of select="."/>
2086 <xslo:value-of select="normalize-space($raw_heading)"/>
2089 <xslo:template mode="index_data_field" match="marc:datafield[@tag='655']">
2090 <z:index name="Subject:w Subject:p">
2091 <xslo:variable name="raw_heading">
2092 <xslo:for-each select="marc:subfield">
2093 <xslo:if test="position() > 1">
2094 <xslo:value-of select="substring(' ', 1, 1)"/>
2096 <xslo:value-of select="."/>
2099 <xslo:value-of select="normalize-space($raw_heading)"/>
2102 <xslo:template mode="index_data_field" match="marc:datafield[@tag='656']">
2103 <z:index name="Subject:w Subject:p">
2104 <xslo:variable name="raw_heading">
2105 <xslo:for-each select="marc:subfield">
2106 <xslo:if test="position() > 1">
2107 <xslo:value-of select="substring(' ', 1, 1)"/>
2109 <xslo:value-of select="."/>
2112 <xslo:value-of select="normalize-space($raw_heading)"/>
2115 <xslo:template mode="index_data_field" match="marc:datafield[@tag='657']">
2116 <z:index name="Subject:w Subject:p">
2117 <xslo:variable name="raw_heading">
2118 <xslo:for-each select="marc:subfield">
2119 <xslo:if test="position() > 1">
2120 <xslo:value-of select="substring(' ', 1, 1)"/>
2122 <xslo:value-of select="."/>
2125 <xslo:value-of select="normalize-space($raw_heading)"/>
2128 <xslo:template mode="index_data_field" match="marc:datafield[@tag='658']">
2129 <z:index name="Subject:w Subject:p">
2130 <xslo:variable name="raw_heading">
2131 <xslo:for-each select="marc:subfield">
2132 <xslo:if test="position() > 1">
2133 <xslo:value-of select="substring(' ', 1, 1)"/>
2135 <xslo:value-of select="."/>
2138 <xslo:value-of select="normalize-space($raw_heading)"/>
2141 <xslo:template mode="index_data_field" match="marc:datafield[@tag='690']">
2142 <z:index name="Subject:w Subject:p">
2143 <xslo:variable name="raw_heading">
2144 <xslo:for-each select="marc:subfield">
2145 <xslo:if test="position() > 1">
2146 <xslo:value-of select="substring(' ', 1, 1)"/>
2148 <xslo:value-of select="."/>
2151 <xslo:value-of select="normalize-space($raw_heading)"/>
2154 <xslo:template mode="index_data_field" match="marc:datafield[@tag='700']">
2155 <z:index name="Author:w Author:p Author-name-personal:w Name:w Editor:w Personal-name:w">
2156 <xslo:variable name="raw_heading">
2157 <xslo:for-each select="marc:subfield">
2158 <xslo:if test="position() > 1">
2159 <xslo:value-of select="substring(' ', 1, 1)"/>
2161 <xslo:value-of select="."/>
2164 <xslo:value-of select="normalize-space($raw_heading)"/>
2167 <xslo:template mode="index_data_field" match="marc:datafield[@tag='710']">
2168 <z:index name="Author:w Author:p Corporate-name:w Name:w">
2169 <xslo:variable name="raw_heading">
2170 <xslo:for-each select="marc:subfield">
2171 <xslo:if test="position() > 1">
2172 <xslo:value-of select="substring(' ', 1, 1)"/>
2174 <xslo:value-of select="."/>
2177 <xslo:value-of select="normalize-space($raw_heading)"/>
2180 <xslo:template mode="index_data_field" match="marc:datafield[@tag='711']">
2181 <z:index name="Author:w Author:p Author-name-corporate:w Name:w Conference-name:w">
2182 <xslo:variable name="raw_heading">
2183 <xslo:for-each select="marc:subfield">
2184 <xslo:if test="position() > 1">
2185 <xslo:value-of select="substring(' ', 1, 1)"/>
2187 <xslo:value-of select="."/>
2190 <xslo:value-of select="normalize-space($raw_heading)"/>
2193 <xslo:template mode="index_data_field" match="marc:datafield[@tag='730']">
2194 <z:index name="Title:w Title:p Title-uniform:w">
2195 <xslo:variable name="raw_heading">
2196 <xslo:for-each select="marc:subfield">
2197 <xslo:if test="position() > 1">
2198 <xslo:value-of select="substring(' ', 1, 1)"/>
2200 <xslo:value-of select="."/>
2203 <xslo:value-of select="normalize-space($raw_heading)"/>
2206 <xslo:template mode="index_data_field" match="marc:datafield[@tag='740']">
2207 <z:index name="Title:w Title:p Title-other-variant:w">
2208 <xslo:variable name="raw_heading">
2209 <xslo:for-each select="marc:subfield">
2210 <xslo:if test="position() > 1">
2211 <xslo:value-of select="substring(' ', 1, 1)"/>
2213 <xslo:value-of select="."/>
2216 <xslo:value-of select="normalize-space($raw_heading)"/>
2219 <xslo:template mode="index_data_field" match="marc:datafield[@tag='751']">
2220 <z:index name="Name-geographic:w">
2221 <xslo:variable name="raw_heading">
2222 <xslo:for-each select="marc:subfield">
2223 <xslo:if test="position() > 1">
2224 <xslo:value-of select="substring(' ', 1, 1)"/>
2226 <xslo:value-of select="."/>
2229 <xslo:value-of select="normalize-space($raw_heading)"/>
2232 <xslo:template mode="index_data_field" match="marc:datafield[@tag='780']">
2233 <z:index name="Title:w Title:p Title-former:w Related-periodical:w">
2234 <xslo:variable name="raw_heading">
2235 <xslo:for-each select="marc:subfield">
2236 <xslo:if test="position() > 1">
2237 <xslo:value-of select="substring(' ', 1, 1)"/>
2239 <xslo:value-of select="."/>
2242 <xslo:value-of select="normalize-space($raw_heading)"/>
2245 <xslo:template mode="index_data_field" match="marc:datafield[@tag='785']">
2246 <z:index name="Title:w Title:p Title-later:w Related-periodical:w">
2247 <xslo:variable name="raw_heading">
2248 <xslo:for-each select="marc:subfield">
2249 <xslo:if test="position() > 1">
2250 <xslo:value-of select="substring(' ', 1, 1)"/>
2252 <xslo:value-of select="."/>
2255 <xslo:value-of select="normalize-space($raw_heading)"/>
2258 <xslo:template mode="index_data_field" match="marc:datafield[@tag='800']">
2259 <z:index name="Author:w Author-name-personal:w Name:w Personal-name:w">
2260 <xslo:variable name="raw_heading">
2261 <xslo:for-each select="marc:subfield">
2262 <xslo:if test="position() > 1">
2263 <xslo:value-of select="substring(' ', 1, 1)"/>
2265 <xslo:value-of select="."/>
2268 <xslo:value-of select="normalize-space($raw_heading)"/>
2271 <xslo:template mode="index_data_field" match="marc:datafield[@tag='810']">
2272 <z:index name="Author:w Corporate-name:w Author-name-corporate:w Name:w">
2273 <xslo:variable name="raw_heading">
2274 <xslo:for-each select="marc:subfield">
2275 <xslo:if test="position() > 1">
2276 <xslo:value-of select="substring(' ', 1, 1)"/>
2278 <xslo:value-of select="."/>
2281 <xslo:value-of select="normalize-space($raw_heading)"/>
2284 <xslo:template mode="index_data_field" match="marc:datafield[@tag='811']">
2285 <z:index name="Author:w Author-name-corporate:w Name:w Conference-name:w">
2286 <xslo:variable name="raw_heading">
2287 <xslo:for-each select="marc:subfield">
2288 <xslo:if test="position() > 1">
2289 <xslo:value-of select="substring(' ', 1, 1)"/>
2291 <xslo:value-of select="."/>
2294 <xslo:value-of select="normalize-space($raw_heading)"/>
2297 <xslo:template mode="index_data_field" match="marc:datafield[@tag='830']">
2298 <z:index name="Title:w Title-series:w Title-series:p">
2299 <xslo:variable name="raw_heading">
2300 <xslo:for-each select="marc:subfield">
2301 <xslo:if test="position() > 1">
2302 <xslo:value-of select="substring(' ', 1, 1)"/>
2304 <xslo:value-of select="."/>
2307 <xslo:value-of select="normalize-space($raw_heading)"/>
2310 <xslo:template mode="index_data_field" match="marc:datafield[@tag='840']">
2311 <z:index name="Title:w Title-series:w Title-series:p">
2312 <xslo:variable name="raw_heading">
2313 <xslo:for-each select="marc:subfield">
2314 <xslo:if test="position() > 1">
2315 <xslo:value-of select="substring(' ', 1, 1)"/>
2317 <xslo:value-of select="."/>
2320 <xslo:value-of select="normalize-space($raw_heading)"/>
2323 <xslo:template match="*">
2324 <z:index name="Any:w Any:p">
2325 <xslo:value-of select="."/>
2328 <xslo:template name="chopPunctuation">
2329 <xslo:param name="chopString"/>
2330 <xslo:variable name="length" select="string-length($chopString)"/>
2332 <xslo:when test="$length=0"/>
2333 <xslo:when test="contains('-,.:=;!%/', substring($chopString,$length,1))">
2334 <xslo:call-template name="chopPunctuation">
2335 <xslo:with-param name="chopString" select="substring($chopString,1,$length - 1)"/>
2336 </xslo:call-template>
2338 <xslo:when test="not($chopString)"/>
2340 <xslo:value-of select="$chopString"/>