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()"/>
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='007']">
61 <z:index name="Microform-generation:n">
62 <xslo:value-of select="substring(., 12, 1)"/>
64 <z:index name="Material-type:w">
65 <xslo:value-of select="."/>
67 <z:index name="ff7-00:w">
68 <xslo:value-of select="substring(., 1, 1)"/>
70 <z:index name="ff7-01:w">
71 <xslo:value-of select="substring(., 2, 1)"/>
73 <z:index name="ff7-02:w">
74 <xslo:value-of select="substring(., 3, 1)"/>
76 <z:index name="ff7-01-02:w">
77 <xslo:value-of select="substring(., 1, 2)"/>
80 <xslo:template match="marc:controlfield[@tag='008']">
81 <z:index name="date-entered-on-file:n">
82 <xslo:value-of select="substring(., 1, 5)"/>
84 <z:index name="date-entered-on-file:s">
85 <xslo:value-of select="substring(., 1, 5)"/>
87 <z:index name="pubdate:w">
88 <xslo:value-of select="substring(., 8, 4)"/>
90 <z:index name="pubdate:n">
91 <xslo:value-of select="substring(., 8, 4)"/>
93 <z:index name="pubdate:y">
94 <xslo:value-of select="substring(., 8, 4)"/>
96 <z:index name="pubdate:s">
97 <xslo:value-of select="substring(., 8, 4)"/>
100 <xslo:value-of select="substring(., 16, 3)"/>
102 <z:index name="ta:w">
103 <xslo:value-of select="substring(., 23, 1)"/>
105 <z:index name="ff8-23:w">
106 <xslo:value-of select="substring(., 24, 1)"/>
108 <z:index name="ff8-29:w">
109 <xslo:value-of select="substring(., 30, 1)"/>
111 <z:index name="lf:w">
112 <xslo:value-of select="substring(., 34, 1)"/>
114 <z:index name="bio:w">
115 <xslo:value-of select="substring(., 35, 1)"/>
117 <z:index name="ln:n">
118 <xslo:value-of select="substring(., 36, 3)"/>
120 <z:index name="ctype:w">
121 <xslo:value-of select="substring(., 25, 4)"/>
123 <z:index name="Record-source:w">
124 <xslo:value-of select="substring(., 40, 0)"/>
127 <xslo:template mode="index_subfields" match="marc:datafield[@tag='020']">
128 <xslo:for-each select="marc:subfield">
129 <xslo:if test="contains('a', @code)">
130 <z:index name="ISBN:w Identifier-standard:w">
131 <xslo:value-of select="."/>
136 <xslo:template mode="index_subfields" match="marc:datafield[@tag='022']">
137 <xslo:for-each select="marc:subfield">
138 <xslo:if test="contains('a', @code)">
139 <z:index name="ISSN:w ISBN:w">
140 <xslo:value-of select="."/>
145 <xslo:template mode="index_subfields" match="marc:datafield[@tag='100']">
146 <xslo:for-each select="marc:subfield">
147 <xslo:if test="contains('9', @code)">
148 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
149 <xslo:value-of select="."/>
153 <xslo:for-each select="marc:subfield">
154 <xslo:if test="contains('a', @code)">
155 <z:index name="Author:w Author:p Author:s Editor:w Author-personal-bibliography:w Author-personal-bibliography:p Author-personal-bibliography:s">
156 <xslo:value-of select="."/>
161 <xslo:template mode="index_subfields" match="marc:datafield[@tag='110']">
162 <xslo:for-each select="marc:subfield">
163 <xslo:if test="contains('9', @code)">
164 <z:index name="Koha-Auth-Number:w">
165 <xslo:value-of select="."/>
170 <xslo:template mode="index_subfields" match="marc:datafield[@tag='111']">
171 <xslo:for-each select="marc:subfield">
172 <xslo:if test="contains('9', @code)">
173 <z:index name="Koha-Auth-Number:w">
174 <xslo:value-of select="."/>
179 <xslo:template mode="index_subfields" match="marc:datafield[@tag='130']">
180 <xslo:for-each select="marc:subfield">
181 <xslo:if test="contains('i', @code)">
182 <z:index name="Thematic-number:w">
183 <xslo:value-of select="."/>
187 <xslo:for-each select="marc:subfield">
188 <xslo:if test="contains('n', @code)">
189 <z:index name="Thematic-number:w">
190 <xslo:value-of select="."/>
194 <xslo:for-each select="marc:subfield">
195 <xslo:if test="contains('r', @code)">
196 <z:index name="Music-key:w">
197 <xslo:value-of select="."/>
201 <xslo:for-each select="marc:subfield">
202 <xslo:if test="contains('9', @code)">
203 <z:index name="Koha-Auth-Number:w">
204 <xslo:value-of select="."/>
209 <xslo:template mode="index_subfields" match="marc:datafield[@tag='240']">
210 <xslo:for-each select="marc:subfield">
211 <xslo:if test="contains('i', @code)">
212 <z:index name="Thematic-number:w">
213 <xslo:value-of select="."/>
217 <xslo:for-each select="marc:subfield">
218 <xslo:if test="contains('r', @code)">
219 <z:index name="Music-key:w">
220 <xslo:value-of select="."/>
224 <xslo:for-each select="marc:subfield">
225 <xslo:if test="contains('n', @code)">
226 <z:index name="Thematic-number:w">
227 <xslo:value-of select="."/>
232 <xslo:template mode="index_subfields" match="marc:datafield[@tag='245']">
233 <xslo:for-each select="marc:subfield">
234 <xslo:if test="contains('a', @code)">
235 <z:index name="Title-cover:w Title-cover:p Title-cover:s Title:w Title:p Title:s">
236 <xslo:value-of select="."/>
240 <xslo:for-each select="marc:subfield">
241 <xslo:if test="contains('c', @code)">
242 <z:index name="Author:w Author-in-order:w Author-in-order:p Author-in-order:s">
243 <xslo:value-of select="."/>
247 <xslo:for-each select="marc:subfield">
248 <xslo:if test="contains('9', @code)">
249 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
250 <xslo:value-of select="."/>
255 <xslo:template mode="index_subfields" match="marc:datafield[@tag='260']">
256 <xslo:for-each select="marc:subfield">
257 <xslo:if test="contains('a', @code)">
258 <z:index name="pl:w pl:p">
259 <xslo:value-of select="."/>
263 <xslo:for-each select="marc:subfield">
264 <xslo:if test="contains('b', @code)">
265 <z:index name="Publisher:w Publisher:p">
266 <xslo:value-of select="."/>
270 <xslo:for-each select="marc:subfield">
271 <xslo:if test="contains('c', @code)">
272 <z:index name="copydate:w copydate:s">
273 <xslo:value-of select="."/>
278 <xslo:template mode="index_subfields" match="marc:datafield[@tag='440']">
279 <xslo:for-each select="marc:subfield">
280 <xslo:if test="contains('a', @code)">
281 <z:index name="Title-series:w Title-series:p">
282 <xslo:value-of select="."/>
286 <xslo:for-each select="marc:subfield">
287 <xslo:if test="contains('9', @code)">
288 <z:index name="Koha-Auth-Number:w">
289 <xslo:value-of select="."/>
294 <xslo:template mode="index_subfields" match="marc:datafield[@tag='490']">
295 <xslo:for-each select="marc:subfield">
296 <xslo:if test="contains('a', @code)">
297 <z:index name="Title-series:w Title-series:p">
298 <xslo:value-of select="."/>
302 <xslo:for-each select="marc:subfield">
303 <xslo:if test="contains('9', @code)">
304 <z:index name="Koha-Auth-Number:w">
305 <xslo:value-of select="."/>
310 <xslo:template mode="index_subfields" match="marc:datafield[@tag='600']">
311 <xslo:for-each select="marc:subfield">
312 <xslo:if test="contains('a', @code)">
313 <z:index name="Name-and-title:w Name:w Personal-name:w Subject-name-personal:w Subject:w Subject:p">
314 <xslo:value-of select="."/>
318 <xslo:for-each select="marc:subfield">
319 <xslo:if test="contains('t', @code)">
320 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
321 <xslo:value-of select="."/>
325 <xslo:for-each select="marc:subfield">
326 <xslo:if test="contains('9', @code)">
327 <z:index name="Koha-Auth-Number:w">
328 <xslo:value-of select="."/>
333 <xslo:template mode="index_subfields" match="marc:datafield[@tag='610']">
334 <xslo:for-each select="marc:subfield">
335 <xslo:if test="contains('a', @code)">
336 <z:index name="Name-and-title:w Subject:w Subject:p">
337 <xslo:value-of select="."/>
341 <xslo:for-each select="marc:subfield">
342 <xslo:if test="contains('t', @code)">
343 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
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='611']">
357 <xslo:for-each select="marc:subfield">
358 <xslo:if test="contains('a', @code)">
359 <z:index name="Name-and-title:w Subject:w Subject:p">
360 <xslo:value-of select="."/>
364 <xslo:for-each select="marc:subfield">
365 <xslo:if test="contains('t', @code)">
366 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
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='630']">
380 <xslo:for-each select="marc:subfield">
381 <xslo:if test="contains('i', @code)">
382 <z:index name="Thematic-number:w Subject:w Subject:p">
383 <xslo:value-of select="."/>
387 <xslo:for-each select="marc:subfield">
388 <xslo:if test="contains('n', @code)">
389 <z:index name="Thematic-number:w Subject:w Subject:p">
390 <xslo:value-of select="."/>
394 <xslo:for-each select="marc:subfield">
395 <xslo:if test="contains('r', @code)">
396 <z:index name="Music-key:w Subject:w Subject: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='650']">
410 <xslo:for-each select="marc:subfield">
411 <xslo:if test="contains('9', @code)">
412 <z:index name="Koha-Auth-Number:w">
413 <xslo:value-of select="."/>
418 <xslo:template mode="index_subfields" match="marc:datafield[@tag='651']">
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='652']">
428 <xslo:for-each select="marc:subfield">
429 <xslo:if test="contains('9', @code)">
430 <z:index name="Koha-Auth-Number:w">
431 <xslo:value-of select="."/>
436 <xslo:template mode="index_subfields" match="marc:datafield[@tag='653']">
437 <xslo:for-each select="marc:subfield">
438 <xslo:if test="contains('9', @code)">
439 <z:index name="Koha-Auth-Number:w">
440 <xslo:value-of select="."/>
445 <xslo:template mode="index_subfields" match="marc:datafield[@tag='654']">
446 <xslo:for-each select="marc:subfield">
447 <xslo:if test="contains('9', @code)">
448 <z:index name="Koha-Auth-Number:w">
449 <xslo:value-of select="."/>
454 <xslo:template mode="index_subfields" match="marc:datafield[@tag='655']">
455 <xslo:for-each select="marc:subfield">
456 <xslo:if test="contains('9', @code)">
457 <z:index name="Koha-Auth-Number:w">
458 <xslo:value-of select="."/>
463 <xslo:template mode="index_subfields" match="marc:datafield[@tag='656']">
464 <xslo:for-each select="marc:subfield">
465 <xslo:if test="contains('9', @code)">
466 <z:index name="Koha-Auth-Number:w">
467 <xslo:value-of select="."/>
472 <xslo:template mode="index_subfields" match="marc:datafield[@tag='657']">
473 <xslo:for-each select="marc:subfield">
474 <xslo:if test="contains('9', @code)">
475 <z:index name="Koha-Auth-Number:w">
476 <xslo:value-of select="."/>
481 <xslo:template mode="index_subfields" match="marc:datafield[@tag='690']">
482 <xslo:for-each select="marc:subfield">
483 <xslo:if test="contains('9', @code)">
484 <z:index name="Koha-Auth-Number:w">
485 <xslo:value-of select="."/>
490 <xslo:template mode="index_subfields" match="marc:datafield[@tag='700']">
491 <xslo:for-each select="marc:subfield">
492 <xslo:if test="contains('9', @code)">
493 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
494 <xslo:value-of select="."/>
498 <xslo:for-each select="marc:subfield">
499 <xslo:if test="contains('a', @code)">
500 <z:index name="Author:w Author:p">
501 <xslo:value-of select="."/>
505 <xslo:for-each select="marc:subfield">
506 <xslo:if test="contains('i', @code)">
507 <z:index name="Thematic-number:w">
508 <xslo:value-of select="."/>
512 <xslo:for-each select="marc:subfield">
513 <xslo:if test="contains('n', @code)">
514 <z:index name="Thematic-number:w">
515 <xslo:value-of select="."/>
519 <xslo:for-each select="marc:subfield">
520 <xslo:if test="contains('r', @code)">
521 <z:index name="Music-key:w">
522 <xslo:value-of select="."/>
526 <xslo:for-each select="marc:subfield">
527 <xslo:if test="contains('t', @code)">
528 <z:index name="Author-title:w Name-and-title:w Title:w Title-uniform:w">
529 <xslo:value-of select="."/>
534 <xslo:template mode="index_subfields" match="marc:datafield[@tag='710']">
535 <xslo:for-each select="marc:subfield">
536 <xslo:if test="contains('t', @code)">
537 <z:index name="Author-title:w Name-and-title:w Title:w Title-uniform:w">
538 <xslo:value-of select="."/>
542 <xslo:for-each select="marc:subfield">
543 <xslo:if test="contains('a', @code)">
544 <z:index name="Name-and-title:w">
545 <xslo:value-of select="."/>
549 <xslo:for-each select="marc:subfield">
550 <xslo:if test="contains('i', @code)">
551 <z:index name="Thematic-number:w">
552 <xslo:value-of select="."/>
556 <xslo:for-each select="marc:subfield">
557 <xslo:if test="contains('9', @code)">
558 <z:index name="Koha-Auth-Number:w">
559 <xslo:value-of select="."/>
564 <xslo:template mode="index_subfields" match="marc:datafield[@tag='711']">
565 <xslo:for-each select="marc:subfield">
566 <xslo:if test="contains('a', @code)">
567 <z:index name="Name-and-title:w">
568 <xslo:value-of select="."/>
572 <xslo:for-each select="marc:subfield">
573 <xslo:if test="contains('t', @code)">
574 <z:index name="Author-title:w Title:w Title-uniform:w">
575 <xslo:value-of select="."/>
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='730']">
588 <xslo:for-each select="marc:subfield">
589 <xslo:if test="contains('i', @code)">
590 <z:index name="Thematic-number:w">
591 <xslo:value-of select="."/>
595 <xslo:for-each select="marc:subfield">
596 <xslo:if test="contains('n', @code)">
597 <z:index name="Thematic-number:w">
598 <xslo:value-of select="."/>
602 <xslo:for-each select="marc:subfield">
603 <xslo:if test="contains('r', @code)">
604 <z:index name="Music-key:w">
605 <xslo:value-of select="."/>
609 <xslo:for-each select="marc:subfield">
610 <xslo:if test="contains('9', @code)">
611 <z:index name="Koha-Auth-Number:w">
612 <xslo:value-of select="."/>
617 <xslo:template mode="index_subfields" match="marc:datafield[@tag='773']">
618 <xslo:for-each select="marc:subfield">
619 <xslo:if test="contains('t', @code)">
620 <z:index name="Host-item:w">
621 <xslo:value-of select="."/>
626 <xslo:template mode="index_subfields" match="marc:datafield[@tag='780']">
627 <xslo:for-each select="marc:subfield">
628 <xslo:if test="contains('t', @code)">
629 <z:index name="Title:w">
630 <xslo:value-of select="."/>
635 <xslo:template mode="index_subfields" match="marc:datafield[@tag='800']">
636 <xslo:for-each select="marc:subfield">
637 <xslo:if test="contains('a', @code)">
638 <z:index name="Name-and-title:w">
639 <xslo:value-of select="."/>
643 <xslo:for-each select="marc:subfield">
644 <xslo:if test="contains('t', @code)">
645 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w">
646 <xslo:value-of select="."/>
650 <xslo:for-each select="marc:subfield">
651 <xslo:if test="contains('9', @code)">
652 <z:index name="Koha-Auth-Number:w">
653 <xslo:value-of select="."/>
658 <xslo:template mode="index_subfields" match="marc:datafield[@tag='810']">
659 <xslo:for-each select="marc:subfield">
660 <xslo:if test="contains('a', @code)">
661 <z:index name="Name-and-title:w">
662 <xslo:value-of select="."/>
666 <xslo:for-each select="marc:subfield">
667 <xslo:if test="contains('t', @code)">
668 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w">
669 <xslo:value-of select="."/>
673 <xslo:for-each select="marc:subfield">
674 <xslo:if test="contains('9', @code)">
675 <z:index name="Koha-Auth-Number:w">
676 <xslo:value-of select="."/>
681 <xslo:template mode="index_subfields" match="marc:datafield[@tag='811']">
682 <xslo:for-each select="marc:subfield">
683 <xslo:if test="contains('a', @code)">
684 <z:index name="Name-and-title:w">
685 <xslo:value-of select="."/>
689 <xslo:for-each select="marc:subfield">
690 <xslo:if test="contains('9', @code)">
691 <z:index name="Koha-Auth-Number:w">
692 <xslo:value-of select="."/>
696 <xslo:for-each select="marc:subfield">
697 <xslo:if test="contains('t', @code)">
698 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w">
699 <xslo:value-of select="."/>
704 <xslo:template mode="index_subfields" match="marc:datafield[@tag='830']">
705 <xslo:for-each select="marc:subfield">
706 <xslo:if test="contains('9', @code)">
707 <z:index name="Koha-Auth-Number:w">
708 <xslo:value-of select="."/>
713 <xslo:template mode="index_subfields" match="marc:datafield[@tag='999']">
714 <xslo:for-each select="marc:subfield">
715 <xslo:if test="contains('c', @code)">
716 <z:index name="Local-Number:n Local-Number:w Local-Number:s">
717 <xslo:value-of select="."/>
721 <xslo:for-each select="marc:subfield">
722 <xslo:if test="contains('d', @code)">
723 <z:index name="biblioitemnumber:n biblioitemnumber:w biblioitemnumber:s">
724 <xslo:value-of select="."/>
729 <xslo:template mode="index_subfields" match="marc:datafield[@tag='942']">
730 <xslo:for-each select="marc:subfield">
731 <xslo:if test="contains('0', @code)">
732 <z:index name="totalissues:n totalissues:s">
733 <xslo:value-of select="."/>
737 <xslo:for-each select="marc:subfield">
738 <xslo:if test="contains('2', @code)">
739 <z:index name="cn-bib-source:w">
740 <xslo:value-of select="."/>
744 <xslo:for-each select="marc:subfield">
745 <xslo:if test="contains('6', @code)">
746 <z:index name="cn-bib-sort:n cn-bib-sort:s">
747 <xslo:value-of select="."/>
751 <xslo:for-each select="marc:subfield">
752 <xslo:if test="contains('c', @code)">
753 <z:index name="itemtype:w">
754 <xslo:value-of select="."/>
758 <xslo:for-each select="marc:subfield">
759 <xslo:if test="contains('n', @code)">
760 <z:index name="Suppress:w Suppress:n">
761 <xslo:value-of select="."/>
765 <xslo:for-each select="marc:subfield">
766 <xslo:if test="contains('h', @code)">
767 <z:index name="cn-class:w">
768 <xslo:value-of select="."/>
772 <xslo:for-each select="marc:subfield">
773 <xslo:if test="contains('i', @code)">
774 <z:index name="cn-item:w">
775 <xslo:value-of select="."/>
779 <xslo:for-each select="marc:subfield">
780 <xslo:if test="contains('k', @code)">
781 <z:index name="cn-prefix:w">
782 <xslo:value-of select="."/>
786 <xslo:for-each select="marc:subfield">
787 <xslo:if test="contains('m', @code)">
788 <z:index name="cn-suffix:w">
789 <xslo:value-of select="."/>
794 <xslo:template mode="index_subfields" match="marc:datafield[@tag='952']">
795 <xslo:for-each select="marc:subfield">
796 <xslo:if test="contains('0', @code)">
797 <z:index name="withdrawn:n withdrawn:w">
798 <xslo:value-of select="."/>
802 <xslo:for-each select="marc:subfield">
803 <xslo:if test="contains('1', @code)">
804 <z:index name="lost:w lost:n">
805 <xslo:value-of select="."/>
809 <xslo:for-each select="marc:subfield">
810 <xslo:if test="contains('2', @code)">
811 <z:index name="classification-source:w">
812 <xslo:value-of select="."/>
816 <xslo:for-each select="marc:subfield">
817 <xslo:if test="contains('3', @code)">
818 <z:index name="materials-specified:w">
819 <xslo:value-of select="."/>
823 <xslo:for-each select="marc:subfield">
824 <xslo:if test="contains('4', @code)">
825 <z:index name="damaged:n damaged:w">
826 <xslo:value-of select="."/>
830 <xslo:for-each select="marc:subfield">
831 <xslo:if test="contains('5', @code)">
832 <z:index name="restricted:n restricted:w">
833 <xslo:value-of select="."/>
837 <xslo:for-each select="marc:subfield">
838 <xslo:if test="contains('6', @code)">
839 <z:index name="cn-sort:n cn-sort:s">
840 <xslo:value-of select="."/>
844 <xslo:for-each select="marc:subfield">
845 <xslo:if test="contains('7', @code)">
846 <z:index name="notforloan:n notforloan:w">
847 <xslo:value-of select="."/>
851 <xslo:for-each select="marc:subfield">
852 <xslo:if test="contains('8', @code)">
853 <z:index name="ccode:w">
854 <xslo:value-of select="."/>
858 <xslo:for-each select="marc:subfield">
859 <xslo:if test="contains('9', @code)">
860 <z:index name="itemnumber:n itemnumber:s">
861 <xslo:value-of select="."/>
865 <xslo:for-each select="marc:subfield">
866 <xslo:if test="contains('a', @code)">
867 <z:index name="homebranch:w">
868 <xslo:value-of select="."/>
872 <xslo:for-each select="marc:subfield">
873 <xslo:if test="contains('b', @code)">
874 <z:index name="holdingbranch:w">
875 <xslo:value-of select="."/>
879 <xslo:for-each select="marc:subfield">
880 <xslo:if test="contains('c', @code)">
881 <z:index name="location:w">
882 <xslo:value-of select="."/>
886 <xslo:for-each select="marc:subfield">
887 <xslo:if test="contains('d', @code)">
888 <z:index name="Date-of-acquisition:w Date-of-acquisition:d Date-of-acquisition:s">
889 <xslo:value-of select="."/>
893 <xslo:for-each select="marc:subfield">
894 <xslo:if test="contains('e', @code)">
895 <z:index name="acqsource:w">
896 <xslo:value-of select="."/>
900 <xslo:for-each select="marc:subfield">
901 <xslo:if test="contains('f', @code)">
902 <z:index name="coded-location-qualifier:w">
903 <xslo:value-of select="."/>
907 <xslo:for-each select="marc:subfield">
908 <xslo:if test="contains('g', @code)">
909 <z:index name="price:w">
910 <xslo:value-of select="."/>
914 <xslo:for-each select="marc:subfield">
915 <xslo:if test="contains('j', @code)">
916 <z:index name="stack:n stack:w">
917 <xslo:value-of select="."/>
921 <xslo:for-each select="marc:subfield">
922 <xslo:if test="contains('l', @code)">
923 <z:index name="issues:n issues:w issues:s">
924 <xslo:value-of select="."/>
928 <xslo:for-each select="marc:subfield">
929 <xslo:if test="contains('m', @code)">
930 <z:index name="renewals:n renewals:w">
931 <xslo:value-of select="."/>
935 <xslo:for-each select="marc:subfield">
936 <xslo:if test="contains('n', @code)">
937 <z:index name="reserves:n reserves:w">
938 <xslo:value-of select="."/>
942 <xslo:for-each select="marc:subfield">
943 <xslo:if test="contains('o', @code)">
944 <z:index name="Local-classification:w Local-classification:p Local-classification:s">
945 <xslo:value-of select="."/>
949 <xslo:for-each select="marc:subfield">
950 <xslo:if test="contains('p', @code)">
951 <z:index name="barcode:w barcode:n">
952 <xslo:value-of select="."/>
956 <xslo:for-each select="marc:subfield">
957 <xslo:if test="contains('q', @code)">
958 <z:index name="onloan:n onloan:w">
959 <xslo:value-of select="."/>
963 <xslo:for-each select="marc:subfield">
964 <xslo:if test="contains('r', @code)">
965 <z:index name="datelastseen:w">
966 <xslo:value-of select="."/>
970 <xslo:for-each select="marc:subfield">
971 <xslo:if test="contains('s', @code)">
972 <z:index name="datelastborrowed:w">
973 <xslo:value-of select="."/>
977 <xslo:for-each select="marc:subfield">
978 <xslo:if test="contains('t', @code)">
979 <z:index name="copynumber:w">
980 <xslo:value-of select="."/>
984 <xslo:for-each select="marc:subfield">
985 <xslo:if test="contains('u', @code)">
986 <z:index name="uri:u">
987 <xslo:value-of select="."/>
991 <xslo:for-each select="marc:subfield">
992 <xslo:if test="contains('v', @code)">
993 <z:index name="replacementprice:w">
994 <xslo:value-of select="."/>
998 <xslo:for-each select="marc:subfield">
999 <xslo:if test="contains('w', @code)">
1000 <z:index name="replacementpricedate:w">
1001 <xslo:value-of select="."/>
1005 <xslo:for-each select="marc:subfield">
1006 <xslo:if test="contains('y', @code)">
1007 <z:index name="itype:w">
1008 <xslo:value-of select="."/>
1013 <xslo:template mode="index_data_field" match="marc:datafield[@tag='010']">
1014 <z:index name="LC-card-number:w Identifier-standard:w">
1015 <xslo:variable name="raw_heading">
1016 <xslo:for-each select="marc:subfield">
1017 <xslo:if test="position() > 1">
1018 <xslo:value-of select="substring(' ', 1, 1)"/>
1020 <xslo:value-of select="."/>
1023 <xslo:value-of select="normalize-space($raw_heading)"/>
1026 <xslo:template mode="index_data_field" match="marc:datafield[@tag='015']">
1027 <z:index name="BNB-card-number:w BGF-number:w Number-db:w Number-natl-biblio:w Identifier-standard:w">
1028 <xslo:variable name="raw_heading">
1029 <xslo:for-each select="marc:subfield">
1030 <xslo:if test="position() > 1">
1031 <xslo:value-of select="substring(' ', 1, 1)"/>
1033 <xslo:value-of select="."/>
1036 <xslo:value-of select="normalize-space($raw_heading)"/>
1039 <xslo:template mode="index_data_field" match="marc:datafield[@tag='020']">
1040 <z:index name="ISBN:w Identifier-standard:w">
1041 <xslo:variable name="raw_heading">
1042 <xslo:for-each select="marc:subfield">
1043 <xslo:if test="position() > 1">
1044 <xslo:value-of select="substring(' ', 1, 1)"/>
1046 <xslo:value-of select="."/>
1049 <xslo:value-of select="normalize-space($raw_heading)"/>
1052 <xslo:template mode="index_data_field" match="marc:datafield[@tag='022']">
1053 <z:index name="ISSN:w Identifier-standard:w">
1054 <xslo:variable name="raw_heading">
1055 <xslo:for-each select="marc:subfield">
1056 <xslo:if test="position() > 1">
1057 <xslo:value-of select="substring(' ', 1, 1)"/>
1059 <xslo:value-of select="."/>
1062 <xslo:value-of select="normalize-space($raw_heading)"/>
1065 <xslo:template mode="index_data_field" match="marc:datafield[@tag='024']">
1066 <z:index name="Identifier-standard:w">
1067 <xslo:variable name="raw_heading">
1068 <xslo:for-each select="marc:subfield">
1069 <xslo:if test="position() > 1">
1070 <xslo:value-of select="substring(' ', 1, 1)"/>
1072 <xslo:value-of select="."/>
1075 <xslo:value-of select="normalize-space($raw_heading)"/>
1078 <xslo:template mode="index_data_field" match="marc:datafield[@tag='025']">
1079 <z:index name="Identifier-standard:w">
1080 <xslo:variable name="raw_heading">
1081 <xslo:for-each select="marc:subfield">
1082 <xslo:if test="position() > 1">
1083 <xslo:value-of select="substring(' ', 1, 1)"/>
1085 <xslo:value-of select="."/>
1088 <xslo:value-of select="normalize-space($raw_heading)"/>
1091 <xslo:template mode="index_data_field" match="marc:datafield[@tag='027']">
1092 <z:index name="Report-number:w Identifier-standard:w">
1093 <xslo:variable name="raw_heading">
1094 <xslo:for-each select="marc:subfield">
1095 <xslo:if test="position() > 1">
1096 <xslo:value-of select="substring(' ', 1, 1)"/>
1098 <xslo:value-of select="."/>
1101 <xslo:value-of select="normalize-space($raw_heading)"/>
1104 <xslo:template mode="index_data_field" match="marc:datafield[@tag='028']">
1105 <z:index name="Number-music-publisher:w Identifier-standard:w">
1106 <xslo:variable name="raw_heading">
1107 <xslo:for-each select="marc:subfield">
1108 <xslo:if test="position() > 1">
1109 <xslo:value-of select="substring(' ', 1, 1)"/>
1111 <xslo:value-of select="."/>
1114 <xslo:value-of select="normalize-space($raw_heading)"/>
1117 <xslo:template mode="index_data_field" match="marc:datafield[@tag='030']">
1118 <z:index name="CODEN:w Identifier-standard:w">
1119 <xslo:variable name="raw_heading">
1120 <xslo:for-each select="marc:subfield">
1121 <xslo:if test="position() > 1">
1122 <xslo:value-of select="substring(' ', 1, 1)"/>
1124 <xslo:value-of select="."/>
1127 <xslo:value-of select="normalize-space($raw_heading)"/>
1130 <xslo:template mode="index_data_field" match="marc:datafield[@tag='040']">
1131 <z:index name="Code-institution:w Record-source:w">
1132 <xslo:variable name="raw_heading">
1133 <xslo:for-each select="marc:subfield">
1134 <xslo:if test="position() > 1">
1135 <xslo:value-of select="substring(' ', 1, 1)"/>
1137 <xslo:value-of select="."/>
1140 <xslo:value-of select="normalize-space($raw_heading)"/>
1143 <xslo:template mode="index_data_field" match="marc:datafield[@tag='041']">
1144 <z:index name="ln:w">
1145 <xslo:variable name="raw_heading">
1146 <xslo:for-each select="marc:subfield">
1147 <xslo:if test="position() > 1">
1148 <xslo:value-of select="substring(' ', 1, 1)"/>
1150 <xslo:value-of select="."/>
1153 <xslo:value-of select="normalize-space($raw_heading)"/>
1156 <xslo:template mode="index_data_field" match="marc:datafield[@tag='043']">
1157 <z:index name="Code-geographic:w">
1158 <xslo:variable name="raw_heading">
1159 <xslo:for-each select="marc:subfield">
1160 <xslo:if test="position() > 1">
1161 <xslo:value-of select="substring(' ', 1, 1)"/>
1163 <xslo:value-of select="."/>
1166 <xslo:value-of select="normalize-space($raw_heading)"/>
1169 <xslo:template mode="index_data_field" match="marc:datafield[@tag='060']">
1170 <z:index name="NLM-call-number:w">
1171 <xslo:variable name="raw_heading">
1172 <xslo:for-each select="marc:subfield">
1173 <xslo:if test="position() > 1">
1174 <xslo:value-of select="substring(' ', 1, 1)"/>
1176 <xslo:value-of select="."/>
1179 <xslo:value-of select="normalize-space($raw_heading)"/>
1182 <xslo:template mode="index_data_field" match="marc:datafield[@tag='080']">
1183 <z:index name="UDC-classification:w">
1184 <xslo:variable name="raw_heading">
1185 <xslo:for-each select="marc:subfield">
1186 <xslo:if test="position() > 1">
1187 <xslo:value-of select="substring(' ', 1, 1)"/>
1189 <xslo:value-of select="."/>
1192 <xslo:value-of select="normalize-space($raw_heading)"/>
1195 <xslo:template mode="index_data_field" match="marc:datafield[@tag='082']">
1196 <z:index name="Dewey-classification:w Dewey-classification:s">
1197 <xslo:variable name="raw_heading">
1198 <xslo:for-each select="marc:subfield">
1199 <xslo:if test="position() > 1">
1200 <xslo:value-of select="substring(' ', 1, 1)"/>
1202 <xslo:value-of select="."/>
1205 <xslo:value-of select="normalize-space($raw_heading)"/>
1208 <xslo:template mode="index_data_field" match="marc:datafield[@tag='100']">
1209 <z:index name="Author:w Author-title:w Author-name-personal:w Name:w Name-and-title:w Personal-name:w">
1210 <xslo:variable name="raw_heading">
1211 <xslo:for-each select="marc:subfield">
1212 <xslo:if test="position() > 1">
1213 <xslo:value-of select="substring(' ', 1, 1)"/>
1215 <xslo:value-of select="."/>
1218 <xslo:value-of select="normalize-space($raw_heading)"/>
1221 <xslo:template mode="index_data_field" match="marc:datafield[@tag='110']">
1222 <z:index name="Author:w Author-title:w Author-name-corporate:w Name:w Name-and-title:w Corporate-name:w">
1223 <xslo:variable name="raw_heading">
1224 <xslo:for-each select="marc:subfield">
1225 <xslo:if test="position() > 1">
1226 <xslo:value-of select="substring(' ', 1, 1)"/>
1228 <xslo:value-of select="."/>
1231 <xslo:value-of select="normalize-space($raw_heading)"/>
1234 <xslo:template mode="index_data_field" match="marc:datafield[@tag='111']">
1235 <z:index name="Author:w Author-title:w Author-name-corporate:w Name:w Name-and-title:w Conference-name:w">
1236 <xslo:variable name="raw_heading">
1237 <xslo:for-each select="marc:subfield">
1238 <xslo:if test="position() > 1">
1239 <xslo:value-of select="substring(' ', 1, 1)"/>
1241 <xslo:value-of select="."/>
1244 <xslo:value-of select="normalize-space($raw_heading)"/>
1247 <xslo:template mode="index_data_field" match="marc:datafield[@tag='130']">
1248 <z:index name="Title:w Title-uniform:w">
1249 <xslo:variable name="raw_heading">
1250 <xslo:for-each select="marc:subfield">
1251 <xslo:if test="position() > 1">
1252 <xslo:value-of select="substring(' ', 1, 1)"/>
1254 <xslo:value-of select="."/>
1257 <xslo:value-of select="normalize-space($raw_heading)"/>
1260 <xslo:template mode="index_data_field" match="marc:datafield[@tag='210']">
1261 <z:index name="Title:w Title-abbreviated:w">
1262 <xslo:variable name="raw_heading">
1263 <xslo:for-each select="marc:subfield">
1264 <xslo:if test="position() > 1">
1265 <xslo:value-of select="substring(' ', 1, 1)"/>
1267 <xslo:value-of select="."/>
1270 <xslo:value-of select="normalize-space($raw_heading)"/>
1273 <xslo:template mode="index_data_field" match="marc:datafield[@tag='222']">
1274 <z:index name="Title:w Title-key:w">
1275 <xslo:variable name="raw_heading">
1276 <xslo:for-each select="marc:subfield">
1277 <xslo:if test="position() > 1">
1278 <xslo:value-of select="substring(' ', 1, 1)"/>
1280 <xslo:value-of select="."/>
1283 <xslo:value-of select="normalize-space($raw_heading)"/>
1286 <xslo:template mode="index_data_field" match="marc:datafield[@tag='240']">
1287 <z:index name="Title:w Title:p Title-uniform:w">
1288 <xslo:variable name="raw_heading">
1289 <xslo:for-each select="marc:subfield">
1290 <xslo:if test="position() > 1">
1291 <xslo:value-of select="substring(' ', 1, 1)"/>
1293 <xslo:value-of select="."/>
1296 <xslo:value-of select="normalize-space($raw_heading)"/>
1299 <xslo:template mode="index_data_field" match="marc:datafield[@tag='245']">
1300 <z:index name="Title:w Title:p">
1301 <xslo:variable name="raw_heading">
1302 <xslo:for-each select="marc:subfield">
1303 <xslo:if test="position() > 1">
1304 <xslo:value-of select="substring(' ', 1, 1)"/>
1306 <xslo:value-of select="."/>
1309 <xslo:value-of select="normalize-space($raw_heading)"/>
1312 <xslo:template mode="index_data_field" match="marc:datafield[@tag='246']">
1313 <z:index name="Title:w Title:p Title-abbreviated:w Title-expanded:w Title-former:w">
1314 <xslo:variable name="raw_heading">
1315 <xslo:for-each select="marc:subfield">
1316 <xslo:if test="position() > 1">
1317 <xslo:value-of select="substring(' ', 1, 1)"/>
1319 <xslo:value-of select="."/>
1322 <xslo:value-of select="normalize-space($raw_heading)"/>
1325 <xslo:template mode="index_data_field" match="marc:datafield[@tag='260']">
1326 <z:index name="pl:w">
1327 <xslo:variable name="raw_heading">
1328 <xslo:for-each select="marc:subfield">
1329 <xslo:if test="position() > 1">
1330 <xslo:value-of select="substring(' ', 1, 1)"/>
1332 <xslo:value-of select="."/>
1335 <xslo:value-of select="normalize-space($raw_heading)"/>
1338 <xslo:template mode="index_data_field" match="marc:datafield[@tag='300']">
1339 <z:index name="Extent:w Extent:p">
1340 <xslo:variable name="raw_heading">
1341 <xslo:for-each select="marc:subfield">
1342 <xslo:if test="position() > 1">
1343 <xslo:value-of select="substring(' ', 1, 1)"/>
1345 <xslo:value-of select="."/>
1348 <xslo:value-of select="normalize-space($raw_heading)"/>
1351 <xslo:template mode="index_data_field" match="marc:datafield[@tag='440']">
1352 <z:index name="Title-series:w Title-series:p Title:w Title-series:w">
1353 <xslo:variable name="raw_heading">
1354 <xslo:for-each select="marc:subfield">
1355 <xslo:if test="position() > 1">
1356 <xslo:value-of select="substring(' ', 1, 1)"/>
1358 <xslo:value-of select="."/>
1361 <xslo:value-of select="normalize-space($raw_heading)"/>
1364 <xslo:template mode="index_data_field" match="marc:datafield[@tag='490']">
1365 <z:index name="Title:w Title-series:w">
1366 <xslo:variable name="raw_heading">
1367 <xslo:for-each select="marc:subfield">
1368 <xslo:if test="position() > 1">
1369 <xslo:value-of select="substring(' ', 1, 1)"/>
1371 <xslo:value-of select="."/>
1374 <xslo:value-of select="normalize-space($raw_heading)"/>
1377 <xslo:template mode="index_data_field" match="marc:datafield[@tag='502']">
1378 <z:index name="Material-type:w">
1379 <xslo:variable name="raw_heading">
1380 <xslo:for-each select="marc:subfield">
1381 <xslo:if test="position() > 1">
1382 <xslo:value-of select="substring(' ', 1, 1)"/>
1384 <xslo:value-of select="."/>
1387 <xslo:value-of select="normalize-space($raw_heading)"/>
1390 <xslo:template mode="index_data_field" match="marc:datafield[@tag='505']">
1391 <z:index name="Note:w Note:p">
1392 <xslo:variable name="raw_heading">
1393 <xslo:for-each select="marc:subfield">
1394 <xslo:if test="position() > 1">
1395 <xslo:value-of select="substring(' ', 1, 1)"/>
1397 <xslo:value-of select="."/>
1400 <xslo:value-of select="normalize-space($raw_heading)"/>
1403 <xslo:template mode="index_data_field" match="marc:datafield[@tag='510']">
1404 <z:index name="Indexed-by:w">
1405 <xslo:variable name="raw_heading">
1406 <xslo:for-each select="marc:subfield">
1407 <xslo:if test="position() > 1">
1408 <xslo:value-of select="substring(' ', 1, 1)"/>
1410 <xslo:value-of select="."/>
1413 <xslo:value-of select="normalize-space($raw_heading)"/>
1416 <xslo:template mode="index_data_field" match="marc:datafield[@tag='520']">
1417 <z:index name="Abstract:w Abstract:p">
1418 <xslo:variable name="raw_heading">
1419 <xslo:for-each select="marc:subfield">
1420 <xslo:if test="position() > 1">
1421 <xslo:value-of select="substring(' ', 1, 1)"/>
1423 <xslo:value-of select="."/>
1426 <xslo:value-of select="normalize-space($raw_heading)"/>
1429 <xslo:template mode="index_data_field" match="marc:datafield[@tag='600']">
1430 <z:index name="Name:w Personal-name:w Subject-name-personal:w Subject:w Subject:p">
1431 <xslo:variable name="raw_heading">
1432 <xslo:for-each select="marc:subfield">
1433 <xslo:if test="position() > 1">
1434 <xslo:value-of select="substring(' ', 1, 1)"/>
1436 <xslo:value-of select="."/>
1439 <xslo:value-of select="normalize-space($raw_heading)"/>
1442 <xslo:template mode="index_data_field" match="marc:datafield[@tag='610']">
1443 <z:index name="Name:w Subject:w Corporate-name:w Subject:w Subject:p">
1444 <xslo:variable name="raw_heading">
1445 <xslo:for-each select="marc:subfield">
1446 <xslo:if test="position() > 1">
1447 <xslo:value-of select="substring(' ', 1, 1)"/>
1449 <xslo:value-of select="."/>
1452 <xslo:value-of select="normalize-space($raw_heading)"/>
1455 <xslo:template mode="index_data_field" match="marc:datafield[@tag='611']">
1456 <z:index name="Conference-name:w Subject:w Subject:p">
1457 <xslo:variable name="raw_heading">
1458 <xslo:for-each select="marc:subfield">
1459 <xslo:if test="position() > 1">
1460 <xslo:value-of select="substring(' ', 1, 1)"/>
1462 <xslo:value-of select="."/>
1465 <xslo:value-of select="normalize-space($raw_heading)"/>
1467 <z:index name="Name:w Subject:w Subject:p">
1468 <xslo:variable name="raw_heading">
1469 <xslo:for-each select="marc:subfield">
1470 <xslo:if test="position() > 1">
1471 <xslo:value-of select="substring(' ', 1, 1)"/>
1473 <xslo:value-of select="."/>
1476 <xslo:value-of select="normalize-space($raw_heading)"/>
1479 <xslo:template mode="index_data_field" match="marc:datafield[@tag='630']">
1480 <z:index name="Subject:w Subject:p">
1481 <xslo:variable name="raw_heading">
1482 <xslo:for-each select="marc:subfield">
1483 <xslo:if test="position() > 1">
1484 <xslo:value-of select="substring(' ', 1, 1)"/>
1486 <xslo:value-of select="."/>
1489 <xslo:value-of select="normalize-space($raw_heading)"/>
1492 <xslo:template mode="index_data_field" match="marc:datafield[@tag='650']">
1493 <z:index name="Subject:w Subject:p">
1494 <xslo:variable name="raw_heading">
1495 <xslo:for-each select="marc:subfield">
1496 <xslo:if test="position() > 1">
1497 <xslo:value-of select="substring(' ', 1, 1)"/>
1499 <xslo:value-of select="."/>
1502 <xslo:value-of select="normalize-space($raw_heading)"/>
1505 <xslo:template mode="index_data_field" match="marc:datafield[@tag='651']">
1506 <z:index name="Name-geographic:w Subject:w Subject:p">
1507 <xslo:variable name="raw_heading">
1508 <xslo:for-each select="marc:subfield">
1509 <xslo:if test="position() > 1">
1510 <xslo:value-of select="substring(' ', 1, 1)"/>
1512 <xslo:value-of select="."/>
1515 <xslo:value-of select="normalize-space($raw_heading)"/>
1518 <xslo:template mode="index_data_field" match="marc:datafield[@tag='653']">
1519 <z:index name="Subject:w Subject:p">
1520 <xslo:variable name="raw_heading">
1521 <xslo:for-each select="marc:subfield">
1522 <xslo:if test="position() > 1">
1523 <xslo:value-of select="substring(' ', 1, 1)"/>
1525 <xslo:value-of select="."/>
1528 <xslo:value-of select="normalize-space($raw_heading)"/>
1531 <xslo:template mode="index_data_field" match="marc:datafield[@tag='654']">
1532 <z:index name="Subject:w Subject:p">
1533 <xslo:variable name="raw_heading">
1534 <xslo:for-each select="marc:subfield">
1535 <xslo:if test="position() > 1">
1536 <xslo:value-of select="substring(' ', 1, 1)"/>
1538 <xslo:value-of select="."/>
1541 <xslo:value-of select="normalize-space($raw_heading)"/>
1544 <xslo:template mode="index_data_field" match="marc:datafield[@tag='655']">
1545 <z:index name="Subject:w Subject:p">
1546 <xslo:variable name="raw_heading">
1547 <xslo:for-each select="marc:subfield">
1548 <xslo:if test="position() > 1">
1549 <xslo:value-of select="substring(' ', 1, 1)"/>
1551 <xslo:value-of select="."/>
1554 <xslo:value-of select="normalize-space($raw_heading)"/>
1557 <xslo:template mode="index_data_field" match="marc:datafield[@tag='656']">
1558 <z:index name="Subject:w Subject:p">
1559 <xslo:variable name="raw_heading">
1560 <xslo:for-each select="marc:subfield">
1561 <xslo:if test="position() > 1">
1562 <xslo:value-of select="substring(' ', 1, 1)"/>
1564 <xslo:value-of select="."/>
1567 <xslo:value-of select="normalize-space($raw_heading)"/>
1570 <xslo:template mode="index_data_field" match="marc:datafield[@tag='657']">
1571 <z:index name="Subject:w Subject:p">
1572 <xslo:variable name="raw_heading">
1573 <xslo:for-each select="marc:subfield">
1574 <xslo:if test="position() > 1">
1575 <xslo:value-of select="substring(' ', 1, 1)"/>
1577 <xslo:value-of select="."/>
1580 <xslo:value-of select="normalize-space($raw_heading)"/>
1583 <xslo:template mode="index_data_field" match="marc:datafield[@tag='690']">
1584 <z:index name="Subject:w Subject:p">
1585 <xslo:variable name="raw_heading">
1586 <xslo:for-each select="marc:subfield">
1587 <xslo:if test="position() > 1">
1588 <xslo:value-of select="substring(' ', 1, 1)"/>
1590 <xslo:value-of select="."/>
1593 <xslo:value-of select="normalize-space($raw_heading)"/>
1596 <xslo:template mode="index_data_field" match="marc:datafield[@tag='700']">
1597 <z:index name="Author:w Author-name-corporate:w Author-name-personal:w Name:w Editor:w Personal-name:w">
1598 <xslo:variable name="raw_heading">
1599 <xslo:for-each select="marc:subfield">
1600 <xslo:if test="position() > 1">
1601 <xslo:value-of select="substring(' ', 1, 1)"/>
1603 <xslo:value-of select="."/>
1606 <xslo:value-of select="normalize-space($raw_heading)"/>
1609 <xslo:template mode="index_data_field" match="marc:datafield[@tag='710']">
1610 <z:index name="Author:w Corporate-name:w">
1611 <xslo:variable name="raw_heading">
1612 <xslo:for-each select="marc:subfield">
1613 <xslo:if test="position() > 1">
1614 <xslo:value-of select="substring(' ', 1, 1)"/>
1616 <xslo:value-of select="."/>
1619 <xslo:value-of select="normalize-space($raw_heading)"/>
1621 <z:index name="Author:w Name:w">
1622 <xslo:variable name="raw_heading">
1623 <xslo:for-each select="marc:subfield">
1624 <xslo:if test="position() > 1">
1625 <xslo:value-of select="substring(' ', 1, 1)"/>
1627 <xslo:value-of select="."/>
1630 <xslo:value-of select="normalize-space($raw_heading)"/>
1633 <xslo:template mode="index_data_field" match="marc:datafield[@tag='711']">
1634 <z:index name="Author-name-corporate:w Name:w Conference-name:w">
1635 <xslo:variable name="raw_heading">
1636 <xslo:for-each select="marc:subfield">
1637 <xslo:if test="position() > 1">
1638 <xslo:value-of select="substring(' ', 1, 1)"/>
1640 <xslo:value-of select="."/>
1643 <xslo:value-of select="normalize-space($raw_heading)"/>
1646 <xslo:template mode="index_data_field" match="marc:datafield[@tag='730']">
1647 <z:index name="Title:w Title-uniform:w">
1648 <xslo:variable name="raw_heading">
1649 <xslo:for-each select="marc:subfield">
1650 <xslo:if test="position() > 1">
1651 <xslo:value-of select="substring(' ', 1, 1)"/>
1653 <xslo:value-of select="."/>
1656 <xslo:value-of select="normalize-space($raw_heading)"/>
1659 <xslo:template mode="index_data_field" match="marc:datafield[@tag='740']">
1660 <z:index name="Title:w Title-other-variant:w">
1661 <xslo:variable name="raw_heading">
1662 <xslo:for-each select="marc:subfield">
1663 <xslo:if test="position() > 1">
1664 <xslo:value-of select="substring(' ', 1, 1)"/>
1666 <xslo:value-of select="."/>
1669 <xslo:value-of select="normalize-space($raw_heading)"/>
1672 <xslo:template mode="index_data_field" match="marc:datafield[@tag='780']">
1673 <z:index name="Title:w Title-former:w Related-periodical:w">
1674 <xslo:variable name="raw_heading">
1675 <xslo:for-each select="marc:subfield">
1676 <xslo:if test="position() > 1">
1677 <xslo:value-of select="substring(' ', 1, 1)"/>
1679 <xslo:value-of select="."/>
1682 <xslo:value-of select="normalize-space($raw_heading)"/>
1685 <xslo:template mode="index_data_field" match="marc:datafield[@tag='785']">
1686 <z:index name="Related-periodical:w">
1687 <xslo:variable name="raw_heading">
1688 <xslo:for-each select="marc:subfield">
1689 <xslo:if test="position() > 1">
1690 <xslo:value-of select="substring(' ', 1, 1)"/>
1692 <xslo:value-of select="."/>
1695 <xslo:value-of select="normalize-space($raw_heading)"/>
1698 <xslo:template mode="index_data_field" match="marc:datafield[@tag='800']">
1699 <z:index name="Author:w Author-name-personal:w Name:w Personal-name:w">
1700 <xslo:variable name="raw_heading">
1701 <xslo:for-each select="marc:subfield">
1702 <xslo:if test="position() > 1">
1703 <xslo:value-of select="substring(' ', 1, 1)"/>
1705 <xslo:value-of select="."/>
1708 <xslo:value-of select="normalize-space($raw_heading)"/>
1711 <xslo:template mode="index_data_field" match="marc:datafield[@tag='810']">
1712 <z:index name="Author:w Corporate-name:w Author-name-corporate:w Name:w">
1713 <xslo:variable name="raw_heading">
1714 <xslo:for-each select="marc:subfield">
1715 <xslo:if test="position() > 1">
1716 <xslo:value-of select="substring(' ', 1, 1)"/>
1718 <xslo:value-of select="."/>
1721 <xslo:value-of select="normalize-space($raw_heading)"/>
1724 <xslo:template mode="index_data_field" match="marc:datafield[@tag='811']">
1725 <z:index name="Author:w Author-name-corporate:w Name:w Conference-name:w">
1726 <xslo:variable name="raw_heading">
1727 <xslo:for-each select="marc:subfield">
1728 <xslo:if test="position() > 1">
1729 <xslo:value-of select="substring(' ', 1, 1)"/>
1731 <xslo:value-of select="."/>
1734 <xslo:value-of select="normalize-space($raw_heading)"/>
1737 <xslo:template mode="index_data_field" match="marc:datafield[@tag='830']">
1738 <z:index name="Title:w Title-series:w">
1739 <xslo:variable name="raw_heading">
1740 <xslo:for-each select="marc:subfield">
1741 <xslo:if test="position() > 1">
1742 <xslo:value-of select="substring(' ', 1, 1)"/>
1744 <xslo:value-of select="."/>
1747 <xslo:value-of select="normalize-space($raw_heading)"/>
1750 <xslo:template match="*">
1751 <z:index name="Any:w Any:p">
1752 <xslo:value-of select="."/>
1755 <xslo:template name="chopPunctuation">
1756 <xslo:param name="chopString"/>
1757 <xslo:variable name="length" select="string-length($chopString)"/>
1759 <xslo:when test="$length=0"/>
1760 <xslo:when test="contains('-,.:=;!%/', substring($chopString,$length,1))">
1761 <xslo:call-template name="chopPunctuation">
1762 <xslo:with-param name="chopString" select="substring($chopString,1,$length - 1)"/>
1763 </xslo:call-template>
1765 <xslo:when test="not($chopString)"/>
1767 <xslo:value-of select="$chopString"/>