1 <?xml version="1.0" encoding="UTF-8"?>
3 This file has been automatically generated from a Koha index definition file
4 with the stylesheet koha-indexdefs-to-zebra.xsl. Do not manually edit this file,
5 as it may be overwritten. To regenerate, edit the appropriate Koha index
6 definition file (probably something like {biblio,authority}-koha-indexdefs.xml) and run:
7 `xsltproc koha-indexdefs-to-zebra.xsl {biblio,authority}-koha-indexdefs.xml >
8 {biblio,authority}-zebra-indexdefs.xsl` (substituting the appropriate file names).
10 <xslo:stylesheet xmlns:xslo="http://www.w3.org/1999/XSL/Transform" xmlns:marc="http://www.loc.gov/MARC21/slim" xmlns:z="http://indexdata.com/zebra-2.0" xmlns:kohaidx="http://www.koha-community.org/schemas/index-defs" version="1.0">
11 <xslo:output indent="yes" method="xml" version="1.0" encoding="UTF-8"/>
12 <xslo:template match="text()"/>
13 <xslo:template match="text()" mode="index_subfields"/>
14 <xslo:template match="text()" mode="index_data_field"/>
15 <xslo:template match="text()" mode="index_facets"/>
16 <xslo:template match="text()" mode="index_heading"/>
17 <xslo:template match="text()" mode="index_heading_conditional"/>
18 <xslo:template match="text()" mode="index_match_heading"/>
19 <xslo:template match="text()" mode="index_subject_thesaurus"/>
20 <xslo:template match="text()" mode="index_sort_title"/>
21 <xslo:template match="/">
22 <xslo:if test="marc:collection">
24 <xslo:apply-templates select="marc:collection/marc:record"/>
27 <xslo:if test="marc:record">
28 <xslo:apply-templates select="marc:record"/>
31 <xslo:template match="marc:record">
32 <xslo:variable name="idfield" select="normalize-space(marc:datafield[@tag='999']/marc:subfield[@code='c'])"/>
33 <z:record type="update">
34 <xslo:attribute name="z:id">
35 <xslo:value-of select="$idfield"/>
37 <xslo:apply-templates/>
38 <xslo:apply-templates mode="index_subfields"/>
39 <xslo:apply-templates mode="index_data_field"/>
40 <xslo:apply-templates mode="index_facets"/>
41 <xslo:apply-templates mode="index_heading"/>
42 <xslo:apply-templates mode="index_heading_conditional"/>
43 <xslo:apply-templates mode="index_match_heading"/>
44 <xslo:apply-templates mode="index_subject_thesaurus"/>
45 <xslo:apply-templates mode="index_all"/>
46 <xslo:apply-templates mode="index_sort_title"/>
49 <xslo:template match="marc:leader">
50 <z:index name="llength:w">
51 <xslo:value-of select="substring(., 1, 5)"/>
53 <z:index name="rtype:w">
54 <xslo:value-of select="substring(., 7, 1)"/>
56 <z:index name="Bib-level:w">
57 <xslo:value-of select="substring(., 8, 1)"/>
59 <z:index name="Multipart-resource-level:w">
60 <xslo:value-of select="substring(., 20, 1)"/>
63 <xslo:template match="marc:controlfield[@tag='001']">
64 <z:index name="Control-number:w">
65 <xslo:value-of select="."/>
68 <xslo:template match="marc:controlfield[@tag='003']">
69 <z:index name="Control-number-identifier:w">
70 <xslo:value-of select="."/>
73 <xslo:template match="marc:controlfield[@tag='005']">
74 <z:index name="Date/time-last-modified:w">
75 <xslo:value-of select="."/>
78 <xslo:template match="marc:controlfield[@tag='007']">
79 <z:index name="Microform-generation:n">
80 <xslo:value-of select="substring(., 12, 1)"/>
82 <z:index name="Material-type:w">
83 <xslo:value-of select="."/>
85 <z:index name="ff7-00:w">
86 <xslo:value-of select="substring(., 1, 1)"/>
88 <z:index name="ff7-01:w">
89 <xslo:value-of select="substring(., 2, 1)"/>
91 <z:index name="ff7-02:w">
92 <xslo:value-of select="substring(., 3, 1)"/>
94 <z:index name="ff7-01-02:w">
95 <xslo:value-of select="substring(., 1, 2)"/>
98 <xslo:template match="marc:controlfield[@tag='008']">
99 <z:index name="date-entered-on-file:n">
100 <xslo:value-of select="substring(., 1, 5)"/>
102 <z:index name="date-entered-on-file:s">
103 <xslo:value-of select="substring(., 1, 5)"/>
105 <z:index name="pubdate:w">
106 <xslo:value-of select="substring(., 8, 4)"/>
108 <z:index name="pubdate:n">
109 <xslo:value-of select="substring(., 8, 4)"/>
111 <z:index name="pubdate:y">
112 <xslo:value-of select="substring(., 8, 4)"/>
114 <z:index name="pubdate:s">
115 <xslo:value-of select="substring(., 8, 4)"/>
117 <z:index name="pl:w">
118 <xslo:value-of select="substring(., 16, 3)"/>
120 <z:index name="ta:w">
121 <xslo:value-of select="substring(., 23, 1)"/>
123 <z:index name="ff8-23:w">
124 <xslo:value-of select="substring(., 24, 1)"/>
126 <z:index name="ff8-29:w">
127 <xslo:value-of select="substring(., 30, 1)"/>
129 <z:index name="lf:w">
130 <xslo:value-of select="substring(., 34, 1)"/>
132 <z:index name="bio:w">
133 <xslo:value-of select="substring(., 35, 1)"/>
135 <z:index name="ln:w">
136 <xslo:value-of select="substring(., 36, 3)"/>
138 <z:index name="ctype:w">
139 <xslo:value-of select="substring(., 25, 4)"/>
141 <z:index name="Record-source:w">
142 <xslo:value-of select="substring(., 40, 0)"/>
145 <xslo:template mode="index_subfields" match="marc:datafield[@tag='020']">
146 <xslo:for-each select="marc:subfield">
147 <xslo:if test="contains('a', @code)">
148 <z:index name="ISBN:w Identifier-standard:w">
149 <xslo:value-of select="."/>
153 <xslo:for-each select="marc:subfield">
154 <xslo:if test="contains('z', @code)">
155 <z:index name="ISBN:w Identifier-standard:w">
156 <xslo:value-of select="."/>
161 <xslo:template mode="index_subfields" match="marc:datafield[@tag='022']">
162 <xslo:for-each select="marc:subfield">
163 <xslo:if test="contains('a', @code)">
164 <z:index name="ISSN:w Identifier-standard:w">
165 <xslo:value-of select="."/>
169 <xslo:for-each select="marc:subfield">
170 <xslo:if test="contains('y', @code)">
171 <z:index name="ISSN:w Identifier-standard:w">
172 <xslo:value-of select="."/>
176 <xslo:for-each select="marc:subfield">
177 <xslo:if test="contains('z', @code)">
178 <z:index name="ISSN:w Identifier-standard:w">
179 <xslo:value-of select="."/>
184 <xslo:template mode="index_subfields" match="marc:datafield[@tag='024']">
185 <xslo:for-each select="marc:subfield">
186 <xslo:if test="contains('a', @code)">
187 <z:index name="Identifier-other:w Identifier-other:p">
188 <xslo:value-of select="."/>
192 <xslo:if test="marc:subfield[@code='2' and text()='uri']">
193 <xslo:for-each select="marc:subfield">
194 <xslo:if test="contains('a', @code)">
195 <z:index name="Identifier-other:u">
196 <xslo:value-of select="."/>
202 <xslo:template mode="index_subfields" match="marc:datafield[@tag='041']">
203 <xslo:for-each select="marc:subfield">
204 <xslo:if test="contains('a', @code)">
205 <z:index name="ln:w ln-audio:w">
206 <xslo:value-of select="."/>
210 <xslo:for-each select="marc:subfield">
211 <xslo:if test="contains('d', @code)">
212 <z:index name="ln:w">
213 <xslo:value-of select="."/>
217 <xslo:for-each select="marc:subfield">
218 <xslo:if test="contains('e', @code)">
219 <z:index name="ln:w">
220 <xslo:value-of select="."/>
224 <xslo:for-each select="marc:subfield">
225 <xslo:if test="contains('h', @code)">
226 <z:index name="language-original:w">
227 <xslo:value-of select="."/>
231 <xslo:for-each select="marc:subfield">
232 <xslo:if test="contains('j', @code)">
233 <z:index name="ln:w ln-subtitle:w">
234 <xslo:value-of select="."/>
239 <xslo:template mode="index_subfields" match="marc:datafield[@tag='050']">
240 <xslo:for-each select="marc:subfield">
241 <xslo:if test="contains('b', @code)">
242 <z:index name="LC-call-number:w LC-call-number:p LC-call-number:s">
243 <xslo:value-of select="."/>
248 <xslo:template mode="index_subfields" match="marc:datafield[@tag='100']">
249 <xslo:for-each select="marc:subfield">
250 <xslo:if test="contains('9', @code)">
251 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
252 <xslo:value-of select="."/>
256 <xslo:for-each select="marc:subfield">
257 <xslo:if test="contains('a', @code)">
258 <z:index name="Author:w Author:p Author:s Editor:w Author-personal-bibliography:w Author-personal-bibliography:p Author-personal-bibliography:s">
259 <xslo:value-of select="."/>
264 <xslo:template mode="index_subfields" match="marc:datafield[@tag='110']">
265 <xslo:for-each select="marc:subfield">
266 <xslo:if test="contains('9', @code)">
267 <z:index name="Koha-Auth-Number:w">
268 <xslo:value-of select="."/>
273 <xslo:template mode="index_subfields" match="marc:datafield[@tag='111']">
274 <xslo:for-each select="marc:subfield">
275 <xslo:if test="contains('9', @code)">
276 <z:index name="Koha-Auth-Number:w">
277 <xslo:value-of select="."/>
282 <xslo:template mode="index_subfields" match="marc:datafield[@tag='130']">
283 <xslo:for-each select="marc:subfield">
284 <xslo:if test="contains('n', @code)">
285 <z:index name="Thematic-number:w">
286 <xslo:value-of select="."/>
290 <xslo:for-each select="marc:subfield">
291 <xslo:if test="contains('r', @code)">
292 <z:index name="Music-key:w">
293 <xslo:value-of select="."/>
297 <xslo:for-each select="marc:subfield">
298 <xslo:if test="contains('9', @code)">
299 <z:index name="Koha-Auth-Number:w">
300 <xslo:value-of select="."/>
305 <xslo:template mode="index_subfields" match="marc:datafield[@tag='240']">
306 <xslo:for-each select="marc:subfield">
307 <xslo:if test="contains('r', @code)">
308 <z:index name="Music-key:w">
309 <xslo:value-of select="."/>
313 <xslo:for-each select="marc:subfield">
314 <xslo:if test="contains('n', @code)">
315 <z:index name="Thematic-number:w">
316 <xslo:value-of select="."/>
321 <xslo:template mode="index_subfields" match="marc:datafield[@tag='243']">
322 <xslo:for-each select="marc:subfield">
323 <xslo:if test="contains('n', @code)">
324 <z:index name="Thematic-number:w">
325 <xslo:value-of select="."/>
329 <xslo:for-each select="marc:subfield">
330 <xslo:if test="contains('r', @code)">
331 <z:index name="Music-key:w">
332 <xslo:value-of select="."/>
337 <xslo:template mode="index_subfields" match="marc:datafield[@tag='245']">
338 <xslo:for-each select="marc:subfield">
339 <xslo:if test="contains('a', @code)">
340 <z:index name="Title-cover:w Title-cover:p Title-cover:s Title:w Title:p">
341 <xslo:value-of select="."/>
345 <xslo:for-each select="marc:subfield">
346 <xslo:if test="contains('c', @code)">
347 <z:index name="Author:w Author-in-order:w Author-in-order:p Author-in-order:s">
348 <xslo:value-of select="."/>
352 <xslo:for-each select="marc:subfield">
353 <xslo:if test="contains('9', @code)">
354 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
355 <xslo:value-of select="."/>
360 <xslo:template mode="index_subfields" match="marc:datafield[@tag='260']">
361 <xslo:for-each select="marc:subfield">
362 <xslo:if test="contains('a', @code)">
363 <z:index name="pl:w pl:p">
364 <xslo:value-of select="."/>
368 <xslo:for-each select="marc:subfield">
369 <xslo:if test="contains('b', @code)">
370 <z:index name="Publisher:w Publisher:p">
371 <xslo:value-of select="."/>
375 <xslo:for-each select="marc:subfield">
376 <xslo:if test="contains('c', @code)">
377 <z:index name="copydate:w copydate:s">
378 <xslo:value-of select="."/>
383 <xslo:template mode="index_subfields" match="marc:datafield[@tag='264']">
384 <xslo:for-each select="marc:subfield">
385 <xslo:if test="contains('a', @code)">
386 <z:index name="pl:w pl:p">
387 <xslo:value-of select="."/>
391 <xslo:for-each select="marc:subfield">
392 <xslo:if test="contains('b', @code)">
393 <z:index name="Publisher:w Publisher:p">
394 <xslo:value-of select="."/>
398 <xslo:for-each select="marc:subfield">
399 <xslo:if test="contains('c', @code)">
400 <z:index name="copydate:w copydate:s">
401 <xslo:value-of select="."/>
406 <xslo:template mode="index_subfields" match="marc:datafield[@tag='400']">
407 <xslo:for-each select="marc:subfield">
408 <xslo:if test="contains('a', @code)">
409 <z:index name="Name-and-title:w">
410 <xslo:value-of select="."/>
414 <xslo:for-each select="marc:subfield">
415 <xslo:if test="contains('t', @code)">
416 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w">
417 <xslo:value-of select="."/>
421 <xslo:for-each select="marc:subfield">
422 <xslo:if test="contains('9', @code)">
423 <z:index name="Koha-Auth-Number:w">
424 <xslo:value-of select="."/>
429 <xslo:template mode="index_subfields" match="marc:datafield[@tag='410']">
430 <xslo:for-each select="marc:subfield">
431 <xslo:if test="contains('a', @code)">
432 <z:index name="Name-and-title:w">
433 <xslo:value-of select="."/>
437 <xslo:for-each select="marc:subfield">
438 <xslo:if test="contains('t', @code)">
439 <z:index name="Author-title:w Title:w Title-series:w">
440 <xslo:value-of select="."/>
444 <xslo:for-each select="marc:subfield">
445 <xslo:if test="contains('9', @code)">
446 <z:index name="Koha-Auth-Number:w">
447 <xslo:value-of select="."/>
452 <xslo:template mode="index_subfields" match="marc:datafield[@tag='411']">
453 <xslo:for-each select="marc:subfield">
454 <xslo:if test="contains('a', @code)">
455 <z:index name="Name-and-title:w">
456 <xslo:value-of select="."/>
460 <xslo:for-each select="marc:subfield">
461 <xslo:if test="contains('t', @code)">
462 <z:index name="Author-title:w Title-series:w">
463 <xslo:value-of select="."/>
468 <xslo:template mode="index_subfields" match="marc:datafield[@tag='440']">
469 <xslo:for-each select="marc:subfield">
470 <xslo:if test="contains('a', @code)">
471 <z:index name="Title-series:w Title-series:p">
472 <xslo:value-of select="."/>
476 <xslo:for-each select="marc:subfield">
477 <xslo:if test="contains('9', @code)">
478 <z:index name="Koha-Auth-Number:w">
479 <xslo:value-of select="."/>
484 <xslo:template mode="index_subfields" match="marc:datafield[@tag='490']">
485 <xslo:for-each select="marc:subfield">
486 <xslo:if test="contains('a', @code)">
487 <z:index name="Title-series:w Title-series:p">
488 <xslo:value-of select="."/>
492 <xslo:for-each select="marc:subfield">
493 <xslo:if test="contains('9', @code)">
494 <z:index name="Koha-Auth-Number:w">
495 <xslo:value-of select="."/>
500 <xslo:template mode="index_subfields" match="marc:datafield[@tag='505']">
501 <xslo:for-each select="marc:subfield">
502 <xslo:if test="contains('r', @code)">
503 <z:index name="Author:w">
504 <xslo:value-of select="."/>
508 <xslo:for-each select="marc:subfield">
509 <xslo:if test="contains('t', @code)">
510 <z:index name="Title:w">
511 <xslo:value-of select="."/>
516 <xslo:template mode="index_subfields" match="marc:datafield[@tag='521']">
517 <xslo:if test="@ind1='0'">
518 <xslo:for-each select="marc:subfield">
519 <xslo:if test="contains('a', @code)">
520 <z:index name="Reading-grade-level:w Reading-grade-level:p Reading-grade-level:n">
521 <xslo:value-of select="."/>
526 <xslo:if test="@ind1='1'">
527 <xslo:for-each select="marc:subfield">
528 <xslo:if test="contains('a', @code)">
529 <z:index name="Interest-age-level:w Interest-age-level:p Interest-age-level:n">
530 <xslo:value-of select="."/>
535 <xslo:if test="@ind1='2'">
536 <xslo:for-each select="marc:subfield">
537 <xslo:if test="contains('a', @code)">
538 <z:index name="Interest-grade-level:w Interest-grade-level:p Interest-grade-level:n">
539 <xslo:value-of select="."/>
544 <xslo:if test="@ind1='8'">
545 <xslo:for-each select="marc:subfield">
546 <xslo:if test="contains('a', @code)">
547 <z:index name="lexile-number:w lexile-number:p lexile-number:n">
548 <xslo:value-of select="."/>
554 <xslo:template mode="index_subfields" match="marc:datafield[@tag='526']">
555 <xslo:for-each select="marc:subfield">
556 <xslo:if test="contains('c', @code)">
557 <z:index name="arl:w arl:n">
558 <xslo:value-of select="."/>
562 <xslo:for-each select="marc:subfield">
563 <xslo:if test="contains('d', @code)">
564 <z:index name="arp:w arp:n">
565 <xslo:value-of select="."/>
570 <xslo:template mode="index_subfields" match="marc:datafield[@tag='600']">
571 <xslo:for-each select="marc:subfield">
572 <xslo:if test="contains('a', @code)">
573 <z:index name="Name-and-title:w Name:w Personal-name:w Subject-name-personal:w Subject:w Subject:p">
574 <xslo:value-of select="."/>
578 <xslo:for-each select="marc:subfield">
579 <xslo:if test="contains('t', @code)">
580 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
581 <xslo:value-of select="."/>
585 <xslo:for-each select="marc:subfield">
586 <xslo:if test="contains('9', @code)">
587 <z:index name="Koha-Auth-Number:w">
588 <xslo:value-of select="."/>
593 <xslo:template mode="index_subfields" match="marc:datafield[@tag='610']">
594 <xslo:for-each select="marc:subfield">
595 <xslo:if test="contains('a', @code)">
596 <z:index name="Name-and-title:w Subject:w Subject:p">
597 <xslo:value-of select="."/>
601 <xslo:for-each select="marc:subfield">
602 <xslo:if test="contains('t', @code)">
603 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
604 <xslo:value-of select="."/>
608 <xslo:for-each select="marc:subfield">
609 <xslo:if test="contains('9', @code)">
610 <z:index name="Koha-Auth-Number:w">
611 <xslo:value-of select="."/>
616 <xslo:template mode="index_subfields" match="marc:datafield[@tag='611']">
617 <xslo:for-each select="marc:subfield">
618 <xslo:if test="contains('a', @code)">
619 <z:index name="Name-and-title:w Subject:w Subject:p">
620 <xslo:value-of select="."/>
624 <xslo:for-each select="marc:subfield">
625 <xslo:if test="contains('t', @code)">
626 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
627 <xslo:value-of select="."/>
631 <xslo:for-each select="marc:subfield">
632 <xslo:if test="contains('9', @code)">
633 <z:index name="Koha-Auth-Number:w">
634 <xslo:value-of select="."/>
639 <xslo:template mode="index_subfields" match="marc:datafield[@tag='630']">
640 <xslo:for-each select="marc:subfield">
641 <xslo:if test="contains('n', @code)">
642 <z:index name="Thematic-number:w Subject:w Subject:p">
643 <xslo:value-of select="."/>
647 <xslo:for-each select="marc:subfield">
648 <xslo:if test="contains('r', @code)">
649 <z:index name="Music-key:w Subject:w Subject:p">
650 <xslo:value-of select="."/>
654 <xslo:for-each select="marc:subfield">
655 <xslo:if test="contains('9', @code)">
656 <z:index name="Koha-Auth-Number:w">
657 <xslo:value-of select="."/>
662 <xslo:template mode="index_subfields" match="marc:datafield[@tag='648']">
663 <xslo:for-each select="marc:subfield">
664 <xslo:if test="contains('9', @code)">
665 <z:index name="Koha-Auth-Number:w">
666 <xslo:value-of select="."/>
671 <xslo:template mode="index_subfields" match="marc:datafield[@tag='650']">
672 <xslo:for-each select="marc:subfield">
673 <xslo:if test="contains('9', @code)">
674 <z:index name="Koha-Auth-Number:w">
675 <xslo:value-of select="."/>
680 <xslo:template mode="index_subfields" match="marc:datafield[@tag='651']">
681 <xslo:for-each select="marc:subfield">
682 <xslo:if test="contains('9', @code)">
683 <z:index name="Koha-Auth-Number:w">
684 <xslo:value-of select="."/>
689 <xslo:template mode="index_subfields" match="marc:datafield[@tag='652']">
690 <xslo:for-each select="marc:subfield">
691 <xslo:if test="contains('9', @code)">
692 <z:index name="Koha-Auth-Number:w">
693 <xslo:value-of select="."/>
698 <xslo:template mode="index_subfields" match="marc:datafield[@tag='653']">
699 <xslo:for-each select="marc:subfield">
700 <xslo:if test="contains('a', @code)">
701 <z:index name="Index-term-uncontrolled:w Index-term-uncontrolled:p Subject:w Subject:p">
702 <xslo:value-of select="."/>
706 <xslo:for-each select="marc:subfield">
707 <xslo:if test="contains('9', @code)">
708 <z:index name="Koha-Auth-Number:w">
709 <xslo:value-of select="."/>
714 <xslo:template mode="index_subfields" match="marc:datafield[@tag='654']">
715 <xslo:for-each select="marc:subfield">
716 <xslo:if test="contains('9', @code)">
717 <z:index name="Koha-Auth-Number:w">
718 <xslo:value-of select="."/>
723 <xslo:template mode="index_subfields" match="marc:datafield[@tag='655']">
724 <xslo:for-each select="marc:subfield">
725 <xslo:if test="contains('axvyz', @code)">
726 <z:index name="Index-term-genre:w Index-term-genre:p Subject:w Subject:p">
727 <xslo:value-of select="."/>
731 <xslo:for-each select="marc:subfield">
732 <xslo:if test="contains('9', @code)">
733 <z:index name="Koha-Auth-Number:w">
734 <xslo:value-of select="."/>
739 <xslo:template mode="index_subfields" match="marc:datafield[@tag='656']">
740 <xslo:for-each select="marc:subfield">
741 <xslo:if test="contains('9', @code)">
742 <z:index name="Koha-Auth-Number:w">
743 <xslo:value-of select="."/>
748 <xslo:template mode="index_subfields" match="marc:datafield[@tag='657']">
749 <xslo:for-each select="marc:subfield">
750 <xslo:if test="contains('9', @code)">
751 <z:index name="Koha-Auth-Number:w">
752 <xslo:value-of select="."/>
757 <xslo:template mode="index_subfields" match="marc:datafield[@tag='658']">
758 <xslo:for-each select="marc:subfield">
759 <xslo:if test="contains('a', @code)">
760 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
761 <xslo:value-of select="."/>
765 <xslo:for-each select="marc:subfield">
766 <xslo:if test="contains('b', @code)">
767 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
768 <xslo:value-of select="."/>
772 <xslo:for-each select="marc:subfield">
773 <xslo:if test="contains('c', @code)">
774 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
775 <xslo:value-of select="."/>
780 <xslo:template mode="index_subfields" match="marc:datafield[@tag='662']">
781 <xslo:for-each select="marc:subfield">
782 <xslo:if test="contains('9', @code)">
783 <z:index name="Koha-Auth-Number:w">
784 <xslo:value-of select="."/>
789 <xslo:template mode="index_subfields" match="marc:datafield[@tag='690']">
790 <xslo:for-each select="marc:subfield">
791 <xslo:if test="contains('9', @code)">
792 <z:index name="Koha-Auth-Number:w">
793 <xslo:value-of select="."/>
798 <xslo:template mode="index_subfields" match="marc:datafield[@tag='691']">
799 <xslo:for-each select="marc:subfield">
800 <xslo:if test="contains('9', @code)">
801 <z:index name="Koha-Auth-Number:w">
802 <xslo:value-of select="."/>
807 <xslo:template mode="index_subfields" match="marc:datafield[@tag='696']">
808 <xslo:for-each select="marc:subfield">
809 <xslo:if test="contains('9', @code)">
810 <z:index name="Koha-Auth-Number:w">
811 <xslo:value-of select="."/>
816 <xslo:template mode="index_subfields" match="marc:datafield[@tag='697']">
817 <xslo:for-each select="marc:subfield">
818 <xslo:if test="contains('9', @code)">
819 <z:index name="Koha-Auth-Number:w">
820 <xslo:value-of select="."/>
825 <xslo:template mode="index_subfields" match="marc:datafield[@tag='698']">
826 <xslo:for-each select="marc:subfield">
827 <xslo:if test="contains('9', @code)">
828 <z:index name="Koha-Auth-Number:w">
829 <xslo:value-of select="."/>
834 <xslo:template mode="index_subfields" match="marc:datafield[@tag='699']">
835 <xslo:for-each select="marc:subfield">
836 <xslo:if test="contains('9', @code)">
837 <z:index name="Koha-Auth-Number:w">
838 <xslo:value-of select="."/>
843 <xslo:template mode="index_subfields" match="marc:datafield[@tag='700']">
844 <xslo:for-each select="marc:subfield">
845 <xslo:if test="contains('9', @code)">
846 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
847 <xslo:value-of select="."/>
851 <xslo:for-each select="marc:subfield">
852 <xslo:if test="contains('a', @code)">
853 <z:index name="Author:w Author:p">
854 <xslo:value-of select="."/>
858 <xslo:for-each select="marc:subfield">
859 <xslo:if test="contains('n', @code)">
860 <z:index name="Thematic-number:w">
861 <xslo:value-of select="."/>
865 <xslo:for-each select="marc:subfield">
866 <xslo:if test="contains('r', @code)">
867 <z:index name="Music-key:w">
868 <xslo:value-of select="."/>
872 <xslo:for-each select="marc:subfield">
873 <xslo:if test="contains('t', @code)">
874 <z:index name="Author-title:w Name-and-title:w Title:w Title-uniform:w">
875 <xslo:value-of select="."/>
880 <xslo:template mode="index_subfields" match="marc:datafield[@tag='710']">
881 <xslo:for-each select="marc:subfield">
882 <xslo:if test="contains('t', @code)">
883 <z:index name="Author-title:w Name-and-title:w Title:w Title-uniform:w">
884 <xslo:value-of select="."/>
888 <xslo:for-each select="marc:subfield">
889 <xslo:if test="contains('a', @code)">
890 <z:index name="Name-and-title:w">
891 <xslo:value-of select="."/>
895 <xslo:for-each select="marc:subfield">
896 <xslo:if test="contains('9', @code)">
897 <z:index name="Koha-Auth-Number:w">
898 <xslo:value-of select="."/>
903 <xslo:template mode="index_subfields" match="marc:datafield[@tag='711']">
904 <xslo:for-each select="marc:subfield">
905 <xslo:if test="contains('a', @code)">
906 <z:index name="Name-and-title:w">
907 <xslo:value-of select="."/>
911 <xslo:for-each select="marc:subfield">
912 <xslo:if test="contains('t', @code)">
913 <z:index name="Author-title:w Title:w Title-uniform:w">
914 <xslo:value-of select="."/>
918 <xslo:for-each select="marc:subfield">
919 <xslo:if test="contains('9', @code)">
920 <z:index name="Koha-Auth-Number:w">
921 <xslo:value-of select="."/>
926 <xslo:template mode="index_subfields" match="marc:datafield[@tag='730']">
927 <xslo:for-each select="marc:subfield">
928 <xslo:if test="contains('n', @code)">
929 <z:index name="Thematic-number:w">
930 <xslo:value-of select="."/>
934 <xslo:for-each select="marc:subfield">
935 <xslo:if test="contains('r', @code)">
936 <z:index name="Music-key:w">
937 <xslo:value-of select="."/>
941 <xslo:for-each select="marc:subfield">
942 <xslo:if test="contains('9', @code)">
943 <z:index name="Koha-Auth-Number:w">
944 <xslo:value-of select="."/>
949 <xslo:template mode="index_subfields" match="marc:datafield[@tag='751']">
950 <xslo:for-each select="marc:subfield">
951 <xslo:if test="contains('a', @code)">
952 <z:index name="Name-geographic:w">
953 <xslo:value-of select="."/>
957 <xslo:for-each select="marc:subfield">
958 <xslo:if test="contains('9', @code)">
959 <z:index name="Koha-Auth-Number:w">
960 <xslo:value-of select="."/>
965 <xslo:template mode="index_subfields" match="marc:datafield[@tag='770']">
966 <xslo:for-each select="marc:subfield">
967 <xslo:if test="contains('w', @code)">
968 <z:index name="Record-control-number:w">
969 <xslo:value-of select="."/>
974 <xslo:template mode="index_subfields" match="marc:datafield[@tag='772']">
975 <xslo:for-each select="marc:subfield">
976 <xslo:if test="contains('w', @code)">
977 <z:index name="Record-control-number:w">
978 <xslo:value-of select="."/>
983 <xslo:template mode="index_subfields" match="marc:datafield[@tag='773']">
984 <xslo:for-each select="marc:subfield">
985 <xslo:if test="contains('a', @code)">
986 <z:index name="Host-item:w">
987 <xslo:value-of select="."/>
991 <xslo:for-each select="marc:subfield">
992 <xslo:if test="contains('9', @code)">
993 <z:index name="Host-Item-Number:w">
994 <xslo:value-of select="."/>
998 <xslo:for-each select="marc:subfield">
999 <xslo:if test="contains('t', @code)">
1000 <z:index name="Host-item:w">
1001 <xslo:value-of select="."/>
1005 <xslo:for-each select="marc:subfield">
1006 <xslo:if test="contains('w', @code)">
1007 <z:index name="Record-control-number:w">
1008 <xslo:value-of select="."/>
1013 <xslo:template mode="index_subfields" match="marc:datafield[@tag='774']">
1014 <xslo:for-each select="marc:subfield">
1015 <xslo:if test="contains('w', @code)">
1016 <z:index name="Record-control-number:w">
1017 <xslo:value-of select="."/>
1022 <xslo:template mode="index_subfields" match="marc:datafield[@tag='775']">
1023 <xslo:for-each select="marc:subfield">
1024 <xslo:if test="contains('w', @code)">
1025 <z:index name="Record-control-number:w">
1026 <xslo:value-of select="."/>
1031 <xslo:template mode="index_subfields" match="marc:datafield[@tag='776']">
1032 <xslo:for-each select="marc:subfield">
1033 <xslo:if test="contains('w', @code)">
1034 <z:index name="Record-control-number:w">
1035 <xslo:value-of select="."/>
1040 <xslo:template mode="index_subfields" match="marc:datafield[@tag='777']">
1041 <xslo:for-each select="marc:subfield">
1042 <xslo:if test="contains('w', @code)">
1043 <z:index name="Record-control-number:w">
1044 <xslo:value-of select="."/>
1049 <xslo:template mode="index_subfields" match="marc:datafield[@tag='780']">
1050 <xslo:for-each select="marc:subfield">
1051 <xslo:if test="contains('t', @code)">
1052 <z:index name="Title:w">
1053 <xslo:value-of select="."/>
1057 <xslo:for-each select="marc:subfield">
1058 <xslo:if test="contains('w', @code)">
1059 <z:index name="Record-control-number:w">
1060 <xslo:value-of select="."/>
1065 <xslo:template mode="index_subfields" match="marc:datafield[@tag='785']">
1066 <xslo:for-each select="marc:subfield">
1067 <xslo:if test="contains('w', @code)">
1068 <z:index name="Record-control-number:w">
1069 <xslo:value-of select="."/>
1074 <xslo:template mode="index_subfields" match="marc:datafield[@tag='787']">
1075 <xslo:for-each select="marc:subfield">
1076 <xslo:if test="contains('w', @code)">
1077 <z:index name="Record-control-number:w">
1078 <xslo:value-of select="."/>
1083 <xslo:template mode="index_subfields" match="marc:datafield[@tag='796']">
1084 <xslo:for-each select="marc:subfield">
1085 <xslo:if test="contains('9', @code)">
1086 <z:index name="Koha-Auth-Number:w">
1087 <xslo:value-of select="."/>
1092 <xslo:template mode="index_subfields" match="marc:datafield[@tag='797']">
1093 <xslo:for-each select="marc:subfield">
1094 <xslo:if test="contains('9', @code)">
1095 <z:index name="Koha-Auth-Number:w">
1096 <xslo:value-of select="."/>
1101 <xslo:template mode="index_subfields" match="marc:datafield[@tag='798']">
1102 <xslo:for-each select="marc:subfield">
1103 <xslo:if test="contains('9', @code)">
1104 <z:index name="Koha-Auth-Number:w">
1105 <xslo:value-of select="."/>
1110 <xslo:template mode="index_subfields" match="marc:datafield[@tag='799']">
1111 <xslo:for-each select="marc:subfield">
1112 <xslo:if test="contains('9', @code)">
1113 <z:index name="Koha-Auth-Number:w">
1114 <xslo:value-of select="."/>
1119 <xslo:template mode="index_subfields" match="marc:datafield[@tag='800']">
1120 <xslo:for-each select="marc:subfield">
1121 <xslo:if test="contains('a', @code)">
1122 <z:index name="Name-and-title:w Title-series:w Title-series:p">
1123 <xslo:value-of select="."/>
1127 <xslo:for-each select="marc:subfield">
1128 <xslo:if test="contains('t', @code)">
1129 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
1130 <xslo:value-of select="."/>
1134 <xslo:for-each select="marc:subfield">
1135 <xslo:if test="contains('9', @code)">
1136 <z:index name="Koha-Auth-Number:w">
1137 <xslo:value-of select="."/>
1141 <xslo:for-each select="marc:subfield">
1142 <xslo:if test="contains('w', @code)">
1143 <z:index name="Record-control-number:w">
1144 <xslo:value-of select="."/>
1149 <xslo:template mode="index_subfields" match="marc:datafield[@tag='810']">
1150 <xslo:for-each select="marc:subfield">
1151 <xslo:if test="contains('a', @code)">
1152 <z:index name="Name-and-title:w Title-series:w Title-series:p">
1153 <xslo:value-of select="."/>
1157 <xslo:for-each select="marc:subfield">
1158 <xslo:if test="contains('t', @code)">
1159 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
1160 <xslo:value-of select="."/>
1164 <xslo:for-each select="marc:subfield">
1165 <xslo:if test="contains('w', @code)">
1166 <z:index name="Record-control-number:w">
1167 <xslo:value-of select="."/>
1171 <xslo:for-each select="marc:subfield">
1172 <xslo:if test="contains('9', @code)">
1173 <z:index name="Koha-Auth-Number:w">
1174 <xslo:value-of select="."/>
1179 <xslo:template mode="index_subfields" match="marc:datafield[@tag='811']">
1180 <xslo:for-each select="marc:subfield">
1181 <xslo:if test="contains('a', @code)">
1182 <z:index name="Name-and-title:w Title-series:w Title-series:p">
1183 <xslo:value-of select="."/>
1187 <xslo:for-each select="marc:subfield">
1188 <xslo:if test="contains('9', @code)">
1189 <z:index name="Koha-Auth-Number:w">
1190 <xslo:value-of select="."/>
1194 <xslo:for-each select="marc:subfield">
1195 <xslo:if test="contains('t', @code)">
1196 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
1197 <xslo:value-of select="."/>
1201 <xslo:for-each select="marc:subfield">
1202 <xslo:if test="contains('w', @code)">
1203 <z:index name="Record-control-number:w">
1204 <xslo:value-of select="."/>
1209 <xslo:template mode="index_subfields" match="marc:datafield[@tag='830']">
1210 <xslo:for-each select="marc:subfield">
1211 <xslo:if test="contains('w', @code)">
1212 <z:index name="Record-control-number:w">
1213 <xslo:value-of select="."/>
1217 <xslo:for-each select="marc:subfield">
1218 <xslo:if test="contains('9', @code)">
1219 <z:index name="Koha-Auth-Number:w">
1220 <xslo:value-of select="."/>
1225 <xslo:template mode="index_subfields" match="marc:datafield[@tag='896']">
1226 <xslo:for-each select="marc:subfield">
1227 <xslo:if test="contains('9', @code)">
1228 <z:index name="Koha-Auth-Number:w">
1229 <xslo:value-of select="."/>
1234 <xslo:template mode="index_subfields" match="marc:datafield[@tag='897']">
1235 <xslo:for-each select="marc:subfield">
1236 <xslo:if test="contains('9', @code)">
1237 <z:index name="Koha-Auth-Number:w">
1238 <xslo:value-of select="."/>
1243 <xslo:template mode="index_subfields" match="marc:datafield[@tag='898']">
1244 <xslo:for-each select="marc:subfield">
1245 <xslo:if test="contains('9', @code)">
1246 <z:index name="Koha-Auth-Number:w">
1247 <xslo:value-of select="."/>
1252 <xslo:template mode="index_subfields" match="marc:datafield[@tag='899']">
1253 <xslo:for-each select="marc:subfield">
1254 <xslo:if test="contains('9', @code)">
1255 <z:index name="Koha-Auth-Number:w">
1256 <xslo:value-of select="."/>
1261 <xslo:template mode="index_subfields" match="marc:datafield[@tag='999']">
1262 <xslo:for-each select="marc:subfield">
1263 <xslo:if test="contains('c', @code)">
1264 <z:index name="Local-Number:n Local-Number:w">
1265 <xslo:value-of select="."/>
1269 <xslo:for-each select="marc:subfield">
1270 <xslo:if test="contains('c', @code)">
1271 <z:index name="Local-Number:s">
1272 <xslo:value-of select="format-number(.,"00000000000")"/>
1276 <xslo:for-each select="marc:subfield">
1277 <xslo:if test="contains('d', @code)">
1278 <z:index name="biblioitemnumber:n biblioitemnumber:w biblioitemnumber:s">
1279 <xslo:value-of select="."/>
1283 <xslo:for-each select="marc:subfield">
1284 <xslo:if test="contains('x', @code)">
1285 <z:index name="not-onloan-count:n">
1286 <xslo:value-of select="."/>
1291 <xslo:template mode="index_subfields" match="marc:datafield[@tag='942']">
1292 <xslo:for-each select="marc:subfield">
1293 <xslo:if test="contains('0', @code)">
1294 <z:index name="totalissues:n totalissues:s">
1295 <xslo:value-of select="."/>
1299 <xslo:for-each select="marc:subfield">
1300 <xslo:if test="contains('2', @code)">
1301 <z:index name="cn-bib-source:w">
1302 <xslo:value-of select="."/>
1306 <xslo:for-each select="marc:subfield">
1307 <xslo:if test="contains('6', @code)">
1308 <z:index name="cn-bib-sort:n cn-bib-sort:s">
1309 <xslo:value-of select="."/>
1313 <xslo:for-each select="marc:subfield">
1314 <xslo:if test="contains('c', @code)">
1315 <z:index name="itemtype:w itemtype:p itype:w itype:p">
1316 <xslo:value-of select="."/>
1320 <xslo:for-each select="marc:subfield">
1321 <xslo:if test="contains('n', @code)">
1322 <z:index name="Suppress:w Suppress:n">
1323 <xslo:value-of select="."/>
1327 <xslo:for-each select="marc:subfield">
1328 <xslo:if test="contains('h', @code)">
1329 <z:index name="cn-class:w">
1330 <xslo:value-of select="."/>
1334 <xslo:for-each select="marc:subfield">
1335 <xslo:if test="contains('i', @code)">
1336 <z:index name="cn-item:w">
1337 <xslo:value-of select="."/>
1341 <xslo:for-each select="marc:subfield">
1342 <xslo:if test="contains('k', @code)">
1343 <z:index name="cn-prefix:w">
1344 <xslo:value-of select="."/>
1348 <xslo:for-each select="marc:subfield">
1349 <xslo:if test="contains('m', @code)">
1350 <z:index name="cn-suffix:w">
1351 <xslo:value-of select="."/>
1356 <xslo:template mode="index_subfields" match="marc:datafield[@tag='952']">
1357 <xslo:for-each select="marc:subfield">
1358 <xslo:if test="contains('0', @code)">
1359 <z:index name="withdrawn:n withdrawn:w">
1360 <xslo:value-of select="."/>
1364 <xslo:for-each select="marc:subfield">
1365 <xslo:if test="contains('1', @code)">
1366 <z:index name="lost:w lost:n">
1367 <xslo:value-of select="."/>
1371 <xslo:for-each select="marc:subfield">
1372 <xslo:if test="contains('2', @code)">
1373 <z:index name="classification-source:w">
1374 <xslo:value-of select="."/>
1378 <xslo:for-each select="marc:subfield">
1379 <xslo:if test="contains('3', @code)">
1380 <z:index name="materials-specified:w">
1381 <xslo:value-of select="."/>
1385 <xslo:for-each select="marc:subfield">
1386 <xslo:if test="contains('4', @code)">
1387 <z:index name="damaged:n damaged:w">
1388 <xslo:value-of select="."/>
1392 <xslo:for-each select="marc:subfield">
1393 <xslo:if test="contains('5', @code)">
1394 <z:index name="restricted:n restricted:w">
1395 <xslo:value-of select="."/>
1399 <xslo:for-each select="marc:subfield">
1400 <xslo:if test="contains('6', @code)">
1401 <z:index name="cn-sort:n cn-sort:s">
1402 <xslo:value-of select="."/>
1406 <xslo:for-each select="marc:subfield">
1407 <xslo:if test="contains('7', @code)">
1408 <z:index name="notforloan:n notforloan:w">
1409 <xslo:value-of select="."/>
1413 <xslo:for-each select="marc:subfield">
1414 <xslo:if test="contains('8', @code)">
1415 <z:index name="ccode:w ccode:p">
1416 <xslo:value-of select="."/>
1420 <xslo:for-each select="marc:subfield">
1421 <xslo:if test="contains('9', @code)">
1422 <z:index name="itemnumber:n itemnumber:s">
1423 <xslo:value-of select="."/>
1427 <xslo:for-each select="marc:subfield">
1428 <xslo:if test="contains('a', @code)">
1429 <z:index name="homebranch:w">
1430 <xslo:value-of select="."/>
1434 <xslo:for-each select="marc:subfield">
1435 <xslo:if test="contains('b', @code)">
1436 <z:index name="holdingbranch:w">
1437 <xslo:value-of select="."/>
1441 <xslo:for-each select="marc:subfield">
1442 <xslo:if test="contains('c', @code)">
1443 <z:index name="location:w">
1444 <xslo:value-of select="."/>
1448 <xslo:for-each select="marc:subfield">
1449 <xslo:if test="contains('d', @code)">
1450 <z:index name="Date-of-acquisition:w Date-of-acquisition:d Date-of-acquisition:s">
1451 <xslo:value-of select="."/>
1455 <xslo:for-each select="marc:subfield">
1456 <xslo:if test="contains('e', @code)">
1457 <z:index name="acqsource:w">
1458 <xslo:value-of select="."/>
1462 <xslo:for-each select="marc:subfield">
1463 <xslo:if test="contains('f', @code)">
1464 <z:index name="coded-location-qualifier:w">
1465 <xslo:value-of select="."/>
1469 <xslo:for-each select="marc:subfield">
1470 <xslo:if test="contains('g', @code)">
1471 <z:index name="price:w">
1472 <xslo:value-of select="."/>
1476 <xslo:for-each select="marc:subfield">
1477 <xslo:if test="contains('i', @code)">
1478 <z:index name="Number-local-acquisition:w">
1479 <xslo:value-of select="."/>
1483 <xslo:for-each select="marc:subfield">
1484 <xslo:if test="contains('j', @code)">
1485 <z:index name="stack:n stack:w">
1486 <xslo:value-of select="."/>
1490 <xslo:for-each select="marc:subfield">
1491 <xslo:if test="contains('l', @code)">
1492 <z:index name="issues:n issues:w issues:s">
1493 <xslo:value-of select="."/>
1497 <xslo:for-each select="marc:subfield">
1498 <xslo:if test="contains('m', @code)">
1499 <z:index name="renewals:n renewals:w">
1500 <xslo:value-of select="."/>
1504 <xslo:for-each select="marc:subfield">
1505 <xslo:if test="contains('n', @code)">
1506 <z:index name="reserves:n reserves:w">
1507 <xslo:value-of select="."/>
1511 <xslo:for-each select="marc:subfield">
1512 <xslo:if test="contains('o', @code)">
1513 <z:index name="Local-classification:w Local-classification:p Local-classification:s">
1514 <xslo:value-of select="."/>
1518 <xslo:for-each select="marc:subfield">
1519 <xslo:if test="contains('p', @code)">
1520 <z:index name="barcode:w barcode:n">
1521 <xslo:value-of select="."/>
1525 <xslo:for-each select="marc:subfield">
1526 <xslo:if test="contains('q', @code)">
1527 <z:index name="onloan:n onloan:w">
1528 <xslo:value-of select="."/>
1532 <xslo:for-each select="marc:subfield">
1533 <xslo:if test="contains('r', @code)">
1534 <z:index name="datelastseen:w">
1535 <xslo:value-of select="."/>
1539 <xslo:for-each select="marc:subfield">
1540 <xslo:if test="contains('s', @code)">
1541 <z:index name="datelastborrowed:w">
1542 <xslo:value-of select="."/>
1546 <xslo:for-each select="marc:subfield">
1547 <xslo:if test="contains('t', @code)">
1548 <z:index name="copynumber:w">
1549 <xslo:value-of select="."/>
1553 <xslo:for-each select="marc:subfield">
1554 <xslo:if test="contains('u', @code)">
1555 <z:index name="uri:u">
1556 <xslo:value-of select="."/>
1560 <xslo:for-each select="marc:subfield">
1561 <xslo:if test="contains('v', @code)">
1562 <z:index name="replacementprice:w">
1563 <xslo:value-of select="."/>
1567 <xslo:for-each select="marc:subfield">
1568 <xslo:if test="contains('w', @code)">
1569 <z:index name="replacementpricedate:w">
1570 <xslo:value-of select="."/>
1574 <xslo:for-each select="marc:subfield">
1575 <xslo:if test="contains('y', @code)">
1576 <z:index name="itype:w itype:p">
1577 <xslo:value-of select="."/>
1581 <xslo:for-each select="marc:subfield">
1582 <xslo:if test="contains('z', @code)">
1583 <z:index name="Note:w Note:p">
1584 <xslo:value-of select="."/>
1589 <xslo:template mode="index_data_field" match="marc:datafield[@tag='010']">
1590 <z:index name="LC-card-number:w Identifier-standard:w">
1591 <xslo:variable name="raw_heading">
1592 <xslo:for-each select="marc:subfield">
1593 <xslo:if test="position() > 1">
1594 <xslo:value-of select="substring(' ', 1, 1)"/>
1596 <xslo:value-of select="."/>
1599 <xslo:value-of select="normalize-space($raw_heading)"/>
1602 <xslo:template mode="index_data_field" match="marc:datafield[@tag='011']">
1603 <z:index name="LC-card-number:w Identifier-standard:w">
1604 <xslo:variable name="raw_heading">
1605 <xslo:for-each select="marc:subfield">
1606 <xslo:if test="position() > 1">
1607 <xslo:value-of select="substring(' ', 1, 1)"/>
1609 <xslo:value-of select="."/>
1612 <xslo:value-of select="normalize-space($raw_heading)"/>
1615 <xslo:template mode="index_data_field" match="marc:datafield[@tag='015']">
1616 <z:index name="BNB-card-number:w BGF-number:w Number-db:w Number-natl-biblio:w Identifier-standard:w">
1617 <xslo:variable name="raw_heading">
1618 <xslo:for-each select="marc:subfield">
1619 <xslo:if test="position() > 1">
1620 <xslo:value-of select="substring(' ', 1, 1)"/>
1622 <xslo:value-of select="."/>
1625 <xslo:value-of select="normalize-space($raw_heading)"/>
1628 <xslo:template mode="index_data_field" match="marc:datafield[@tag='017']">
1629 <z:index name="Number-legal-deposit:w Identifier-standard:w">
1630 <xslo:variable name="raw_heading">
1631 <xslo:for-each select="marc:subfield">
1632 <xslo:if test="position() > 1">
1633 <xslo:value-of select="substring(' ', 1, 1)"/>
1635 <xslo:value-of select="."/>
1638 <xslo:value-of select="normalize-space($raw_heading)"/>
1641 <xslo:template mode="index_data_field" match="marc:datafield[@tag='018']">
1642 <z:index name="Identifier-standard:w">
1643 <xslo:variable name="raw_heading">
1644 <xslo:for-each select="marc:subfield">
1645 <xslo:if test="position() > 1">
1646 <xslo:value-of select="substring(' ', 1, 1)"/>
1648 <xslo:value-of select="."/>
1651 <xslo:value-of select="normalize-space($raw_heading)"/>
1654 <xslo:template mode="index_data_field" match="marc:datafield[@tag='020']">
1655 <z:index name="Identifier-standard:w">
1656 <xslo:variable name="raw_heading">
1657 <xslo:for-each select="marc:subfield">
1658 <xslo:if test="position() > 1">
1659 <xslo:value-of select="substring(' ', 1, 1)"/>
1661 <xslo:value-of select="."/>
1664 <xslo:value-of select="normalize-space($raw_heading)"/>
1667 <xslo:template mode="index_data_field" match="marc:datafield[@tag='022']">
1668 <z:index name="Identifier-standard:w">
1669 <xslo:variable name="raw_heading">
1670 <xslo:for-each select="marc:subfield">
1671 <xslo:if test="position() > 1">
1672 <xslo:value-of select="substring(' ', 1, 1)"/>
1674 <xslo:value-of select="."/>
1677 <xslo:value-of select="normalize-space($raw_heading)"/>
1680 <xslo:template mode="index_data_field" match="marc:datafield[@tag='023']">
1681 <z:index name="Identifier-standard:w">
1682 <xslo:variable name="raw_heading">
1683 <xslo:for-each select="marc:subfield">
1684 <xslo:if test="position() > 1">
1685 <xslo:value-of select="substring(' ', 1, 1)"/>
1687 <xslo:value-of select="."/>
1690 <xslo:value-of select="normalize-space($raw_heading)"/>
1693 <xslo:template mode="index_data_field" match="marc:datafield[@tag='024']">
1694 <z:index name="Identifier-standard:w">
1695 <xslo:variable name="raw_heading">
1696 <xslo:for-each select="marc:subfield">
1697 <xslo:if test="position() > 1">
1698 <xslo:value-of select="substring(' ', 1, 1)"/>
1700 <xslo:value-of select="."/>
1703 <xslo:value-of select="normalize-space($raw_heading)"/>
1706 <xslo:template mode="index_data_field" match="marc:datafield[@tag='025']">
1707 <z:index name="Identifier-standard:w">
1708 <xslo:variable name="raw_heading">
1709 <xslo:for-each select="marc:subfield">
1710 <xslo:if test="position() > 1">
1711 <xslo:value-of select="substring(' ', 1, 1)"/>
1713 <xslo:value-of select="."/>
1716 <xslo:value-of select="normalize-space($raw_heading)"/>
1719 <xslo:template mode="index_data_field" match="marc:datafield[@tag='027']">
1720 <z:index name="Report-number:w Identifier-standard:w">
1721 <xslo:variable name="raw_heading">
1722 <xslo:for-each select="marc:subfield">
1723 <xslo:if test="position() > 1">
1724 <xslo:value-of select="substring(' ', 1, 1)"/>
1726 <xslo:value-of select="."/>
1729 <xslo:value-of select="normalize-space($raw_heading)"/>
1732 <xslo:template mode="index_data_field" match="marc:datafield[@tag='028']">
1733 <z:index name="Identifier-publisher-for-music:w Identifier-standard:w">
1734 <xslo:variable name="raw_heading">
1735 <xslo:for-each select="marc:subfield">
1736 <xslo:if test="position() > 1">
1737 <xslo:value-of select="substring(' ', 1, 1)"/>
1739 <xslo:value-of select="."/>
1742 <xslo:value-of select="normalize-space($raw_heading)"/>
1745 <xslo:template mode="index_data_field" match="marc:datafield[@tag='030']">
1746 <z:index name="CODEN:w Identifier-standard:w">
1747 <xslo:variable name="raw_heading">
1748 <xslo:for-each select="marc:subfield">
1749 <xslo:if test="position() > 1">
1750 <xslo:value-of select="substring(' ', 1, 1)"/>
1752 <xslo:value-of select="."/>
1755 <xslo:value-of select="normalize-space($raw_heading)"/>
1758 <xslo:template mode="index_data_field" match="marc:datafield[@tag='034']">
1759 <z:index name="Map-scale:w">
1760 <xslo:variable name="raw_heading">
1761 <xslo:for-each select="marc:subfield">
1762 <xslo:if test="position() > 1">
1763 <xslo:value-of select="substring(' ', 1, 1)"/>
1765 <xslo:value-of select="."/>
1768 <xslo:value-of select="normalize-space($raw_heading)"/>
1771 <xslo:template mode="index_data_field" match="marc:datafield[@tag='035']">
1772 <z:index name="Other-control-number:w">
1773 <xslo:variable name="raw_heading">
1774 <xslo:for-each select="marc:subfield">
1775 <xslo:if test="position() > 1">
1776 <xslo:value-of select="substring(' ', 1, 1)"/>
1778 <xslo:value-of select="."/>
1781 <xslo:value-of select="normalize-space($raw_heading)"/>
1784 <xslo:template mode="index_data_field" match="marc:datafield[@tag='037']">
1785 <z:index name="Identifier-standard:w Stock-number:w">
1786 <xslo:variable name="raw_heading">
1787 <xslo:for-each select="marc:subfield">
1788 <xslo:if test="position() > 1">
1789 <xslo:value-of select="substring(' ', 1, 1)"/>
1791 <xslo:value-of select="."/>
1794 <xslo:value-of select="normalize-space($raw_heading)"/>
1797 <xslo:template mode="index_data_field" match="marc:datafield[@tag='040']">
1798 <z:index name="Code-institution:w Record-source:w">
1799 <xslo:variable name="raw_heading">
1800 <xslo:for-each select="marc:subfield">
1801 <xslo:if test="position() > 1">
1802 <xslo:value-of select="substring(' ', 1, 1)"/>
1804 <xslo:value-of select="."/>
1807 <xslo:value-of select="normalize-space($raw_heading)"/>
1810 <xslo:template mode="index_data_field" match="marc:datafield[@tag='043']">
1811 <z:index name="Code-geographic:w">
1812 <xslo:variable name="raw_heading">
1813 <xslo:for-each select="marc:subfield">
1814 <xslo:if test="position() > 1">
1815 <xslo:value-of select="substring(' ', 1, 1)"/>
1817 <xslo:value-of select="."/>
1820 <xslo:value-of select="normalize-space($raw_heading)"/>
1823 <xslo:template mode="index_data_field" match="marc:datafield[@tag='050']">
1824 <z:index name="LC-call-number:w LC-call-number:p LC-call-number:s">
1825 <xslo:variable name="raw_heading">
1826 <xslo:for-each select="marc:subfield">
1827 <xslo:if test="position() > 1">
1828 <xslo:value-of select="substring(' ', 1, 1)"/>
1830 <xslo:value-of select="."/>
1833 <xslo:value-of select="normalize-space($raw_heading)"/>
1836 <xslo:template mode="index_data_field" match="marc:datafield[@tag='052']">
1837 <z:index name="Geographic-class:w">
1838 <xslo:variable name="raw_heading">
1839 <xslo:for-each select="marc:subfield">
1840 <xslo:if test="position() > 1">
1841 <xslo:value-of select="substring(' ', 1, 1)"/>
1843 <xslo:value-of select="."/>
1846 <xslo:value-of select="normalize-space($raw_heading)"/>
1849 <xslo:template mode="index_data_field" match="marc:datafield[@tag='060']">
1850 <z:index name="NLM-call-number:w">
1851 <xslo:variable name="raw_heading">
1852 <xslo:for-each select="marc:subfield">
1853 <xslo:if test="position() > 1">
1854 <xslo:value-of select="substring(' ', 1, 1)"/>
1856 <xslo:value-of select="."/>
1859 <xslo:value-of select="normalize-space($raw_heading)"/>
1862 <xslo:template mode="index_data_field" match="marc:datafield[@tag='070']">
1863 <z:index name="NAL-call-number:w">
1864 <xslo:variable name="raw_heading">
1865 <xslo:for-each select="marc:subfield">
1866 <xslo:if test="position() > 1">
1867 <xslo:value-of select="substring(' ', 1, 1)"/>
1869 <xslo:value-of select="."/>
1872 <xslo:value-of select="normalize-space($raw_heading)"/>
1875 <xslo:template mode="index_data_field" match="marc:datafield[@tag='080']">
1876 <z:index name="UDC-classification:w">
1877 <xslo:variable name="raw_heading">
1878 <xslo:for-each select="marc:subfield">
1879 <xslo:if test="position() > 1">
1880 <xslo:value-of select="substring(' ', 1, 1)"/>
1882 <xslo:value-of select="."/>
1885 <xslo:value-of select="normalize-space($raw_heading)"/>
1888 <xslo:template mode="index_data_field" match="marc:datafield[@tag='082']">
1889 <z:index name="Dewey-classification:w Dewey-classification:s">
1890 <xslo:variable name="raw_heading">
1891 <xslo:for-each select="marc:subfield">
1892 <xslo:if test="position() > 1">
1893 <xslo:value-of select="substring(' ', 1, 1)"/>
1895 <xslo:value-of select="."/>
1898 <xslo:value-of select="normalize-space($raw_heading)"/>
1901 <xslo:template mode="index_data_field" match="marc:datafield[@tag='086']">
1902 <z:index name="Number-govt-pub:w">
1903 <xslo:variable name="raw_heading">
1904 <xslo:for-each select="marc:subfield">
1905 <xslo:if test="position() > 1">
1906 <xslo:value-of select="substring(' ', 1, 1)"/>
1908 <xslo:value-of select="."/>
1911 <xslo:value-of select="normalize-space($raw_heading)"/>
1914 <xslo:template mode="index_data_field" match="marc:datafield[@tag='100']">
1915 <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">
1916 <xslo:variable name="raw_heading">
1917 <xslo:for-each select="marc:subfield">
1918 <xslo:if test="position() > 1">
1919 <xslo:value-of select="substring(' ', 1, 1)"/>
1921 <xslo:value-of select="."/>
1924 <xslo:value-of select="normalize-space($raw_heading)"/>
1927 <xslo:template mode="index_data_field" match="marc:datafield[@tag='110']">
1928 <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 Corporate-name:p">
1929 <xslo:variable name="raw_heading">
1930 <xslo:for-each select="marc:subfield">
1931 <xslo:if test="position() > 1">
1932 <xslo:value-of select="substring(' ', 1, 1)"/>
1934 <xslo:value-of select="."/>
1937 <xslo:value-of select="normalize-space($raw_heading)"/>
1940 <xslo:template mode="index_data_field" match="marc:datafield[@tag='111']">
1941 <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">
1942 <xslo:variable name="raw_heading">
1943 <xslo:for-each select="marc:subfield">
1944 <xslo:if test="position() > 1">
1945 <xslo:value-of select="substring(' ', 1, 1)"/>
1947 <xslo:value-of select="."/>
1950 <xslo:value-of select="normalize-space($raw_heading)"/>
1953 <xslo:template mode="index_data_field" match="marc:datafield[@tag='130']">
1954 <z:index name="Title:w Title:p Title-uniform:w">
1955 <xslo:variable name="raw_heading">
1956 <xslo:for-each select="marc:subfield">
1957 <xslo:if test="position() > 1">
1958 <xslo:value-of select="substring(' ', 1, 1)"/>
1960 <xslo:value-of select="."/>
1963 <xslo:value-of select="normalize-space($raw_heading)"/>
1966 <xslo:template mode="index_data_field" match="marc:datafield[@tag='210']">
1967 <z:index name="Title:w Title:p Title-abbreviated:w">
1968 <xslo:variable name="raw_heading">
1969 <xslo:for-each select="marc:subfield">
1970 <xslo:if test="position() > 1">
1971 <xslo:value-of select="substring(' ', 1, 1)"/>
1973 <xslo:value-of select="."/>
1976 <xslo:value-of select="normalize-space($raw_heading)"/>
1979 <xslo:template mode="index_data_field" match="marc:datafield[@tag='211']">
1980 <z:index name="Title:w Title:p Title-abbreviated:w">
1981 <xslo:variable name="raw_heading">
1982 <xslo:for-each select="marc:subfield">
1983 <xslo:if test="position() > 1">
1984 <xslo:value-of select="substring(' ', 1, 1)"/>
1986 <xslo:value-of select="."/>
1989 <xslo:value-of select="normalize-space($raw_heading)"/>
1992 <xslo:template mode="index_data_field" match="marc:datafield[@tag='212']">
1993 <z:index name="Title:w Title:p Title-other-variant:w">
1994 <xslo:variable name="raw_heading">
1995 <xslo:for-each select="marc:subfield">
1996 <xslo:if test="position() > 1">
1997 <xslo:value-of select="substring(' ', 1, 1)"/>
1999 <xslo:value-of select="."/>
2002 <xslo:value-of select="normalize-space($raw_heading)"/>
2005 <xslo:template mode="index_data_field" match="marc:datafield[@tag='214']">
2006 <z:index name="Title:w Title:p Title-expanded:w">
2007 <xslo:variable name="raw_heading">
2008 <xslo:for-each select="marc:subfield">
2009 <xslo:if test="position() > 1">
2010 <xslo:value-of select="substring(' ', 1, 1)"/>
2012 <xslo:value-of select="."/>
2015 <xslo:value-of select="normalize-space($raw_heading)"/>
2018 <xslo:template mode="index_data_field" match="marc:datafield[@tag='222']">
2019 <z:index name="Title:w Title:p Title-key:w">
2020 <xslo:variable name="raw_heading">
2021 <xslo:for-each select="marc:subfield">
2022 <xslo:if test="position() > 1">
2023 <xslo:value-of select="substring(' ', 1, 1)"/>
2025 <xslo:value-of select="."/>
2028 <xslo:value-of select="normalize-space($raw_heading)"/>
2031 <xslo:template mode="index_data_field" match="marc:datafield[@tag='240']">
2032 <z:index name="Title:w Title:p Title-uniform:w">
2033 <xslo:variable name="raw_heading">
2034 <xslo:for-each select="marc:subfield">
2035 <xslo:if test="position() > 1">
2036 <xslo:value-of select="substring(' ', 1, 1)"/>
2038 <xslo:value-of select="."/>
2041 <xslo:value-of select="normalize-space($raw_heading)"/>
2044 <xslo:template mode="index_data_field" match="marc:datafield[@tag='243']">
2045 <z:index name="Title:w Title:p Title-collective:w">
2046 <xslo:variable name="raw_heading">
2047 <xslo:for-each select="marc:subfield">
2048 <xslo:if test="position() > 1">
2049 <xslo:value-of select="substring(' ', 1, 1)"/>
2051 <xslo:value-of select="."/>
2054 <xslo:value-of select="normalize-space($raw_heading)"/>
2057 <xslo:template mode="index_data_field" match="marc:datafield[@tag='245']">
2058 <z:index name="Title:w Title:p">
2059 <xslo:variable name="raw_heading">
2060 <xslo:for-each select="marc:subfield">
2061 <xslo:if test="position() > 1">
2062 <xslo:value-of select="substring(' ', 1, 1)"/>
2064 <xslo:value-of select="."/>
2067 <xslo:value-of select="normalize-space($raw_heading)"/>
2070 <xslo:template mode="index_data_field" match="marc:datafield[@tag='246']">
2071 <z:index name="Title:w Title:p Title-abbreviated:w Title-expanded:w Title-former:w">
2072 <xslo:variable name="raw_heading">
2073 <xslo:for-each select="marc:subfield">
2074 <xslo:if test="position() > 1">
2075 <xslo:value-of select="substring(' ', 1, 1)"/>
2077 <xslo:value-of select="."/>
2080 <xslo:value-of select="normalize-space($raw_heading)"/>
2083 <xslo:template mode="index_data_field" match="marc:datafield[@tag='247']">
2084 <z:index name="Title:w Title:p Title-former:w Title-other-variant:w Related-periodical:w">
2085 <xslo:variable name="raw_heading">
2086 <xslo:for-each select="marc:subfield">
2087 <xslo:if test="position() > 1">
2088 <xslo:value-of select="substring(' ', 1, 1)"/>
2090 <xslo:value-of select="."/>
2093 <xslo:value-of select="normalize-space($raw_heading)"/>
2096 <xslo:template mode="index_data_field" match="marc:datafield[@tag='260']">
2097 <z:index name="pl:w Provider:w">
2098 <xslo:variable name="raw_heading">
2099 <xslo:for-each select="marc:subfield">
2100 <xslo:if test="position() > 1">
2101 <xslo:value-of select="substring(' ', 1, 1)"/>
2103 <xslo:value-of select="."/>
2106 <xslo:value-of select="normalize-space($raw_heading)"/>
2109 <xslo:template mode="index_data_field" match="marc:datafield[@tag='264']">
2110 <z:index name="pl:w Provider:w">
2111 <xslo:variable name="raw_heading">
2112 <xslo:for-each select="marc:subfield">
2113 <xslo:if test="position() > 1">
2114 <xslo:value-of select="substring(' ', 1, 1)"/>
2116 <xslo:value-of select="."/>
2119 <xslo:value-of select="normalize-space($raw_heading)"/>
2122 <xslo:template mode="index_data_field" match="marc:datafield[@tag='300']">
2123 <z:index name="Extent:w Extent:p">
2124 <xslo:variable name="raw_heading">
2125 <xslo:for-each select="marc:subfield">
2126 <xslo:if test="position() > 1">
2127 <xslo:value-of select="substring(' ', 1, 1)"/>
2129 <xslo:value-of select="."/>
2132 <xslo:value-of select="normalize-space($raw_heading)"/>
2135 <xslo:template mode="index_data_field" match="marc:datafield[@tag='400']">
2136 <z:index name="Author:w Author-name-personal:w Name:w Personal-name:w">
2137 <xslo:variable name="raw_heading">
2138 <xslo:for-each select="marc:subfield">
2139 <xslo:if test="position() > 1">
2140 <xslo:value-of select="substring(' ', 1, 1)"/>
2142 <xslo:value-of select="."/>
2145 <xslo:value-of select="normalize-space($raw_heading)"/>
2148 <xslo:template mode="index_data_field" match="marc:datafield[@tag='410']">
2149 <z:index name="Author:w Corporate-name:w Corporate-name:p">
2150 <xslo:variable name="raw_heading">
2151 <xslo:for-each select="marc:subfield">
2152 <xslo:if test="position() > 1">
2153 <xslo:value-of select="substring(' ', 1, 1)"/>
2155 <xslo:value-of select="."/>
2158 <xslo:value-of select="normalize-space($raw_heading)"/>
2161 <xslo:template mode="index_data_field" match="marc:datafield[@tag='411']">
2162 <z:index name="Author:w Conference-name:w">
2163 <xslo:variable name="raw_heading">
2164 <xslo:for-each select="marc:subfield">
2165 <xslo:if test="position() > 1">
2166 <xslo:value-of select="substring(' ', 1, 1)"/>
2168 <xslo:value-of select="."/>
2171 <xslo:value-of select="normalize-space($raw_heading)"/>
2174 <xslo:template mode="index_data_field" match="marc:datafield[@tag='440']">
2175 <z:index name="Title-series:w Title-series:p Title:w Title-series:w">
2176 <xslo:variable name="raw_heading">
2177 <xslo:for-each select="marc:subfield">
2178 <xslo:if test="position() > 1">
2179 <xslo:value-of select="substring(' ', 1, 1)"/>
2181 <xslo:value-of select="."/>
2184 <xslo:value-of select="normalize-space($raw_heading)"/>
2187 <xslo:template mode="index_data_field" match="marc:datafield[@tag='490']">
2188 <z:index name="Title:w Title-series:w">
2189 <xslo:variable name="raw_heading">
2190 <xslo:for-each select="marc:subfield">
2191 <xslo:if test="position() > 1">
2192 <xslo:value-of select="substring(' ', 1, 1)"/>
2194 <xslo:value-of select="."/>
2197 <xslo:value-of select="normalize-space($raw_heading)"/>
2200 <xslo:template mode="index_data_field" match="marc:datafield[@tag='500']">
2201 <z:index name="Note:w Note:p">
2202 <xslo:variable name="raw_heading">
2203 <xslo:for-each select="marc:subfield">
2204 <xslo:if test="position() > 1">
2205 <xslo:value-of select="substring(' ', 1, 1)"/>
2207 <xslo:value-of select="."/>
2210 <xslo:value-of select="normalize-space($raw_heading)"/>
2213 <xslo:template mode="index_data_field" match="marc:datafield[@tag='502']">
2214 <z:index name="Material-type:w Dissertation-information:p Dissertation-information:w">
2215 <xslo:variable name="raw_heading">
2216 <xslo:for-each select="marc:subfield">
2217 <xslo:if test="position() > 1">
2218 <xslo:value-of select="substring(' ', 1, 1)"/>
2220 <xslo:value-of select="."/>
2223 <xslo:value-of select="normalize-space($raw_heading)"/>
2226 <xslo:template mode="index_data_field" match="marc:datafield[@tag='505']">
2227 <z:index name="Note:w Note:p">
2228 <xslo:variable name="raw_heading">
2229 <xslo:for-each select="marc:subfield">
2230 <xslo:if test="position() > 1">
2231 <xslo:value-of select="substring(' ', 1, 1)"/>
2233 <xslo:value-of select="."/>
2236 <xslo:value-of select="normalize-space($raw_heading)"/>
2239 <xslo:template mode="index_data_field" match="marc:datafield[@tag='510']">
2240 <z:index name="Indexed-by:w">
2241 <xslo:variable name="raw_heading">
2242 <xslo:for-each select="marc:subfield">
2243 <xslo:if test="position() > 1">
2244 <xslo:value-of select="substring(' ', 1, 1)"/>
2246 <xslo:value-of select="."/>
2249 <xslo:value-of select="normalize-space($raw_heading)"/>
2252 <xslo:template mode="index_data_field" match="marc:datafield[@tag='520']">
2253 <z:index name="Abstract:w Abstract:p">
2254 <xslo:variable name="raw_heading">
2255 <xslo:for-each select="marc:subfield">
2256 <xslo:if test="position() > 1">
2257 <xslo:value-of select="substring(' ', 1, 1)"/>
2259 <xslo:value-of select="."/>
2262 <xslo:value-of select="normalize-space($raw_heading)"/>
2265 <xslo:template mode="index_data_field" match="marc:datafield[@tag='590']">
2266 <z:index name="Note:w Note:p">
2267 <xslo:variable name="raw_heading">
2268 <xslo:for-each select="marc:subfield">
2269 <xslo:if test="position() > 1">
2270 <xslo:value-of select="substring(' ', 1, 1)"/>
2272 <xslo:value-of select="."/>
2275 <xslo:value-of select="normalize-space($raw_heading)"/>
2278 <xslo:template mode="index_data_field" match="marc:datafield[@tag='600']">
2279 <z:index name="Name:w Personal-name:w Subject-name-personal:w Subject:w Subject:p">
2280 <xslo:variable name="raw_heading">
2281 <xslo:for-each select="marc:subfield">
2282 <xslo:if test="position() > 1">
2283 <xslo:value-of select="substring(' ', 1, 1)"/>
2285 <xslo:value-of select="."/>
2288 <xslo:value-of select="normalize-space($raw_heading)"/>
2291 <xslo:template mode="index_data_field" match="marc:datafield[@tag='610']">
2292 <z:index name="Name:w Subject:w Subject:p Corporate-name:w Corporate-name:p">
2293 <xslo:variable name="raw_heading">
2294 <xslo:for-each select="marc:subfield">
2295 <xslo:if test="position() > 1">
2296 <xslo:value-of select="substring(' ', 1, 1)"/>
2298 <xslo:value-of select="."/>
2301 <xslo:value-of select="normalize-space($raw_heading)"/>
2304 <xslo:template mode="index_data_field" match="marc:datafield[@tag='611']">
2305 <z:index name="Conference-name:w Name:w Subject:w Subject:p">
2306 <xslo:variable name="raw_heading">
2307 <xslo:for-each select="marc:subfield">
2308 <xslo:if test="position() > 1">
2309 <xslo:value-of select="substring(' ', 1, 1)"/>
2311 <xslo:value-of select="."/>
2314 <xslo:value-of select="normalize-space($raw_heading)"/>
2317 <xslo:template mode="index_data_field" match="marc:datafield[@tag='630']">
2318 <z:index name="Subject:w Subject:p">
2319 <xslo:variable name="raw_heading">
2320 <xslo:for-each select="marc:subfield">
2321 <xslo:if test="position() > 1">
2322 <xslo:value-of select="substring(' ', 1, 1)"/>
2324 <xslo:value-of select="."/>
2327 <xslo:value-of select="normalize-space($raw_heading)"/>
2330 <xslo:template mode="index_data_field" match="marc:datafield[@tag='650']">
2331 <z:index name="Subject:w Subject:p">
2332 <xslo:variable name="raw_heading">
2333 <xslo:for-each select="marc:subfield">
2334 <xslo:if test="position() > 1">
2335 <xslo:value-of select="substring(' ', 1, 1)"/>
2337 <xslo:value-of select="."/>
2340 <xslo:value-of select="normalize-space($raw_heading)"/>
2343 <xslo:template mode="index_data_field" match="marc:datafield[@tag='651']">
2344 <z:index name="Name-geographic:w Subject:w Subject:p">
2345 <xslo:variable name="raw_heading">
2346 <xslo:for-each select="marc:subfield">
2347 <xslo:if test="position() > 1">
2348 <xslo:value-of select="substring(' ', 1, 1)"/>
2350 <xslo:value-of select="."/>
2353 <xslo:value-of select="normalize-space($raw_heading)"/>
2356 <xslo:template mode="index_data_field" match="marc:datafield[@tag='653']">
2357 <z:index name="Subject:w Subject:p">
2358 <xslo:variable name="raw_heading">
2359 <xslo:for-each select="marc:subfield">
2360 <xslo:if test="position() > 1">
2361 <xslo:value-of select="substring(' ', 1, 1)"/>
2363 <xslo:value-of select="."/>
2366 <xslo:value-of select="normalize-space($raw_heading)"/>
2369 <xslo:template mode="index_data_field" match="marc:datafield[@tag='654']">
2370 <z:index name="Subject:w Subject:p">
2371 <xslo:variable name="raw_heading">
2372 <xslo:for-each select="marc:subfield">
2373 <xslo:if test="position() > 1">
2374 <xslo:value-of select="substring(' ', 1, 1)"/>
2376 <xslo:value-of select="."/>
2379 <xslo:value-of select="normalize-space($raw_heading)"/>
2382 <xslo:template mode="index_data_field" match="marc:datafield[@tag='655']">
2383 <z:index name="Subject:w Subject:p">
2384 <xslo:variable name="raw_heading">
2385 <xslo:for-each select="marc:subfield">
2386 <xslo:if test="position() > 1">
2387 <xslo:value-of select="substring(' ', 1, 1)"/>
2389 <xslo:value-of select="."/>
2392 <xslo:value-of select="normalize-space($raw_heading)"/>
2395 <xslo:template mode="index_data_field" match="marc:datafield[@tag='656']">
2396 <z:index name="Subject:w Subject:p">
2397 <xslo:variable name="raw_heading">
2398 <xslo:for-each select="marc:subfield">
2399 <xslo:if test="position() > 1">
2400 <xslo:value-of select="substring(' ', 1, 1)"/>
2402 <xslo:value-of select="."/>
2405 <xslo:value-of select="normalize-space($raw_heading)"/>
2408 <xslo:template mode="index_data_field" match="marc:datafield[@tag='657']">
2409 <z:index name="Subject:w Subject:p">
2410 <xslo:variable name="raw_heading">
2411 <xslo:for-each select="marc:subfield">
2412 <xslo:if test="position() > 1">
2413 <xslo:value-of select="substring(' ', 1, 1)"/>
2415 <xslo:value-of select="."/>
2418 <xslo:value-of select="normalize-space($raw_heading)"/>
2421 <xslo:template mode="index_data_field" match="marc:datafield[@tag='658']">
2422 <z:index name="Subject:w Subject:p">
2423 <xslo:variable name="raw_heading">
2424 <xslo:for-each select="marc:subfield">
2425 <xslo:if test="position() > 1">
2426 <xslo:value-of select="substring(' ', 1, 1)"/>
2428 <xslo:value-of select="."/>
2431 <xslo:value-of select="normalize-space($raw_heading)"/>
2434 <xslo:template mode="index_data_field" match="marc:datafield[@tag='690']">
2435 <z:index name="Subject:w Subject:p">
2436 <xslo:variable name="raw_heading">
2437 <xslo:for-each select="marc:subfield">
2438 <xslo:if test="position() > 1">
2439 <xslo:value-of select="substring(' ', 1, 1)"/>
2441 <xslo:value-of select="."/>
2444 <xslo:value-of select="normalize-space($raw_heading)"/>
2447 <xslo:template mode="index_data_field" match="marc:datafield[@tag='700']">
2448 <z:index name="Author:w Author:p Author-name-personal:w Name:w Editor:w Personal-name:w">
2449 <xslo:variable name="raw_heading">
2450 <xslo:for-each select="marc:subfield">
2451 <xslo:if test="position() > 1">
2452 <xslo:value-of select="substring(' ', 1, 1)"/>
2454 <xslo:value-of select="."/>
2457 <xslo:value-of select="normalize-space($raw_heading)"/>
2460 <xslo:template mode="index_data_field" match="marc:datafield[@tag='710']">
2461 <z:index name="Author:w Author:p Corporate-name:w Corporate-name:p Name:w">
2462 <xslo:variable name="raw_heading">
2463 <xslo:for-each select="marc:subfield">
2464 <xslo:if test="position() > 1">
2465 <xslo:value-of select="substring(' ', 1, 1)"/>
2467 <xslo:value-of select="."/>
2470 <xslo:value-of select="normalize-space($raw_heading)"/>
2473 <xslo:template mode="index_data_field" match="marc:datafield[@tag='711']">
2474 <z:index name="Author:w Author:p Author-name-corporate:w Name:w Conference-name:w">
2475 <xslo:variable name="raw_heading">
2476 <xslo:for-each select="marc:subfield">
2477 <xslo:if test="position() > 1">
2478 <xslo:value-of select="substring(' ', 1, 1)"/>
2480 <xslo:value-of select="."/>
2483 <xslo:value-of select="normalize-space($raw_heading)"/>
2486 <xslo:template mode="index_data_field" match="marc:datafield[@tag='730']">
2487 <z:index name="Title:w Title:p Title-uniform:w">
2488 <xslo:variable name="raw_heading">
2489 <xslo:for-each select="marc:subfield">
2490 <xslo:if test="position() > 1">
2491 <xslo:value-of select="substring(' ', 1, 1)"/>
2493 <xslo:value-of select="."/>
2496 <xslo:value-of select="normalize-space($raw_heading)"/>
2499 <xslo:template mode="index_data_field" match="marc:datafield[@tag='740']">
2500 <z:index name="Title:w Title:p Title-other-variant:w">
2501 <xslo:variable name="raw_heading">
2502 <xslo:for-each select="marc:subfield">
2503 <xslo:if test="position() > 1">
2504 <xslo:value-of select="substring(' ', 1, 1)"/>
2506 <xslo:value-of select="."/>
2509 <xslo:value-of select="normalize-space($raw_heading)"/>
2512 <xslo:template mode="index_data_field" match="marc:datafield[@tag='751']">
2513 <z:index name="Name-geographic:w">
2514 <xslo:variable name="raw_heading">
2515 <xslo:for-each select="marc:subfield">
2516 <xslo:if test="position() > 1">
2517 <xslo:value-of select="substring(' ', 1, 1)"/>
2519 <xslo:value-of select="."/>
2522 <xslo:value-of select="normalize-space($raw_heading)"/>
2525 <xslo:template mode="index_data_field" match="marc:datafield[@tag='780']">
2526 <z:index name="Title:w Title:p Title-former:w Related-periodical:w">
2527 <xslo:variable name="raw_heading">
2528 <xslo:for-each select="marc:subfield">
2529 <xslo:if test="position() > 1">
2530 <xslo:value-of select="substring(' ', 1, 1)"/>
2532 <xslo:value-of select="."/>
2535 <xslo:value-of select="normalize-space($raw_heading)"/>
2538 <xslo:template mode="index_data_field" match="marc:datafield[@tag='785']">
2539 <z:index name="Title:w Title:p Title-later:w Related-periodical:w">
2540 <xslo:variable name="raw_heading">
2541 <xslo:for-each select="marc:subfield">
2542 <xslo:if test="position() > 1">
2543 <xslo:value-of select="substring(' ', 1, 1)"/>
2545 <xslo:value-of select="."/>
2548 <xslo:value-of select="normalize-space($raw_heading)"/>
2551 <xslo:template mode="index_data_field" match="marc:datafield[@tag='800']">
2552 <z:index name="Author:w Author-name-personal:w Name:w Personal-name:w">
2553 <xslo:variable name="raw_heading">
2554 <xslo:for-each select="marc:subfield">
2555 <xslo:if test="position() > 1">
2556 <xslo:value-of select="substring(' ', 1, 1)"/>
2558 <xslo:value-of select="."/>
2561 <xslo:value-of select="normalize-space($raw_heading)"/>
2564 <xslo:template mode="index_data_field" match="marc:datafield[@tag='810']">
2565 <z:index name="Author:w Corporate-name:w Corporate-name:p Author-name-corporate:w Name:w">
2566 <xslo:variable name="raw_heading">
2567 <xslo:for-each select="marc:subfield">
2568 <xslo:if test="position() > 1">
2569 <xslo:value-of select="substring(' ', 1, 1)"/>
2571 <xslo:value-of select="."/>
2574 <xslo:value-of select="normalize-space($raw_heading)"/>
2577 <xslo:template mode="index_data_field" match="marc:datafield[@tag='811']">
2578 <z:index name="Author:w Author-name-corporate:w Name:w Conference-name:w">
2579 <xslo:variable name="raw_heading">
2580 <xslo:for-each select="marc:subfield">
2581 <xslo:if test="position() > 1">
2582 <xslo:value-of select="substring(' ', 1, 1)"/>
2584 <xslo:value-of select="."/>
2587 <xslo:value-of select="normalize-space($raw_heading)"/>
2590 <xslo:template mode="index_data_field" match="marc:datafield[@tag='830']">
2591 <z:index name="Title:w Title-series:w Title-series:p">
2592 <xslo:variable name="raw_heading">
2593 <xslo:for-each select="marc:subfield">
2594 <xslo:if test="position() > 1">
2595 <xslo:value-of select="substring(' ', 1, 1)"/>
2597 <xslo:value-of select="."/>
2600 <xslo:value-of select="normalize-space($raw_heading)"/>
2603 <xslo:template mode="index_data_field" match="marc:datafield[@tag='840']">
2604 <z:index name="Title:w Title-series:w Title-series:p">
2605 <xslo:variable name="raw_heading">
2606 <xslo:for-each select="marc:subfield">
2607 <xslo:if test="position() > 1">
2608 <xslo:value-of select="substring(' ', 1, 1)"/>
2610 <xslo:value-of select="."/>
2613 <xslo:value-of select="normalize-space($raw_heading)"/>
2616 <xslo:template mode="index_facets" match="marc:datafield[@tag='100']">
2617 <xslo:if test="not(@ind1='z')">
2618 <z:index name="au:0">
2619 <xslo:value-of select="marc:subfield[@code='a']"/>
2623 <xslo:template mode="index_facets" match="marc:datafield[@tag='110']">
2624 <xslo:if test="not(@ind1='z')">
2625 <z:index name="au:0">
2626 <xslo:value-of select="marc:subfield[@code='a']"/>
2630 <xslo:template mode="index_facets" match="marc:datafield[@tag='440']">
2631 <xslo:if test="not(@ind1='z')">
2632 <z:index name="se:0">
2633 <xslo:value-of select="marc:subfield[@code='a']"/>
2637 <xslo:template mode="index_facets" match="marc:datafield[@tag='490']">
2638 <xslo:if test="not(@ind1='z')">
2639 <z:index name="se:0">
2640 <xslo:value-of select="marc:subfield[@code='a']"/>
2644 <xslo:template mode="index_facets" match="marc:datafield[@tag='630']">
2645 <xslo:if test="not(@ind1='z')">
2646 <z:index name="su-ut:0">
2647 <xslo:value-of select="marc:subfield[@code='a']"/>
2651 <xslo:template mode="index_facets" match="marc:datafield[@tag='650']">
2652 <xslo:if test="not(@ind1='z')">
2653 <z:index name="su-to:0">
2654 <xslo:value-of select="marc:subfield[@code='a']"/>
2658 <xslo:template mode="index_facets" match="marc:datafield[@tag='651']">
2659 <xslo:if test="not(@ind1='z')">
2660 <z:index name="su-geo:0">
2661 <xslo:value-of select="marc:subfield[@code='a']"/>
2665 <xslo:template mode="index_facets" match="marc:datafield[@tag='700']">
2666 <xslo:if test="not(@ind1='z')">
2667 <z:index name="au:0">
2668 <xslo:value-of select="marc:subfield[@code='a']"/>
2672 <xslo:template mode="index_facets" match="marc:datafield[@tag='942']">
2673 <xslo:if test="not(@ind1='z')">
2674 <z:index name="itype:0">
2675 <xslo:value-of select="marc:subfield[@code='c']"/>
2679 <xslo:template mode="index_facets" match="marc:datafield[@tag='952']">
2680 <xslo:if test="not(@ind1='z')">
2681 <z:index name="homebranch:0">
2682 <xslo:value-of select="marc:subfield[@code='a']"/>
2684 <z:index name="holdingbranch:0">
2685 <xslo:value-of select="marc:subfield[@code='b']"/>
2687 <z:index name="location:0">
2688 <xslo:value-of select="marc:subfield[@code='c']"/>
2690 <z:index name="itype:0">
2691 <xslo:value-of select="marc:subfield[@code='y']"/>
2693 <z:index name="ccode:0">
2694 <xslo:value-of select="marc:subfield[@code='8']"/>
2698 <xslo:template mode="index_sort_title" match="marc:datafield[@tag='245']">
2699 <xslo:variable name="chop">
2701 <xslo:when test="not(number(@ind2))">0</xslo:when>
2703 <xslo:value-of select="number(@ind2)"/>
2707 <z:index name="Title:s">
2708 <xslo:value-of select="substring(marc:subfield[@code='a'], $chop+1)"/>
2711 <xslo:template mode="index_all" match="text()">
2712 <z:index name="Any:w Any:p">
2713 <xslo:value-of select="."/>
2716 <xslo:template name="chopPunctuation">
2717 <xslo:param name="chopString"/>
2718 <xslo:variable name="length" select="string-length($chopString)"/>
2720 <xslo:when test="$length=0"/>
2721 <xslo:when test="contains('-,.:=;!%/', substring($chopString,$length,1))">
2722 <xslo:call-template name="chopPunctuation">
2723 <xslo:with-param name="chopString" select="substring($chopString,1,$length - 1)"/>
2724 </xslo:call-template>
2726 <xslo:when test="not($chopString)"/>
2728 <xslo:value-of select="$chopString"/>