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"/>
44 <xslo:template match="marc:leader">
45 <z:index name="llength:w">
46 <xslo:value-of select="substring(., 1, 5)"/>
48 <z:index name="rtype:w">
49 <xslo:value-of select="substring(., 7, 1)"/>
51 <z:index name="Bib-level:w">
52 <xslo:value-of select="substring(., 8, 1)"/>
55 <xslo:template match="marc:controlfield[@tag='001']">
56 <z:index name="Control-number:w">
57 <xslo:value-of select="."/>
60 <xslo:template match="marc:controlfield[@tag='005']">
61 <z:index name="Date/time-last-modified:w">
62 <xslo:value-of select="."/>
65 <xslo:template match="marc:controlfield[@tag='007']">
66 <z:index name="Microform-generation:n">
67 <xslo:value-of select="substring(., 12, 1)"/>
69 <z:index name="Material-type:w">
70 <xslo:value-of select="."/>
72 <z:index name="ff7-00:w">
73 <xslo:value-of select="substring(., 1, 1)"/>
75 <z:index name="ff7-01:w">
76 <xslo:value-of select="substring(., 2, 1)"/>
78 <z:index name="ff7-02:w">
79 <xslo:value-of select="substring(., 3, 1)"/>
81 <z:index name="ff7-01-02:w">
82 <xslo:value-of select="substring(., 1, 2)"/>
85 <xslo:template match="marc:controlfield[@tag='008']">
86 <z:index name="date-entered-on-file:n">
87 <xslo:value-of select="substring(., 1, 5)"/>
89 <z:index name="date-entered-on-file:s">
90 <xslo:value-of select="substring(., 1, 5)"/>
92 <z:index name="pubdate:w">
93 <xslo:value-of select="substring(., 8, 4)"/>
95 <z:index name="pubdate:n">
96 <xslo:value-of select="substring(., 8, 4)"/>
98 <z:index name="pubdate:y">
99 <xslo:value-of select="substring(., 8, 4)"/>
101 <z:index name="pubdate:s">
102 <xslo:value-of select="substring(., 8, 4)"/>
104 <z:index name="pl:w">
105 <xslo:value-of select="substring(., 16, 3)"/>
107 <z:index name="ta:w">
108 <xslo:value-of select="substring(., 23, 1)"/>
110 <z:index name="ff8-23:w">
111 <xslo:value-of select="substring(., 24, 1)"/>
113 <z:index name="ff8-29:w">
114 <xslo:value-of select="substring(., 30, 1)"/>
116 <z:index name="lf:w">
117 <xslo:value-of select="substring(., 34, 1)"/>
119 <z:index name="bio:w">
120 <xslo:value-of select="substring(., 35, 1)"/>
122 <z:index name="ln:n">
123 <xslo:value-of select="substring(., 36, 3)"/>
125 <z:index name="ctype:w">
126 <xslo:value-of select="substring(., 25, 4)"/>
128 <z:index name="Record-source:w">
129 <xslo:value-of select="substring(., 40, 0)"/>
132 <xslo:template mode="index_subfields" match="marc:datafield[@tag='020']">
133 <xslo:for-each select="marc:subfield">
134 <xslo:if test="contains('a', @code)">
135 <z:index name="ISBN:w Identifier-standard:w">
136 <xslo:value-of select="."/>
141 <xslo:template mode="index_subfields" match="marc:datafield[@tag='022']">
142 <xslo:for-each select="marc:subfield">
143 <xslo:if test="contains('a', @code)">
144 <z:index name="ISSN:w Identifier-standard:w">
145 <xslo:value-of select="."/>
150 <xslo:template mode="index_subfields" match="marc:datafield[@tag='024']">
151 <xslo:for-each select="marc:subfield">
152 <xslo:if test="contains('a', @code)">
153 <z:index name="Identifier-other:w">
154 <xslo:value-of select="."/>
159 <xslo:template mode="index_subfields" match="marc:datafield[@tag='041']">
160 <xslo:for-each select="marc:subfield">
161 <xslo:if test="contains('a', @code)">
162 <z:index name="ln:w">
163 <xslo:value-of select="."/>
167 <xslo:for-each select="marc:subfield">
168 <xslo:if test="contains('d', @code)">
169 <z:index name="ln:w">
170 <xslo:value-of select="."/>
174 <xslo:for-each select="marc:subfield">
175 <xslo:if test="contains('e', @code)">
176 <z:index name="ln:w">
177 <xslo:value-of select="."/>
181 <xslo:for-each select="marc:subfield">
182 <xslo:if test="contains('j', @code)">
183 <z:index name="ln:w">
184 <xslo:value-of select="."/>
189 <xslo:template mode="index_subfields" match="marc:datafield[@tag='050']">
190 <xslo:for-each select="marc:subfield">
191 <xslo:if test="contains('b', @code)">
192 <z:index name="LC-call-number:w LC-call-number:p LC-call-number:s">
193 <xslo:value-of select="."/>
198 <xslo:template mode="index_subfields" match="marc:datafield[@tag='100']">
199 <xslo:for-each select="marc:subfield">
200 <xslo:if test="contains('9', @code)">
201 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
202 <xslo:value-of select="."/>
206 <xslo:for-each select="marc:subfield">
207 <xslo:if test="contains('a', @code)">
208 <z:index name="Author:w Author:p Author:s Editor:w Author-personal-bibliography:w Author-personal-bibliography:p Author-personal-bibliography:s">
209 <xslo:value-of select="."/>
214 <xslo:template mode="index_subfields" match="marc:datafield[@tag='110']">
215 <xslo:for-each select="marc:subfield">
216 <xslo:if test="contains('9', @code)">
217 <z:index name="Koha-Auth-Number:w">
218 <xslo:value-of select="."/>
223 <xslo:template mode="index_subfields" match="marc:datafield[@tag='111']">
224 <xslo:for-each select="marc:subfield">
225 <xslo:if test="contains('9', @code)">
226 <z:index name="Koha-Auth-Number:w">
227 <xslo:value-of select="."/>
232 <xslo:template mode="index_subfields" match="marc:datafield[@tag='130']">
233 <xslo:for-each select="marc:subfield">
234 <xslo:if test="contains('n', @code)">
235 <z:index name="Thematic-number:w">
236 <xslo:value-of select="."/>
240 <xslo:for-each select="marc:subfield">
241 <xslo:if test="contains('r', @code)">
242 <z:index name="Music-key:w">
243 <xslo:value-of select="."/>
247 <xslo:for-each select="marc:subfield">
248 <xslo:if test="contains('9', @code)">
249 <z:index name="Koha-Auth-Number:w">
250 <xslo:value-of select="."/>
255 <xslo:template mode="index_subfields" match="marc:datafield[@tag='240']">
256 <xslo:for-each select="marc:subfield">
257 <xslo:if test="contains('r', @code)">
258 <z:index name="Music-key:w">
259 <xslo:value-of select="."/>
263 <xslo:for-each select="marc:subfield">
264 <xslo:if test="contains('n', @code)">
265 <z:index name="Thematic-number:w">
266 <xslo:value-of select="."/>
271 <xslo:template mode="index_subfields" match="marc:datafield[@tag='243']">
272 <xslo:for-each select="marc:subfield">
273 <xslo:if test="contains('n', @code)">
274 <z:index name="Thematic-number:w">
275 <xslo:value-of select="."/>
279 <xslo:for-each select="marc:subfield">
280 <xslo:if test="contains('r', @code)">
281 <z:index name="Music-key:w">
282 <xslo:value-of select="."/>
287 <xslo:template mode="index_subfields" match="marc:datafield[@tag='245']">
288 <xslo:for-each select="marc:subfield">
289 <xslo:if test="contains('a', @code)">
290 <z:index name="Title-cover:w Title-cover:p Title-cover:s Title:w Title:p Title:s">
291 <xslo:value-of select="."/>
295 <xslo:for-each select="marc:subfield">
296 <xslo:if test="contains('c', @code)">
297 <z:index name="Author:w Author-in-order:w Author-in-order:p Author-in-order:s">
298 <xslo:value-of select="."/>
302 <xslo:for-each select="marc:subfield">
303 <xslo:if test="contains('9', @code)">
304 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
305 <xslo:value-of select="."/>
310 <xslo:template mode="index_subfields" match="marc:datafield[@tag='260']">
311 <xslo:for-each select="marc:subfield">
312 <xslo:if test="contains('a', @code)">
313 <z:index name="pl:w pl:p">
314 <xslo:value-of select="."/>
318 <xslo:for-each select="marc:subfield">
319 <xslo:if test="contains('b', @code)">
320 <z:index name="Publisher:w Publisher:p">
321 <xslo:value-of select="."/>
325 <xslo:for-each select="marc:subfield">
326 <xslo:if test="contains('c', @code)">
327 <z:index name="copydate:w copydate:s">
328 <xslo:value-of select="."/>
333 <xslo:template mode="index_subfields" match="marc:datafield[@tag='400']">
334 <xslo:for-each select="marc:subfield">
335 <xslo:if test="contains('a', @code)">
336 <z:index name="Name-and-title:w">
337 <xslo:value-of select="."/>
341 <xslo:for-each select="marc:subfield">
342 <xslo:if test="contains('t', @code)">
343 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w">
344 <xslo:value-of select="."/>
348 <xslo:for-each select="marc:subfield">
349 <xslo:if test="contains('9', @code)">
350 <z:index name="Koha-Auth-Number:w">
351 <xslo:value-of select="."/>
356 <xslo:template mode="index_subfields" match="marc:datafield[@tag='410']">
357 <xslo:for-each select="marc:subfield">
358 <xslo:if test="contains('a', @code)">
359 <z:index name="Name-and-title:w">
360 <xslo:value-of select="."/>
364 <xslo:for-each select="marc:subfield">
365 <xslo:if test="contains('t', @code)">
366 <z:index name="Author-title:w Title:w Title-series:w">
367 <xslo:value-of select="."/>
371 <xslo:for-each select="marc:subfield">
372 <xslo:if test="contains('9', @code)">
373 <z:index name="Koha-Auth-Number:w">
374 <xslo:value-of select="."/>
379 <xslo:template mode="index_subfields" match="marc:datafield[@tag='411']">
380 <xslo:for-each select="marc:subfield">
381 <xslo:if test="contains('a', @code)">
382 <z:index name="Name-and-title:w">
383 <xslo:value-of select="."/>
387 <xslo:for-each select="marc:subfield">
388 <xslo:if test="contains('t', @code)">
389 <z:index name="Author-title:w Title-series:w">
390 <xslo:value-of select="."/>
395 <xslo:template mode="index_subfields" match="marc:datafield[@tag='440']">
396 <xslo:for-each select="marc:subfield">
397 <xslo:if test="contains('a', @code)">
398 <z:index name="Title-series:w Title-series:p">
399 <xslo:value-of select="."/>
403 <xslo:for-each select="marc:subfield">
404 <xslo:if test="contains('9', @code)">
405 <z:index name="Koha-Auth-Number:w">
406 <xslo:value-of select="."/>
411 <xslo:template mode="index_subfields" match="marc:datafield[@tag='490']">
412 <xslo:for-each select="marc:subfield">
413 <xslo:if test="contains('a', @code)">
414 <z:index name="Title-series:w Title-series:p">
415 <xslo:value-of select="."/>
419 <xslo:for-each select="marc:subfield">
420 <xslo:if test="contains('9', @code)">
421 <z:index name="Koha-Auth-Number:w">
422 <xslo:value-of select="."/>
427 <xslo:template mode="index_subfields" match="marc:datafield[@tag='505']">
428 <xslo:for-each select="marc:subfield">
429 <xslo:if test="contains('r', @code)">
430 <z:index name="Author:w">
431 <xslo:value-of select="."/>
435 <xslo:for-each select="marc:subfield">
436 <xslo:if test="contains('t', @code)">
437 <z:index name="Title:w">
438 <xslo:value-of select="."/>
443 <xslo:template mode="index_subfields" match="marc:datafield[@tag='521']">
444 <xslo:for-each select="marc:subfield">
445 <xslo:if test="contains('a', @code)">
446 <z:index name="lex:n">
447 <xslo:value-of select="."/>
452 <xslo:template mode="index_subfields" match="marc:datafield[@tag='526']">
453 <xslo:for-each select="marc:subfield">
454 <xslo:if test="contains('c', @code)">
455 <z:index name="arl:w arl:n">
456 <xslo:value-of select="."/>
460 <xslo:for-each select="marc:subfield">
461 <xslo:if test="contains('d', @code)">
462 <z:index name="arp:w arp:n">
463 <xslo:value-of select="."/>
468 <xslo:template mode="index_subfields" match="marc:datafield[@tag='600']">
469 <xslo:for-each select="marc:subfield">
470 <xslo:if test="contains('a', @code)">
471 <z:index name="Name-and-title:w Name:w Personal-name:w Subject-name-personal:w Subject:w Subject:p">
472 <xslo:value-of select="."/>
476 <xslo:for-each select="marc:subfield">
477 <xslo:if test="contains('t', @code)">
478 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
479 <xslo:value-of select="."/>
483 <xslo:for-each select="marc:subfield">
484 <xslo:if test="contains('9', @code)">
485 <z:index name="Koha-Auth-Number:w">
486 <xslo:value-of select="."/>
491 <xslo:template mode="index_subfields" match="marc:datafield[@tag='610']">
492 <xslo:for-each select="marc:subfield">
493 <xslo:if test="contains('a', @code)">
494 <z:index name="Name-and-title:w Subject:w Subject:p">
495 <xslo:value-of select="."/>
499 <xslo:for-each select="marc:subfield">
500 <xslo:if test="contains('t', @code)">
501 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
502 <xslo:value-of select="."/>
506 <xslo:for-each select="marc:subfield">
507 <xslo:if test="contains('9', @code)">
508 <z:index name="Koha-Auth-Number:w">
509 <xslo:value-of select="."/>
514 <xslo:template mode="index_subfields" match="marc:datafield[@tag='611']">
515 <xslo:for-each select="marc:subfield">
516 <xslo:if test="contains('a', @code)">
517 <z:index name="Name-and-title:w Subject:w Subject:p">
518 <xslo:value-of select="."/>
522 <xslo:for-each select="marc:subfield">
523 <xslo:if test="contains('t', @code)">
524 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
525 <xslo:value-of select="."/>
529 <xslo:for-each select="marc:subfield">
530 <xslo:if test="contains('9', @code)">
531 <z:index name="Koha-Auth-Number:w">
532 <xslo:value-of select="."/>
537 <xslo:template mode="index_subfields" match="marc:datafield[@tag='630']">
538 <xslo:for-each select="marc:subfield">
539 <xslo:if test="contains('n', @code)">
540 <z:index name="Thematic-number:w Subject:w Subject:p">
541 <xslo:value-of select="."/>
545 <xslo:for-each select="marc:subfield">
546 <xslo:if test="contains('r', @code)">
547 <z:index name="Music-key:w Subject:w Subject:p">
548 <xslo:value-of select="."/>
552 <xslo:for-each select="marc:subfield">
553 <xslo:if test="contains('9', @code)">
554 <z:index name="Koha-Auth-Number:w">
555 <xslo:value-of select="."/>
560 <xslo:template mode="index_subfields" match="marc:datafield[@tag='650']">
561 <xslo:for-each select="marc:subfield">
562 <xslo:if test="contains('9', @code)">
563 <z:index name="Koha-Auth-Number:w">
564 <xslo:value-of select="."/>
569 <xslo:template mode="index_subfields" match="marc:datafield[@tag='651']">
570 <xslo:for-each select="marc:subfield">
571 <xslo:if test="contains('9', @code)">
572 <z:index name="Koha-Auth-Number:w">
573 <xslo:value-of select="."/>
578 <xslo:template mode="index_subfields" match="marc:datafield[@tag='652']">
579 <xslo:for-each select="marc:subfield">
580 <xslo:if test="contains('9', @code)">
581 <z:index name="Koha-Auth-Number:w">
582 <xslo:value-of select="."/>
587 <xslo:template mode="index_subfields" match="marc:datafield[@tag='653']">
588 <xslo:for-each select="marc:subfield">
589 <xslo:if test="contains('9', @code)">
590 <z:index name="Koha-Auth-Number:w">
591 <xslo:value-of select="."/>
596 <xslo:template mode="index_subfields" match="marc:datafield[@tag='654']">
597 <xslo:for-each select="marc:subfield">
598 <xslo:if test="contains('9', @code)">
599 <z:index name="Koha-Auth-Number:w">
600 <xslo:value-of select="."/>
605 <xslo:template mode="index_subfields" match="marc:datafield[@tag='655']">
606 <xslo:for-each select="marc:subfield">
607 <xslo:if test="contains('9', @code)">
608 <z:index name="Koha-Auth-Number:w">
609 <xslo:value-of select="."/>
614 <xslo:template mode="index_subfields" match="marc:datafield[@tag='656']">
615 <xslo:for-each select="marc:subfield">
616 <xslo:if test="contains('9', @code)">
617 <z:index name="Koha-Auth-Number:w">
618 <xslo:value-of select="."/>
623 <xslo:template mode="index_subfields" match="marc:datafield[@tag='657']">
624 <xslo:for-each select="marc:subfield">
625 <xslo:if test="contains('9', @code)">
626 <z:index name="Koha-Auth-Number:w">
627 <xslo:value-of select="."/>
632 <xslo:template mode="index_subfields" match="marc:datafield[@tag='658']">
633 <xslo:for-each select="marc:subfield">
634 <xslo:if test="contains('a', @code)">
635 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
636 <xslo:value-of select="."/>
640 <xslo:for-each select="marc:subfield">
641 <xslo:if test="contains('b', @code)">
642 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
643 <xslo:value-of select="."/>
647 <xslo:for-each select="marc:subfield">
648 <xslo:if test="contains('c', @code)">
649 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
650 <xslo:value-of select="."/>
655 <xslo:template mode="index_subfields" match="marc:datafield[@tag='690']">
656 <xslo:for-each select="marc:subfield">
657 <xslo:if test="contains('9', @code)">
658 <z:index name="Koha-Auth-Number:w">
659 <xslo:value-of select="."/>
664 <xslo:template mode="index_subfields" match="marc:datafield[@tag='700']">
665 <xslo:for-each select="marc:subfield">
666 <xslo:if test="contains('9', @code)">
667 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
668 <xslo:value-of select="."/>
672 <xslo:for-each select="marc:subfield">
673 <xslo:if test="contains('a', @code)">
674 <z:index name="Author:w Author:p">
675 <xslo:value-of select="."/>
679 <xslo:for-each select="marc:subfield">
680 <xslo:if test="contains('n', @code)">
681 <z:index name="Thematic-number:w">
682 <xslo:value-of select="."/>
686 <xslo:for-each select="marc:subfield">
687 <xslo:if test="contains('r', @code)">
688 <z:index name="Music-key:w">
689 <xslo:value-of select="."/>
693 <xslo:for-each select="marc:subfield">
694 <xslo:if test="contains('t', @code)">
695 <z:index name="Author-title:w Name-and-title:w Title:w Title-uniform:w">
696 <xslo:value-of select="."/>
701 <xslo:template mode="index_subfields" match="marc:datafield[@tag='710']">
702 <xslo:for-each select="marc:subfield">
703 <xslo:if test="contains('t', @code)">
704 <z:index name="Author-title:w Name-and-title:w Title:w Title-uniform:w">
705 <xslo:value-of select="."/>
709 <xslo:for-each select="marc:subfield">
710 <xslo:if test="contains('a', @code)">
711 <z:index name="Name-and-title:w">
712 <xslo:value-of select="."/>
716 <xslo:for-each select="marc:subfield">
717 <xslo:if test="contains('9', @code)">
718 <z:index name="Koha-Auth-Number:w">
719 <xslo:value-of select="."/>
724 <xslo:template mode="index_subfields" match="marc:datafield[@tag='711']">
725 <xslo:for-each select="marc:subfield">
726 <xslo:if test="contains('a', @code)">
727 <z:index name="Name-and-title:w">
728 <xslo:value-of select="."/>
732 <xslo:for-each select="marc:subfield">
733 <xslo:if test="contains('t', @code)">
734 <z:index name="Author-title:w Title:w Title-uniform:w">
735 <xslo:value-of select="."/>
739 <xslo:for-each select="marc:subfield">
740 <xslo:if test="contains('9', @code)">
741 <z:index name="Koha-Auth-Number:w">
742 <xslo:value-of select="."/>
747 <xslo:template mode="index_subfields" match="marc:datafield[@tag='730']">
748 <xslo:for-each select="marc:subfield">
749 <xslo:if test="contains('n', @code)">
750 <z:index name="Thematic-number:w">
751 <xslo:value-of select="."/>
755 <xslo:for-each select="marc:subfield">
756 <xslo:if test="contains('r', @code)">
757 <z:index name="Music-key:w">
758 <xslo:value-of select="."/>
762 <xslo:for-each select="marc:subfield">
763 <xslo:if test="contains('9', @code)">
764 <z:index name="Koha-Auth-Number:w">
765 <xslo:value-of select="."/>
770 <xslo:template mode="index_subfields" match="marc:datafield[@tag='751']">
771 <xslo:for-each select="marc:subfield">
772 <xslo:if test="contains('a', @code)">
773 <z:index name="Name-geographic:w">
774 <xslo:value-of select="."/>
778 <xslo:for-each select="marc:subfield">
779 <xslo:if test="contains('9', @code)">
780 <z:index name="Koha-Auth-Number:w">
781 <xslo:value-of select="."/>
786 <xslo:template mode="index_subfields" match="marc:datafield[@tag='770']">
787 <xslo:for-each select="marc:subfield">
788 <xslo:if test="contains('w', @code)">
789 <z:index name="Record-control-number:w">
790 <xslo:value-of select="."/>
795 <xslo:template mode="index_subfields" match="marc:datafield[@tag='772']">
796 <xslo:for-each select="marc:subfield">
797 <xslo:if test="contains('w', @code)">
798 <z:index name="Record-control-number:w">
799 <xslo:value-of select="."/>
804 <xslo:template mode="index_subfields" match="marc:datafield[@tag='773']">
805 <xslo:for-each select="marc:subfield">
806 <xslo:if test="contains('a', @code)">
807 <z:index name="Host-item:w">
808 <xslo:value-of select="."/>
812 <xslo:for-each select="marc:subfield">
813 <xslo:if test="contains('9', @code)">
814 <z:index name="Host-Item-Number:w">
815 <xslo:value-of select="."/>
819 <xslo:for-each select="marc:subfield">
820 <xslo:if test="contains('t', @code)">
821 <z:index name="Host-item:w">
822 <xslo:value-of select="."/>
826 <xslo:for-each select="marc:subfield">
827 <xslo:if test="contains('w', @code)">
828 <z:index name="Record-control-number:w">
829 <xslo:value-of select="."/>
834 <xslo:template mode="index_subfields" match="marc:datafield[@tag='774']">
835 <xslo:for-each select="marc:subfield">
836 <xslo:if test="contains('w', @code)">
837 <z:index name="Record-control-number:w">
838 <xslo:value-of select="."/>
843 <xslo:template mode="index_subfields" match="marc:datafield[@tag='775']">
844 <xslo:for-each select="marc:subfield">
845 <xslo:if test="contains('w', @code)">
846 <z:index name="Record-control-number:w">
847 <xslo:value-of select="."/>
852 <xslo:template mode="index_subfields" match="marc:datafield[@tag='776']">
853 <xslo:for-each select="marc:subfield">
854 <xslo:if test="contains('w', @code)">
855 <z:index name="Record-control-number:w">
856 <xslo:value-of select="."/>
861 <xslo:template mode="index_subfields" match="marc:datafield[@tag='777']">
862 <xslo:for-each select="marc:subfield">
863 <xslo:if test="contains('w', @code)">
864 <z:index name="Record-control-number:w">
865 <xslo:value-of select="."/>
870 <xslo:template mode="index_subfields" match="marc:datafield[@tag='780']">
871 <xslo:for-each select="marc:subfield">
872 <xslo:if test="contains('t', @code)">
873 <z:index name="Title:w">
874 <xslo:value-of select="."/>
878 <xslo:for-each select="marc:subfield">
879 <xslo:if test="contains('w', @code)">
880 <z:index name="Record-control-number:w">
881 <xslo:value-of select="."/>
886 <xslo:template mode="index_subfields" match="marc:datafield[@tag='785']">
887 <xslo:for-each select="marc:subfield">
888 <xslo:if test="contains('w', @code)">
889 <z:index name="Record-control-number:w">
890 <xslo:value-of select="."/>
895 <xslo:template mode="index_subfields" match="marc:datafield[@tag='787']">
896 <xslo:for-each select="marc:subfield">
897 <xslo:if test="contains('w', @code)">
898 <z:index name="Record-control-number:w">
899 <xslo:value-of select="."/>
904 <xslo:template mode="index_subfields" match="marc:datafield[@tag='800']">
905 <xslo:for-each select="marc:subfield">
906 <xslo:if test="contains('a', @code)">
907 <z:index name="Name-and-title:w Title-series:w Title-series:p">
908 <xslo:value-of select="."/>
912 <xslo:for-each select="marc:subfield">
913 <xslo:if test="contains('t', @code)">
914 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
915 <xslo:value-of select="."/>
919 <xslo:for-each select="marc:subfield">
920 <xslo:if test="contains('9', @code)">
921 <z:index name="Koha-Auth-Number:w">
922 <xslo:value-of select="."/>
926 <xslo:for-each select="marc:subfield">
927 <xslo:if test="contains('w', @code)">
928 <z:index name="Record-control-number:w">
929 <xslo:value-of select="."/>
934 <xslo:template mode="index_subfields" match="marc:datafield[@tag='810']">
935 <xslo:for-each select="marc:subfield">
936 <xslo:if test="contains('a', @code)">
937 <z:index name="Name-and-title:w Title-series:w Title-series:p">
938 <xslo:value-of select="."/>
942 <xslo:for-each select="marc:subfield">
943 <xslo:if test="contains('t', @code)">
944 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
945 <xslo:value-of select="."/>
949 <xslo:for-each select="marc:subfield">
950 <xslo:if test="contains('w', @code)">
951 <z:index name="Record-control-number:w">
952 <xslo:value-of select="."/>
956 <xslo:for-each select="marc:subfield">
957 <xslo:if test="contains('9', @code)">
958 <z:index name="Koha-Auth-Number:w">
959 <xslo:value-of select="."/>
964 <xslo:template mode="index_subfields" match="marc:datafield[@tag='811']">
965 <xslo:for-each select="marc:subfield">
966 <xslo:if test="contains('a', @code)">
967 <z:index name="Name-and-title:w Title-series:w Title-series:p">
968 <xslo:value-of select="."/>
972 <xslo:for-each select="marc:subfield">
973 <xslo:if test="contains('9', @code)">
974 <z:index name="Koha-Auth-Number:w">
975 <xslo:value-of select="."/>
979 <xslo:for-each select="marc:subfield">
980 <xslo:if test="contains('t', @code)">
981 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
982 <xslo:value-of select="."/>
986 <xslo:for-each select="marc:subfield">
987 <xslo:if test="contains('w', @code)">
988 <z:index name="Record-control-number:w">
989 <xslo:value-of select="."/>
994 <xslo:template mode="index_subfields" match="marc:datafield[@tag='830']">
995 <xslo:for-each select="marc:subfield">
996 <xslo:if test="contains('w', @code)">
997 <z:index name="Record-control-number:w">
998 <xslo:value-of select="."/>
1002 <xslo:for-each select="marc:subfield">
1003 <xslo:if test="contains('9', @code)">
1004 <z:index name="Koha-Auth-Number:w">
1005 <xslo:value-of select="."/>
1010 <xslo:template mode="index_subfields" match="marc:datafield[@tag='999']">
1011 <xslo:for-each select="marc:subfield">
1012 <xslo:if test="contains('c', @code)">
1013 <z:index name="Local-Number:n Local-Number:w Local-Number:s">
1014 <xslo:value-of select="."/>
1018 <xslo:for-each select="marc:subfield">
1019 <xslo:if test="contains('d', @code)">
1020 <z:index name="biblioitemnumber:n biblioitemnumber:w biblioitemnumber:s">
1021 <xslo:value-of select="."/>
1026 <xslo:template mode="index_subfields" match="marc:datafield[@tag='942']">
1027 <xslo:for-each select="marc:subfield">
1028 <xslo:if test="contains('0', @code)">
1029 <z:index name="totalissues:n totalissues:s">
1030 <xslo:value-of select="."/>
1034 <xslo:for-each select="marc:subfield">
1035 <xslo:if test="contains('2', @code)">
1036 <z:index name="cn-bib-source:w">
1037 <xslo:value-of select="."/>
1041 <xslo:for-each select="marc:subfield">
1042 <xslo:if test="contains('6', @code)">
1043 <z:index name="cn-bib-sort:n cn-bib-sort:s">
1044 <xslo:value-of select="."/>
1048 <xslo:for-each select="marc:subfield">
1049 <xslo:if test="contains('c', @code)">
1050 <z:index name="itemtype:w itemtype:p itype:w itype:p">
1051 <xslo:value-of select="."/>
1055 <xslo:for-each select="marc:subfield">
1056 <xslo:if test="contains('n', @code)">
1057 <z:index name="Suppress:w Suppress:n">
1058 <xslo:value-of select="."/>
1062 <xslo:for-each select="marc:subfield">
1063 <xslo:if test="contains('h', @code)">
1064 <z:index name="cn-class:w">
1065 <xslo:value-of select="."/>
1069 <xslo:for-each select="marc:subfield">
1070 <xslo:if test="contains('i', @code)">
1071 <z:index name="cn-item:w">
1072 <xslo:value-of select="."/>
1076 <xslo:for-each select="marc:subfield">
1077 <xslo:if test="contains('k', @code)">
1078 <z:index name="cn-prefix:w">
1079 <xslo:value-of select="."/>
1083 <xslo:for-each select="marc:subfield">
1084 <xslo:if test="contains('m', @code)">
1085 <z:index name="cn-suffix:w">
1086 <xslo:value-of select="."/>
1091 <xslo:template mode="index_subfields" match="marc:datafield[@tag='952']">
1092 <xslo:for-each select="marc:subfield">
1093 <xslo:if test="contains('0', @code)">
1094 <z:index name="withdrawn:n withdrawn:w">
1095 <xslo:value-of select="."/>
1099 <xslo:for-each select="marc:subfield">
1100 <xslo:if test="contains('1', @code)">
1101 <z:index name="lost:w lost:n">
1102 <xslo:value-of select="."/>
1106 <xslo:for-each select="marc:subfield">
1107 <xslo:if test="contains('2', @code)">
1108 <z:index name="classification-source:w">
1109 <xslo:value-of select="."/>
1113 <xslo:for-each select="marc:subfield">
1114 <xslo:if test="contains('3', @code)">
1115 <z:index name="materials-specified:w">
1116 <xslo:value-of select="."/>
1120 <xslo:for-each select="marc:subfield">
1121 <xslo:if test="contains('4', @code)">
1122 <z:index name="damaged:n damaged:w">
1123 <xslo:value-of select="."/>
1127 <xslo:for-each select="marc:subfield">
1128 <xslo:if test="contains('5', @code)">
1129 <z:index name="restricted:n restricted:w">
1130 <xslo:value-of select="."/>
1134 <xslo:for-each select="marc:subfield">
1135 <xslo:if test="contains('6', @code)">
1136 <z:index name="cn-sort:n cn-sort:s">
1137 <xslo:value-of select="."/>
1141 <xslo:for-each select="marc:subfield">
1142 <xslo:if test="contains('7', @code)">
1143 <z:index name="notforloan:n notforloan:w">
1144 <xslo:value-of select="."/>
1148 <xslo:for-each select="marc:subfield">
1149 <xslo:if test="contains('8', @code)">
1150 <z:index name="ccode:w ccode:p">
1151 <xslo:value-of select="."/>
1155 <xslo:for-each select="marc:subfield">
1156 <xslo:if test="contains('9', @code)">
1157 <z:index name="itemnumber:n itemnumber:s">
1158 <xslo:value-of select="."/>
1162 <xslo:for-each select="marc:subfield">
1163 <xslo:if test="contains('a', @code)">
1164 <z:index name="homebranch:w">
1165 <xslo:value-of select="."/>
1169 <xslo:for-each select="marc:subfield">
1170 <xslo:if test="contains('b', @code)">
1171 <z:index name="holdingbranch:w">
1172 <xslo:value-of select="."/>
1176 <xslo:for-each select="marc:subfield">
1177 <xslo:if test="contains('c', @code)">
1178 <z:index name="location:w">
1179 <xslo:value-of select="."/>
1183 <xslo:for-each select="marc:subfield">
1184 <xslo:if test="contains('d', @code)">
1185 <z:index name="Date-of-acquisition:w Date-of-acquisition:d Date-of-acquisition:s">
1186 <xslo:value-of select="."/>
1190 <xslo:for-each select="marc:subfield">
1191 <xslo:if test="contains('e', @code)">
1192 <z:index name="acqsource:w">
1193 <xslo:value-of select="."/>
1197 <xslo:for-each select="marc:subfield">
1198 <xslo:if test="contains('f', @code)">
1199 <z:index name="coded-location-qualifier:w">
1200 <xslo:value-of select="."/>
1204 <xslo:for-each select="marc:subfield">
1205 <xslo:if test="contains('g', @code)">
1206 <z:index name="price:w">
1207 <xslo:value-of select="."/>
1211 <xslo:for-each select="marc:subfield">
1212 <xslo:if test="contains('i', @code)">
1213 <z:index name="stocknumber:w">
1214 <xslo:value-of select="."/>
1218 <xslo:for-each select="marc:subfield">
1219 <xslo:if test="contains('j', @code)">
1220 <z:index name="stack:n stack:w">
1221 <xslo:value-of select="."/>
1225 <xslo:for-each select="marc:subfield">
1226 <xslo:if test="contains('l', @code)">
1227 <z:index name="issues:n issues:w issues:s">
1228 <xslo:value-of select="."/>
1232 <xslo:for-each select="marc:subfield">
1233 <xslo:if test="contains('m', @code)">
1234 <z:index name="renewals:n renewals:w">
1235 <xslo:value-of select="."/>
1239 <xslo:for-each select="marc:subfield">
1240 <xslo:if test="contains('n', @code)">
1241 <z:index name="reserves:n reserves:w">
1242 <xslo:value-of select="."/>
1246 <xslo:for-each select="marc:subfield">
1247 <xslo:if test="contains('o', @code)">
1248 <z:index name="Local-classification:w Local-classification:p Local-classification:s">
1249 <xslo:value-of select="."/>
1253 <xslo:for-each select="marc:subfield">
1254 <xslo:if test="contains('p', @code)">
1255 <z:index name="barcode:w barcode:n">
1256 <xslo:value-of select="."/>
1260 <xslo:for-each select="marc:subfield">
1261 <xslo:if test="contains('q', @code)">
1262 <z:index name="onloan:n onloan:w">
1263 <xslo:value-of select="."/>
1267 <xslo:for-each select="marc:subfield">
1268 <xslo:if test="contains('r', @code)">
1269 <z:index name="datelastseen:w">
1270 <xslo:value-of select="."/>
1274 <xslo:for-each select="marc:subfield">
1275 <xslo:if test="contains('s', @code)">
1276 <z:index name="datelastborrowed:w">
1277 <xslo:value-of select="."/>
1281 <xslo:for-each select="marc:subfield">
1282 <xslo:if test="contains('t', @code)">
1283 <z:index name="copynumber:w">
1284 <xslo:value-of select="."/>
1288 <xslo:for-each select="marc:subfield">
1289 <xslo:if test="contains('u', @code)">
1290 <z:index name="uri:u">
1291 <xslo:value-of select="."/>
1295 <xslo:for-each select="marc:subfield">
1296 <xslo:if test="contains('v', @code)">
1297 <z:index name="replacementprice:w">
1298 <xslo:value-of select="."/>
1302 <xslo:for-each select="marc:subfield">
1303 <xslo:if test="contains('w', @code)">
1304 <z:index name="replacementpricedate:w">
1305 <xslo:value-of select="."/>
1309 <xslo:for-each select="marc:subfield">
1310 <xslo:if test="contains('y', @code)">
1311 <z:index name="itype:w itype:p">
1312 <xslo:value-of select="."/>
1316 <xslo:for-each select="marc:subfield">
1317 <xslo:if test="contains('z', @code)">
1318 <z:index name="Note:w Note:p">
1319 <xslo:value-of select="."/>
1324 <xslo:template mode="index_data_field" match="marc:datafield[@tag='010']">
1325 <z:index name="LC-card-number:w Identifier-standard:w">
1326 <xslo:variable name="raw_heading">
1327 <xslo:for-each select="marc:subfield">
1328 <xslo:if test="position() > 1">
1329 <xslo:value-of select="substring(' ', 1, 1)"/>
1331 <xslo:value-of select="."/>
1334 <xslo:value-of select="normalize-space($raw_heading)"/>
1337 <xslo:template mode="index_data_field" match="marc:datafield[@tag='011']">
1338 <z:index name="LC-card-number:w Identifier-standard:w">
1339 <xslo:variable name="raw_heading">
1340 <xslo:for-each select="marc:subfield">
1341 <xslo:if test="position() > 1">
1342 <xslo:value-of select="substring(' ', 1, 1)"/>
1344 <xslo:value-of select="."/>
1347 <xslo:value-of select="normalize-space($raw_heading)"/>
1350 <xslo:template mode="index_data_field" match="marc:datafield[@tag='015']">
1351 <z:index name="BNB-card-number:w BGF-number:w Number-db:w Number-natl-biblio:w Identifier-standard:w">
1352 <xslo:variable name="raw_heading">
1353 <xslo:for-each select="marc:subfield">
1354 <xslo:if test="position() > 1">
1355 <xslo:value-of select="substring(' ', 1, 1)"/>
1357 <xslo:value-of select="."/>
1360 <xslo:value-of select="normalize-space($raw_heading)"/>
1363 <xslo:template mode="index_data_field" match="marc:datafield[@tag='017']">
1364 <z:index name="Number-legal-deposit:w Identifier-standard:w">
1365 <xslo:variable name="raw_heading">
1366 <xslo:for-each select="marc:subfield">
1367 <xslo:if test="position() > 1">
1368 <xslo:value-of select="substring(' ', 1, 1)"/>
1370 <xslo:value-of select="."/>
1373 <xslo:value-of select="normalize-space($raw_heading)"/>
1376 <xslo:template mode="index_data_field" match="marc:datafield[@tag='018']">
1377 <z:index name="Identifier-standard:w">
1378 <xslo:variable name="raw_heading">
1379 <xslo:for-each select="marc:subfield">
1380 <xslo:if test="position() > 1">
1381 <xslo:value-of select="substring(' ', 1, 1)"/>
1383 <xslo:value-of select="."/>
1386 <xslo:value-of select="normalize-space($raw_heading)"/>
1389 <xslo:template mode="index_data_field" match="marc:datafield[@tag='020']">
1390 <z:index name="Identifier-standard:w">
1391 <xslo:variable name="raw_heading">
1392 <xslo:for-each select="marc:subfield">
1393 <xslo:if test="position() > 1">
1394 <xslo:value-of select="substring(' ', 1, 1)"/>
1396 <xslo:value-of select="."/>
1399 <xslo:value-of select="normalize-space($raw_heading)"/>
1402 <xslo:template mode="index_data_field" match="marc:datafield[@tag='022']">
1403 <z:index name="Identifier-standard:w">
1404 <xslo:variable name="raw_heading">
1405 <xslo:for-each select="marc:subfield">
1406 <xslo:if test="position() > 1">
1407 <xslo:value-of select="substring(' ', 1, 1)"/>
1409 <xslo:value-of select="."/>
1412 <xslo:value-of select="normalize-space($raw_heading)"/>
1415 <xslo:template mode="index_data_field" match="marc:datafield[@tag='023']">
1416 <z:index name="Identifier-standard:w">
1417 <xslo:variable name="raw_heading">
1418 <xslo:for-each select="marc:subfield">
1419 <xslo:if test="position() > 1">
1420 <xslo:value-of select="substring(' ', 1, 1)"/>
1422 <xslo:value-of select="."/>
1425 <xslo:value-of select="normalize-space($raw_heading)"/>
1428 <xslo:template mode="index_data_field" match="marc:datafield[@tag='024']">
1429 <z:index name="Identifier-standard:w">
1430 <xslo:variable name="raw_heading">
1431 <xslo:for-each select="marc:subfield">
1432 <xslo:if test="position() > 1">
1433 <xslo:value-of select="substring(' ', 1, 1)"/>
1435 <xslo:value-of select="."/>
1438 <xslo:value-of select="normalize-space($raw_heading)"/>
1441 <xslo:template mode="index_data_field" match="marc:datafield[@tag='025']">
1442 <z:index name="Identifier-standard:w">
1443 <xslo:variable name="raw_heading">
1444 <xslo:for-each select="marc:subfield">
1445 <xslo:if test="position() > 1">
1446 <xslo:value-of select="substring(' ', 1, 1)"/>
1448 <xslo:value-of select="."/>
1451 <xslo:value-of select="normalize-space($raw_heading)"/>
1454 <xslo:template mode="index_data_field" match="marc:datafield[@tag='027']">
1455 <z:index name="Report-number:w Identifier-standard:w">
1456 <xslo:variable name="raw_heading">
1457 <xslo:for-each select="marc:subfield">
1458 <xslo:if test="position() > 1">
1459 <xslo:value-of select="substring(' ', 1, 1)"/>
1461 <xslo:value-of select="."/>
1464 <xslo:value-of select="normalize-space($raw_heading)"/>
1467 <xslo:template mode="index_data_field" match="marc:datafield[@tag='028']">
1468 <z:index name="Number-music-publisher:w Identifier-standard:w">
1469 <xslo:variable name="raw_heading">
1470 <xslo:for-each select="marc:subfield">
1471 <xslo:if test="position() > 1">
1472 <xslo:value-of select="substring(' ', 1, 1)"/>
1474 <xslo:value-of select="."/>
1477 <xslo:value-of select="normalize-space($raw_heading)"/>
1480 <xslo:template mode="index_data_field" match="marc:datafield[@tag='030']">
1481 <z:index name="CODEN:w Identifier-standard:w">
1482 <xslo:variable name="raw_heading">
1483 <xslo:for-each select="marc:subfield">
1484 <xslo:if test="position() > 1">
1485 <xslo:value-of select="substring(' ', 1, 1)"/>
1487 <xslo:value-of select="."/>
1490 <xslo:value-of select="normalize-space($raw_heading)"/>
1493 <xslo:template mode="index_data_field" match="marc:datafield[@tag='034']">
1494 <z:index name="Map-scale:w">
1495 <xslo:variable name="raw_heading">
1496 <xslo:for-each select="marc:subfield">
1497 <xslo:if test="position() > 1">
1498 <xslo:value-of select="substring(' ', 1, 1)"/>
1500 <xslo:value-of select="."/>
1503 <xslo:value-of select="normalize-space($raw_heading)"/>
1506 <xslo:template mode="index_data_field" match="marc:datafield[@tag='037']">
1507 <z:index name="Identifier-standard:w Stock-number:w">
1508 <xslo:variable name="raw_heading">
1509 <xslo:for-each select="marc:subfield">
1510 <xslo:if test="position() > 1">
1511 <xslo:value-of select="substring(' ', 1, 1)"/>
1513 <xslo:value-of select="."/>
1516 <xslo:value-of select="normalize-space($raw_heading)"/>
1519 <xslo:template mode="index_data_field" match="marc:datafield[@tag='040']">
1520 <z:index name="Code-institution:w Record-source:w">
1521 <xslo:variable name="raw_heading">
1522 <xslo:for-each select="marc:subfield">
1523 <xslo:if test="position() > 1">
1524 <xslo:value-of select="substring(' ', 1, 1)"/>
1526 <xslo:value-of select="."/>
1529 <xslo:value-of select="normalize-space($raw_heading)"/>
1532 <xslo:template mode="index_data_field" match="marc:datafield[@tag='043']">
1533 <z:index name="Code-geographic:w">
1534 <xslo:variable name="raw_heading">
1535 <xslo:for-each select="marc:subfield">
1536 <xslo:if test="position() > 1">
1537 <xslo:value-of select="substring(' ', 1, 1)"/>
1539 <xslo:value-of select="."/>
1542 <xslo:value-of select="normalize-space($raw_heading)"/>
1545 <xslo:template mode="index_data_field" match="marc:datafield[@tag='050']">
1546 <z:index name="LC-call-number:w LC-call-number:p LC-call-number:s">
1547 <xslo:variable name="raw_heading">
1548 <xslo:for-each select="marc:subfield">
1549 <xslo:if test="position() > 1">
1550 <xslo:value-of select="substring(' ', 1, 1)"/>
1552 <xslo:value-of select="."/>
1555 <xslo:value-of select="normalize-space($raw_heading)"/>
1558 <xslo:template mode="index_data_field" match="marc:datafield[@tag='052']">
1559 <z:index name="Geographic-class:w">
1560 <xslo:variable name="raw_heading">
1561 <xslo:for-each select="marc:subfield">
1562 <xslo:if test="position() > 1">
1563 <xslo:value-of select="substring(' ', 1, 1)"/>
1565 <xslo:value-of select="."/>
1568 <xslo:value-of select="normalize-space($raw_heading)"/>
1571 <xslo:template mode="index_data_field" match="marc:datafield[@tag='060']">
1572 <z:index name="NLM-call-number:w">
1573 <xslo:variable name="raw_heading">
1574 <xslo:for-each select="marc:subfield">
1575 <xslo:if test="position() > 1">
1576 <xslo:value-of select="substring(' ', 1, 1)"/>
1578 <xslo:value-of select="."/>
1581 <xslo:value-of select="normalize-space($raw_heading)"/>
1584 <xslo:template mode="index_data_field" match="marc:datafield[@tag='070']">
1585 <z:index name="NAL-call-number:w">
1586 <xslo:variable name="raw_heading">
1587 <xslo:for-each select="marc:subfield">
1588 <xslo:if test="position() > 1">
1589 <xslo:value-of select="substring(' ', 1, 1)"/>
1591 <xslo:value-of select="."/>
1594 <xslo:value-of select="normalize-space($raw_heading)"/>
1597 <xslo:template mode="index_data_field" match="marc:datafield[@tag='080']">
1598 <z:index name="UDC-classification:w">
1599 <xslo:variable name="raw_heading">
1600 <xslo:for-each select="marc:subfield">
1601 <xslo:if test="position() > 1">
1602 <xslo:value-of select="substring(' ', 1, 1)"/>
1604 <xslo:value-of select="."/>
1607 <xslo:value-of select="normalize-space($raw_heading)"/>
1610 <xslo:template mode="index_data_field" match="marc:datafield[@tag='082']">
1611 <z:index name="Dewey-classification:w Dewey-classification:s">
1612 <xslo:variable name="raw_heading">
1613 <xslo:for-each select="marc:subfield">
1614 <xslo:if test="position() > 1">
1615 <xslo:value-of select="substring(' ', 1, 1)"/>
1617 <xslo:value-of select="."/>
1620 <xslo:value-of select="normalize-space($raw_heading)"/>
1623 <xslo:template mode="index_data_field" match="marc:datafield[@tag='086']">
1624 <z:index name="Number-govt-pub:w">
1625 <xslo:variable name="raw_heading">
1626 <xslo:for-each select="marc:subfield">
1627 <xslo:if test="position() > 1">
1628 <xslo:value-of select="substring(' ', 1, 1)"/>
1630 <xslo:value-of select="."/>
1633 <xslo:value-of select="normalize-space($raw_heading)"/>
1636 <xslo:template mode="index_data_field" match="marc:datafield[@tag='100']">
1637 <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">
1638 <xslo:variable name="raw_heading">
1639 <xslo:for-each select="marc:subfield">
1640 <xslo:if test="position() > 1">
1641 <xslo:value-of select="substring(' ', 1, 1)"/>
1643 <xslo:value-of select="."/>
1646 <xslo:value-of select="normalize-space($raw_heading)"/>
1649 <xslo:template mode="index_data_field" match="marc:datafield[@tag='110']">
1650 <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">
1651 <xslo:variable name="raw_heading">
1652 <xslo:for-each select="marc:subfield">
1653 <xslo:if test="position() > 1">
1654 <xslo:value-of select="substring(' ', 1, 1)"/>
1656 <xslo:value-of select="."/>
1659 <xslo:value-of select="normalize-space($raw_heading)"/>
1662 <xslo:template mode="index_data_field" match="marc:datafield[@tag='111']">
1663 <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">
1664 <xslo:variable name="raw_heading">
1665 <xslo:for-each select="marc:subfield">
1666 <xslo:if test="position() > 1">
1667 <xslo:value-of select="substring(' ', 1, 1)"/>
1669 <xslo:value-of select="."/>
1672 <xslo:value-of select="normalize-space($raw_heading)"/>
1675 <xslo:template mode="index_data_field" match="marc:datafield[@tag='130']">
1676 <z:index name="Title:w Title:p Title-uniform:w">
1677 <xslo:variable name="raw_heading">
1678 <xslo:for-each select="marc:subfield">
1679 <xslo:if test="position() > 1">
1680 <xslo:value-of select="substring(' ', 1, 1)"/>
1682 <xslo:value-of select="."/>
1685 <xslo:value-of select="normalize-space($raw_heading)"/>
1688 <xslo:template mode="index_data_field" match="marc:datafield[@tag='210']">
1689 <z:index name="Title:w Title:p Title-abbreviated:w">
1690 <xslo:variable name="raw_heading">
1691 <xslo:for-each select="marc:subfield">
1692 <xslo:if test="position() > 1">
1693 <xslo:value-of select="substring(' ', 1, 1)"/>
1695 <xslo:value-of select="."/>
1698 <xslo:value-of select="normalize-space($raw_heading)"/>
1701 <xslo:template mode="index_data_field" match="marc:datafield[@tag='211']">
1702 <z:index name="Title:w Title:p Title-abbreviated:w">
1703 <xslo:variable name="raw_heading">
1704 <xslo:for-each select="marc:subfield">
1705 <xslo:if test="position() > 1">
1706 <xslo:value-of select="substring(' ', 1, 1)"/>
1708 <xslo:value-of select="."/>
1711 <xslo:value-of select="normalize-space($raw_heading)"/>
1714 <xslo:template mode="index_data_field" match="marc:datafield[@tag='212']">
1715 <z:index name="Title:w Title:p Title-other-variant:w">
1716 <xslo:variable name="raw_heading">
1717 <xslo:for-each select="marc:subfield">
1718 <xslo:if test="position() > 1">
1719 <xslo:value-of select="substring(' ', 1, 1)"/>
1721 <xslo:value-of select="."/>
1724 <xslo:value-of select="normalize-space($raw_heading)"/>
1727 <xslo:template mode="index_data_field" match="marc:datafield[@tag='214']">
1728 <z:index name="Title:w Title:p Title-expanded:w">
1729 <xslo:variable name="raw_heading">
1730 <xslo:for-each select="marc:subfield">
1731 <xslo:if test="position() > 1">
1732 <xslo:value-of select="substring(' ', 1, 1)"/>
1734 <xslo:value-of select="."/>
1737 <xslo:value-of select="normalize-space($raw_heading)"/>
1740 <xslo:template mode="index_data_field" match="marc:datafield[@tag='222']">
1741 <z:index name="Title:w Title:p Title-key:w">
1742 <xslo:variable name="raw_heading">
1743 <xslo:for-each select="marc:subfield">
1744 <xslo:if test="position() > 1">
1745 <xslo:value-of select="substring(' ', 1, 1)"/>
1747 <xslo:value-of select="."/>
1750 <xslo:value-of select="normalize-space($raw_heading)"/>
1753 <xslo:template mode="index_data_field" match="marc:datafield[@tag='240']">
1754 <z:index name="Title:w Title:p Title-uniform:w">
1755 <xslo:variable name="raw_heading">
1756 <xslo:for-each select="marc:subfield">
1757 <xslo:if test="position() > 1">
1758 <xslo:value-of select="substring(' ', 1, 1)"/>
1760 <xslo:value-of select="."/>
1763 <xslo:value-of select="normalize-space($raw_heading)"/>
1766 <xslo:template mode="index_data_field" match="marc:datafield[@tag='243']">
1767 <z:index name="Title:w Title:p Title-collective:w">
1768 <xslo:variable name="raw_heading">
1769 <xslo:for-each select="marc:subfield">
1770 <xslo:if test="position() > 1">
1771 <xslo:value-of select="substring(' ', 1, 1)"/>
1773 <xslo:value-of select="."/>
1776 <xslo:value-of select="normalize-space($raw_heading)"/>
1779 <xslo:template mode="index_data_field" match="marc:datafield[@tag='245']">
1780 <z:index name="Title:w Title:p">
1781 <xslo:variable name="raw_heading">
1782 <xslo:for-each select="marc:subfield">
1783 <xslo:if test="position() > 1">
1784 <xslo:value-of select="substring(' ', 1, 1)"/>
1786 <xslo:value-of select="."/>
1789 <xslo:value-of select="normalize-space($raw_heading)"/>
1792 <xslo:template mode="index_data_field" match="marc:datafield[@tag='246']">
1793 <z:index name="Title:w Title:p Title-abbreviated:w Title-expanded:w Title-former:w">
1794 <xslo:variable name="raw_heading">
1795 <xslo:for-each select="marc:subfield">
1796 <xslo:if test="position() > 1">
1797 <xslo:value-of select="substring(' ', 1, 1)"/>
1799 <xslo:value-of select="."/>
1802 <xslo:value-of select="normalize-space($raw_heading)"/>
1805 <xslo:template mode="index_data_field" match="marc:datafield[@tag='247']">
1806 <z:index name="Title:w Title:p Title-former:w Title-other-variant:w Related-periodical:w">
1807 <xslo:variable name="raw_heading">
1808 <xslo:for-each select="marc:subfield">
1809 <xslo:if test="position() > 1">
1810 <xslo:value-of select="substring(' ', 1, 1)"/>
1812 <xslo:value-of select="."/>
1815 <xslo:value-of select="normalize-space($raw_heading)"/>
1818 <xslo:template mode="index_data_field" match="marc:datafield[@tag='260']">
1819 <z:index name="pl:w">
1820 <xslo:variable name="raw_heading">
1821 <xslo:for-each select="marc:subfield">
1822 <xslo:if test="position() > 1">
1823 <xslo:value-of select="substring(' ', 1, 1)"/>
1825 <xslo:value-of select="."/>
1828 <xslo:value-of select="normalize-space($raw_heading)"/>
1831 <xslo:template mode="index_data_field" match="marc:datafield[@tag='300']">
1832 <z:index name="Extent:w Extent:p">
1833 <xslo:variable name="raw_heading">
1834 <xslo:for-each select="marc:subfield">
1835 <xslo:if test="position() > 1">
1836 <xslo:value-of select="substring(' ', 1, 1)"/>
1838 <xslo:value-of select="."/>
1841 <xslo:value-of select="normalize-space($raw_heading)"/>
1844 <xslo:template mode="index_data_field" match="marc:datafield[@tag='400']">
1845 <z:index name="Author:w Author-name-personal:w Name:w Personal-name:w">
1846 <xslo:variable name="raw_heading">
1847 <xslo:for-each select="marc:subfield">
1848 <xslo:if test="position() > 1">
1849 <xslo:value-of select="substring(' ', 1, 1)"/>
1851 <xslo:value-of select="."/>
1854 <xslo:value-of select="normalize-space($raw_heading)"/>
1857 <xslo:template mode="index_data_field" match="marc:datafield[@tag='410']">
1858 <z:index name="Author:w Corporate-name:w">
1859 <xslo:variable name="raw_heading">
1860 <xslo:for-each select="marc:subfield">
1861 <xslo:if test="position() > 1">
1862 <xslo:value-of select="substring(' ', 1, 1)"/>
1864 <xslo:value-of select="."/>
1867 <xslo:value-of select="normalize-space($raw_heading)"/>
1870 <xslo:template mode="index_data_field" match="marc:datafield[@tag='411']">
1871 <z:index name="Author:w Conference-name:w">
1872 <xslo:variable name="raw_heading">
1873 <xslo:for-each select="marc:subfield">
1874 <xslo:if test="position() > 1">
1875 <xslo:value-of select="substring(' ', 1, 1)"/>
1877 <xslo:value-of select="."/>
1880 <xslo:value-of select="normalize-space($raw_heading)"/>
1883 <xslo:template mode="index_data_field" match="marc:datafield[@tag='440']">
1884 <z:index name="Title-series:w Title-series:p Title:w Title-series:w">
1885 <xslo:variable name="raw_heading">
1886 <xslo:for-each select="marc:subfield">
1887 <xslo:if test="position() > 1">
1888 <xslo:value-of select="substring(' ', 1, 1)"/>
1890 <xslo:value-of select="."/>
1893 <xslo:value-of select="normalize-space($raw_heading)"/>
1896 <xslo:template mode="index_data_field" match="marc:datafield[@tag='490']">
1897 <z:index name="Title:w Title-series:w">
1898 <xslo:variable name="raw_heading">
1899 <xslo:for-each select="marc:subfield">
1900 <xslo:if test="position() > 1">
1901 <xslo:value-of select="substring(' ', 1, 1)"/>
1903 <xslo:value-of select="."/>
1906 <xslo:value-of select="normalize-space($raw_heading)"/>
1909 <xslo:template mode="index_data_field" match="marc:datafield[@tag='500']">
1910 <z:index name="Note:w Note:p">
1911 <xslo:variable name="raw_heading">
1912 <xslo:for-each select="marc:subfield">
1913 <xslo:if test="position() > 1">
1914 <xslo:value-of select="substring(' ', 1, 1)"/>
1916 <xslo:value-of select="."/>
1919 <xslo:value-of select="normalize-space($raw_heading)"/>
1922 <xslo:template mode="index_data_field" match="marc:datafield[@tag='502']">
1923 <z:index name="Material-type:w">
1924 <xslo:variable name="raw_heading">
1925 <xslo:for-each select="marc:subfield">
1926 <xslo:if test="position() > 1">
1927 <xslo:value-of select="substring(' ', 1, 1)"/>
1929 <xslo:value-of select="."/>
1932 <xslo:value-of select="normalize-space($raw_heading)"/>
1935 <xslo:template mode="index_data_field" match="marc:datafield[@tag='505']">
1936 <z:index name="Note:w Note:p">
1937 <xslo:variable name="raw_heading">
1938 <xslo:for-each select="marc:subfield">
1939 <xslo:if test="position() > 1">
1940 <xslo:value-of select="substring(' ', 1, 1)"/>
1942 <xslo:value-of select="."/>
1945 <xslo:value-of select="normalize-space($raw_heading)"/>
1948 <xslo:template mode="index_data_field" match="marc:datafield[@tag='510']">
1949 <z:index name="Indexed-by:w">
1950 <xslo:variable name="raw_heading">
1951 <xslo:for-each select="marc:subfield">
1952 <xslo:if test="position() > 1">
1953 <xslo:value-of select="substring(' ', 1, 1)"/>
1955 <xslo:value-of select="."/>
1958 <xslo:value-of select="normalize-space($raw_heading)"/>
1961 <xslo:template mode="index_data_field" match="marc:datafield[@tag='520']">
1962 <z:index name="Abstract:w Abstract:p">
1963 <xslo:variable name="raw_heading">
1964 <xslo:for-each select="marc:subfield">
1965 <xslo:if test="position() > 1">
1966 <xslo:value-of select="substring(' ', 1, 1)"/>
1968 <xslo:value-of select="."/>
1971 <xslo:value-of select="normalize-space($raw_heading)"/>
1974 <xslo:template mode="index_data_field" match="marc:datafield[@tag='590']">
1975 <z:index name="Note:w Note:p">
1976 <xslo:variable name="raw_heading">
1977 <xslo:for-each select="marc:subfield">
1978 <xslo:if test="position() > 1">
1979 <xslo:value-of select="substring(' ', 1, 1)"/>
1981 <xslo:value-of select="."/>
1984 <xslo:value-of select="normalize-space($raw_heading)"/>
1987 <xslo:template mode="index_data_field" match="marc:datafield[@tag='600']">
1988 <z:index name="Name:w Personal-name:w Subject-name-personal:w Subject:w Subject:p">
1989 <xslo:variable name="raw_heading">
1990 <xslo:for-each select="marc:subfield">
1991 <xslo:if test="position() > 1">
1992 <xslo:value-of select="substring(' ', 1, 1)"/>
1994 <xslo:value-of select="."/>
1997 <xslo:value-of select="normalize-space($raw_heading)"/>
2000 <xslo:template mode="index_data_field" match="marc:datafield[@tag='610']">
2001 <z:index name="Name:w Subject:w Subject:p Corporate-name:w">
2002 <xslo:variable name="raw_heading">
2003 <xslo:for-each select="marc:subfield">
2004 <xslo:if test="position() > 1">
2005 <xslo:value-of select="substring(' ', 1, 1)"/>
2007 <xslo:value-of select="."/>
2010 <xslo:value-of select="normalize-space($raw_heading)"/>
2013 <xslo:template mode="index_data_field" match="marc:datafield[@tag='611']">
2014 <z:index name="Conference-name:w Name:w Subject:w Subject:p">
2015 <xslo:variable name="raw_heading">
2016 <xslo:for-each select="marc:subfield">
2017 <xslo:if test="position() > 1">
2018 <xslo:value-of select="substring(' ', 1, 1)"/>
2020 <xslo:value-of select="."/>
2023 <xslo:value-of select="normalize-space($raw_heading)"/>
2026 <xslo:template mode="index_data_field" match="marc:datafield[@tag='630']">
2027 <z:index name="Subject:w Subject:p">
2028 <xslo:variable name="raw_heading">
2029 <xslo:for-each select="marc:subfield">
2030 <xslo:if test="position() > 1">
2031 <xslo:value-of select="substring(' ', 1, 1)"/>
2033 <xslo:value-of select="."/>
2036 <xslo:value-of select="normalize-space($raw_heading)"/>
2039 <xslo:template mode="index_data_field" match="marc:datafield[@tag='650']">
2040 <z:index name="Subject:w Subject:p">
2041 <xslo:variable name="raw_heading">
2042 <xslo:for-each select="marc:subfield">
2043 <xslo:if test="position() > 1">
2044 <xslo:value-of select="substring(' ', 1, 1)"/>
2046 <xslo:value-of select="."/>
2049 <xslo:value-of select="normalize-space($raw_heading)"/>
2052 <xslo:template mode="index_data_field" match="marc:datafield[@tag='651']">
2053 <z:index name="Name-geographic:w Subject:w Subject:p">
2054 <xslo:variable name="raw_heading">
2055 <xslo:for-each select="marc:subfield">
2056 <xslo:if test="position() > 1">
2057 <xslo:value-of select="substring(' ', 1, 1)"/>
2059 <xslo:value-of select="."/>
2062 <xslo:value-of select="normalize-space($raw_heading)"/>
2065 <xslo:template mode="index_data_field" match="marc:datafield[@tag='653']">
2066 <z:index name="Subject:w Subject:p">
2067 <xslo:variable name="raw_heading">
2068 <xslo:for-each select="marc:subfield">
2069 <xslo:if test="position() > 1">
2070 <xslo:value-of select="substring(' ', 1, 1)"/>
2072 <xslo:value-of select="."/>
2075 <xslo:value-of select="normalize-space($raw_heading)"/>
2078 <xslo:template mode="index_data_field" match="marc:datafield[@tag='654']">
2079 <z:index name="Subject:w Subject:p">
2080 <xslo:variable name="raw_heading">
2081 <xslo:for-each select="marc:subfield">
2082 <xslo:if test="position() > 1">
2083 <xslo:value-of select="substring(' ', 1, 1)"/>
2085 <xslo:value-of select="."/>
2088 <xslo:value-of select="normalize-space($raw_heading)"/>
2091 <xslo:template mode="index_data_field" match="marc:datafield[@tag='655']">
2092 <z:index name="Subject:w Subject:p">
2093 <xslo:variable name="raw_heading">
2094 <xslo:for-each select="marc:subfield">
2095 <xslo:if test="position() > 1">
2096 <xslo:value-of select="substring(' ', 1, 1)"/>
2098 <xslo:value-of select="."/>
2101 <xslo:value-of select="normalize-space($raw_heading)"/>
2104 <xslo:template mode="index_data_field" match="marc:datafield[@tag='656']">
2105 <z:index name="Subject:w Subject:p">
2106 <xslo:variable name="raw_heading">
2107 <xslo:for-each select="marc:subfield">
2108 <xslo:if test="position() > 1">
2109 <xslo:value-of select="substring(' ', 1, 1)"/>
2111 <xslo:value-of select="."/>
2114 <xslo:value-of select="normalize-space($raw_heading)"/>
2117 <xslo:template mode="index_data_field" match="marc:datafield[@tag='657']">
2118 <z:index name="Subject:w Subject:p">
2119 <xslo:variable name="raw_heading">
2120 <xslo:for-each select="marc:subfield">
2121 <xslo:if test="position() > 1">
2122 <xslo:value-of select="substring(' ', 1, 1)"/>
2124 <xslo:value-of select="."/>
2127 <xslo:value-of select="normalize-space($raw_heading)"/>
2130 <xslo:template mode="index_data_field" match="marc:datafield[@tag='658']">
2131 <z:index name="Subject:w Subject:p">
2132 <xslo:variable name="raw_heading">
2133 <xslo:for-each select="marc:subfield">
2134 <xslo:if test="position() > 1">
2135 <xslo:value-of select="substring(' ', 1, 1)"/>
2137 <xslo:value-of select="."/>
2140 <xslo:value-of select="normalize-space($raw_heading)"/>
2143 <xslo:template mode="index_data_field" match="marc:datafield[@tag='690']">
2144 <z:index name="Subject:w Subject:p">
2145 <xslo:variable name="raw_heading">
2146 <xslo:for-each select="marc:subfield">
2147 <xslo:if test="position() > 1">
2148 <xslo:value-of select="substring(' ', 1, 1)"/>
2150 <xslo:value-of select="."/>
2153 <xslo:value-of select="normalize-space($raw_heading)"/>
2156 <xslo:template mode="index_data_field" match="marc:datafield[@tag='700']">
2157 <z:index name="Author:w Author:p Author-name-personal:w Name:w Editor:w Personal-name:w">
2158 <xslo:variable name="raw_heading">
2159 <xslo:for-each select="marc:subfield">
2160 <xslo:if test="position() > 1">
2161 <xslo:value-of select="substring(' ', 1, 1)"/>
2163 <xslo:value-of select="."/>
2166 <xslo:value-of select="normalize-space($raw_heading)"/>
2169 <xslo:template mode="index_data_field" match="marc:datafield[@tag='710']">
2170 <z:index name="Author:w Author:p Corporate-name:w Name:w">
2171 <xslo:variable name="raw_heading">
2172 <xslo:for-each select="marc:subfield">
2173 <xslo:if test="position() > 1">
2174 <xslo:value-of select="substring(' ', 1, 1)"/>
2176 <xslo:value-of select="."/>
2179 <xslo:value-of select="normalize-space($raw_heading)"/>
2182 <xslo:template mode="index_data_field" match="marc:datafield[@tag='711']">
2183 <z:index name="Author:w Author:p Author-name-corporate:w Name:w Conference-name:w">
2184 <xslo:variable name="raw_heading">
2185 <xslo:for-each select="marc:subfield">
2186 <xslo:if test="position() > 1">
2187 <xslo:value-of select="substring(' ', 1, 1)"/>
2189 <xslo:value-of select="."/>
2192 <xslo:value-of select="normalize-space($raw_heading)"/>
2195 <xslo:template mode="index_data_field" match="marc:datafield[@tag='730']">
2196 <z:index name="Title:w Title:p Title-uniform:w">
2197 <xslo:variable name="raw_heading">
2198 <xslo:for-each select="marc:subfield">
2199 <xslo:if test="position() > 1">
2200 <xslo:value-of select="substring(' ', 1, 1)"/>
2202 <xslo:value-of select="."/>
2205 <xslo:value-of select="normalize-space($raw_heading)"/>
2208 <xslo:template mode="index_data_field" match="marc:datafield[@tag='740']">
2209 <z:index name="Title:w Title:p Title-other-variant:w">
2210 <xslo:variable name="raw_heading">
2211 <xslo:for-each select="marc:subfield">
2212 <xslo:if test="position() > 1">
2213 <xslo:value-of select="substring(' ', 1, 1)"/>
2215 <xslo:value-of select="."/>
2218 <xslo:value-of select="normalize-space($raw_heading)"/>
2221 <xslo:template mode="index_data_field" match="marc:datafield[@tag='751']">
2222 <z:index name="Name-geographic:w">
2223 <xslo:variable name="raw_heading">
2224 <xslo:for-each select="marc:subfield">
2225 <xslo:if test="position() > 1">
2226 <xslo:value-of select="substring(' ', 1, 1)"/>
2228 <xslo:value-of select="."/>
2231 <xslo:value-of select="normalize-space($raw_heading)"/>
2234 <xslo:template mode="index_data_field" match="marc:datafield[@tag='780']">
2235 <z:index name="Title:w Title:p Title-former:w Related-periodical:w">
2236 <xslo:variable name="raw_heading">
2237 <xslo:for-each select="marc:subfield">
2238 <xslo:if test="position() > 1">
2239 <xslo:value-of select="substring(' ', 1, 1)"/>
2241 <xslo:value-of select="."/>
2244 <xslo:value-of select="normalize-space($raw_heading)"/>
2247 <xslo:template mode="index_data_field" match="marc:datafield[@tag='785']">
2248 <z:index name="Title:w Title:p Title-later:w Related-periodical:w">
2249 <xslo:variable name="raw_heading">
2250 <xslo:for-each select="marc:subfield">
2251 <xslo:if test="position() > 1">
2252 <xslo:value-of select="substring(' ', 1, 1)"/>
2254 <xslo:value-of select="."/>
2257 <xslo:value-of select="normalize-space($raw_heading)"/>
2260 <xslo:template mode="index_data_field" match="marc:datafield[@tag='800']">
2261 <z:index name="Author:w Author-name-personal:w Name:w Personal-name:w">
2262 <xslo:variable name="raw_heading">
2263 <xslo:for-each select="marc:subfield">
2264 <xslo:if test="position() > 1">
2265 <xslo:value-of select="substring(' ', 1, 1)"/>
2267 <xslo:value-of select="."/>
2270 <xslo:value-of select="normalize-space($raw_heading)"/>
2273 <xslo:template mode="index_data_field" match="marc:datafield[@tag='810']">
2274 <z:index name="Author:w Corporate-name:w Author-name-corporate:w Name:w">
2275 <xslo:variable name="raw_heading">
2276 <xslo:for-each select="marc:subfield">
2277 <xslo:if test="position() > 1">
2278 <xslo:value-of select="substring(' ', 1, 1)"/>
2280 <xslo:value-of select="."/>
2283 <xslo:value-of select="normalize-space($raw_heading)"/>
2286 <xslo:template mode="index_data_field" match="marc:datafield[@tag='811']">
2287 <z:index name="Author:w Author-name-corporate:w Name:w Conference-name:w">
2288 <xslo:variable name="raw_heading">
2289 <xslo:for-each select="marc:subfield">
2290 <xslo:if test="position() > 1">
2291 <xslo:value-of select="substring(' ', 1, 1)"/>
2293 <xslo:value-of select="."/>
2296 <xslo:value-of select="normalize-space($raw_heading)"/>
2299 <xslo:template mode="index_data_field" match="marc:datafield[@tag='830']">
2300 <z:index name="Title:w Title-series:w Title-series:p">
2301 <xslo:variable name="raw_heading">
2302 <xslo:for-each select="marc:subfield">
2303 <xslo:if test="position() > 1">
2304 <xslo:value-of select="substring(' ', 1, 1)"/>
2306 <xslo:value-of select="."/>
2309 <xslo:value-of select="normalize-space($raw_heading)"/>
2312 <xslo:template mode="index_data_field" match="marc:datafield[@tag='840']">
2313 <z:index name="Title:w Title-series:w Title-series:p">
2314 <xslo:variable name="raw_heading">
2315 <xslo:for-each select="marc:subfield">
2316 <xslo:if test="position() > 1">
2317 <xslo:value-of select="substring(' ', 1, 1)"/>
2319 <xslo:value-of select="."/>
2322 <xslo:value-of select="normalize-space($raw_heading)"/>
2325 <xslo:template match="*">
2326 <z:index name="Any:w Any:p">
2327 <xslo:value-of select="."/>
2330 <xslo:template name="chopPunctuation">
2331 <xslo:param name="chopString"/>
2332 <xslo:variable name="length" select="string-length($chopString)"/>
2334 <xslo:when test="$length=0"/>
2335 <xslo:when test="contains('-,.:=;!%/', substring($chopString,$length,1))">
2336 <xslo:call-template name="chopPunctuation">
2337 <xslo:with-param name="chopString" select="substring($chopString,1,$length - 1)"/>
2338 </xslo:call-template>
2340 <xslo:when test="not($chopString)"/>
2342 <xslo:value-of select="$chopString"/>