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_tit"/>
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_tit"/>
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)"/>
60 <xslo:template match="marc:controlfield[@tag='001']">
61 <z:index name="Control-number:w">
62 <xslo:value-of select="."/>
65 <xslo:template match="marc:controlfield[@tag='005']">
66 <z:index name="Date/time-last-modified:w">
67 <xslo:value-of select="."/>
70 <xslo:template match="marc:controlfield[@tag='007']">
71 <z:index name="Microform-generation:n">
72 <xslo:value-of select="substring(., 12, 1)"/>
74 <z:index name="Material-type:w">
75 <xslo:value-of select="."/>
77 <z:index name="ff7-00:w">
78 <xslo:value-of select="substring(., 1, 1)"/>
80 <z:index name="ff7-01:w">
81 <xslo:value-of select="substring(., 2, 1)"/>
83 <z:index name="ff7-02:w">
84 <xslo:value-of select="substring(., 3, 1)"/>
86 <z:index name="ff7-01-02:w">
87 <xslo:value-of select="substring(., 1, 2)"/>
90 <xslo:template match="marc:controlfield[@tag='008']">
91 <z:index name="date-entered-on-file:n">
92 <xslo:value-of select="substring(., 1, 5)"/>
94 <z:index name="date-entered-on-file:s">
95 <xslo:value-of select="substring(., 1, 5)"/>
97 <z:index name="pubdate:w">
98 <xslo:value-of select="substring(., 8, 4)"/>
100 <z:index name="pubdate:n">
101 <xslo:value-of select="substring(., 8, 4)"/>
103 <z:index name="pubdate:y">
104 <xslo:value-of select="substring(., 8, 4)"/>
106 <z:index name="pubdate:s">
107 <xslo:value-of select="substring(., 8, 4)"/>
109 <z:index name="pl:w">
110 <xslo:value-of select="substring(., 16, 3)"/>
112 <z:index name="ta:w">
113 <xslo:value-of select="substring(., 23, 1)"/>
115 <z:index name="ff8-23:w">
116 <xslo:value-of select="substring(., 24, 1)"/>
118 <z:index name="ff8-29:w">
119 <xslo:value-of select="substring(., 30, 1)"/>
121 <z:index name="lf:w">
122 <xslo:value-of select="substring(., 34, 1)"/>
124 <z:index name="bio:w">
125 <xslo:value-of select="substring(., 35, 1)"/>
127 <z:index name="ln:w">
128 <xslo:value-of select="substring(., 36, 3)"/>
130 <z:index name="ctype:w">
131 <xslo:value-of select="substring(., 25, 4)"/>
133 <z:index name="Record-source:w">
134 <xslo:value-of select="substring(., 40, 0)"/>
137 <xslo:template mode="index_subfields" match="marc:datafield[@tag='020']">
138 <xslo:for-each select="marc:subfield">
139 <xslo:if test="contains('a', @code)">
140 <z:index name="ISBN:w Identifier-standard:w">
141 <xslo:value-of select="."/>
145 <xslo:for-each select="marc:subfield">
146 <xslo:if test="contains('z', @code)">
147 <z:index name="ISBN:w Identifier-standard:w">
148 <xslo:value-of select="."/>
153 <xslo:template mode="index_subfields" match="marc:datafield[@tag='022']">
154 <xslo:for-each select="marc:subfield">
155 <xslo:if test="contains('a', @code)">
156 <z:index name="ISSN:w Identifier-standard:w">
157 <xslo:value-of select="."/>
161 <xslo:for-each select="marc:subfield">
162 <xslo:if test="contains('y', @code)">
163 <z:index name="ISSN:w Identifier-standard:w">
164 <xslo:value-of select="."/>
168 <xslo:for-each select="marc:subfield">
169 <xslo:if test="contains('z', @code)">
170 <z:index name="ISSN:w Identifier-standard:w">
171 <xslo:value-of select="."/>
176 <xslo:template mode="index_subfields" match="marc:datafield[@tag='024']">
177 <xslo:for-each select="marc:subfield">
178 <xslo:if test="contains('a', @code)">
179 <z:index name="Identifier-other:w Identifier-other:p">
180 <xslo:value-of select="."/>
184 <xslo:if test="marc:subfield[@code='2' and text()='uri']">
185 <xslo:for-each select="marc:subfield">
186 <xslo:if test="contains('a', @code)">
187 <z:index name="Identifier-other:u">
188 <xslo:value-of select="."/>
194 <xslo:template mode="index_subfields" match="marc:datafield[@tag='041']">
195 <xslo:for-each select="marc:subfield">
196 <xslo:if test="contains('a', @code)">
197 <z:index name="ln:w ln-audio:w">
198 <xslo:value-of select="."/>
202 <xslo:for-each select="marc:subfield">
203 <xslo:if test="contains('d', @code)">
204 <z:index name="ln:w">
205 <xslo:value-of select="."/>
209 <xslo:for-each select="marc:subfield">
210 <xslo:if test="contains('e', @code)">
211 <z:index name="ln:w">
212 <xslo:value-of select="."/>
216 <xslo:for-each select="marc:subfield">
217 <xslo:if test="contains('h', @code)">
218 <z:index name="language-original:w">
219 <xslo:value-of select="."/>
223 <xslo:for-each select="marc:subfield">
224 <xslo:if test="contains('j', @code)">
225 <z:index name="ln:w ln-subtitle:w">
226 <xslo:value-of select="."/>
231 <xslo:template mode="index_subfields" match="marc:datafield[@tag='050']">
232 <xslo:for-each select="marc:subfield">
233 <xslo:if test="contains('b', @code)">
234 <z:index name="LC-call-number:w LC-call-number:p LC-call-number:s">
235 <xslo:value-of select="."/>
240 <xslo:template mode="index_subfields" match="marc:datafield[@tag='100']">
241 <xslo:for-each select="marc:subfield">
242 <xslo:if test="contains('9', @code)">
243 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
244 <xslo:value-of select="."/>
248 <xslo:for-each select="marc:subfield">
249 <xslo:if test="contains('a', @code)">
250 <z:index name="Author:w Author:p Author:s Editor:w Author-personal-bibliography:w Author-personal-bibliography:p Author-personal-bibliography:s">
251 <xslo:value-of select="."/>
256 <xslo:template mode="index_subfields" match="marc:datafield[@tag='110']">
257 <xslo:for-each select="marc:subfield">
258 <xslo:if test="contains('9', @code)">
259 <z:index name="Koha-Auth-Number:w">
260 <xslo:value-of select="."/>
265 <xslo:template mode="index_subfields" match="marc:datafield[@tag='111']">
266 <xslo:for-each select="marc:subfield">
267 <xslo:if test="contains('9', @code)">
268 <z:index name="Koha-Auth-Number:w">
269 <xslo:value-of select="."/>
274 <xslo:template mode="index_subfields" match="marc:datafield[@tag='130']">
275 <xslo:for-each select="marc:subfield">
276 <xslo:if test="contains('n', @code)">
277 <z:index name="Thematic-number:w">
278 <xslo:value-of select="."/>
282 <xslo:for-each select="marc:subfield">
283 <xslo:if test="contains('r', @code)">
284 <z:index name="Music-key:w">
285 <xslo:value-of select="."/>
289 <xslo:for-each select="marc:subfield">
290 <xslo:if test="contains('9', @code)">
291 <z:index name="Koha-Auth-Number:w">
292 <xslo:value-of select="."/>
297 <xslo:template mode="index_subfields" match="marc:datafield[@tag='240']">
298 <xslo:for-each select="marc:subfield">
299 <xslo:if test="contains('r', @code)">
300 <z:index name="Music-key:w">
301 <xslo:value-of select="."/>
305 <xslo:for-each select="marc:subfield">
306 <xslo:if test="contains('n', @code)">
307 <z:index name="Thematic-number:w">
308 <xslo:value-of select="."/>
313 <xslo:template mode="index_subfields" match="marc:datafield[@tag='243']">
314 <xslo:for-each select="marc:subfield">
315 <xslo:if test="contains('n', @code)">
316 <z:index name="Thematic-number:w">
317 <xslo:value-of select="."/>
321 <xslo:for-each select="marc:subfield">
322 <xslo:if test="contains('r', @code)">
323 <z:index name="Music-key:w">
324 <xslo:value-of select="."/>
329 <xslo:template mode="index_subfields" match="marc:datafield[@tag='245']">
330 <xslo:for-each select="marc:subfield">
331 <xslo:if test="contains('a', @code)">
332 <z:index name="Title-cover:w Title-cover:p Title-cover:s Title:w Title:p">
333 <xslo:value-of select="."/>
337 <xslo:for-each select="marc:subfield">
338 <xslo:if test="contains('c', @code)">
339 <z:index name="Author:w Author-in-order:w Author-in-order:p Author-in-order:s">
340 <xslo:value-of select="."/>
344 <xslo:for-each select="marc:subfield">
345 <xslo:if test="contains('9', @code)">
346 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
347 <xslo:value-of select="."/>
352 <xslo:template mode="index_subfields" match="marc:datafield[@tag='260']">
353 <xslo:for-each select="marc:subfield">
354 <xslo:if test="contains('a', @code)">
355 <z:index name="pl:w pl:p">
356 <xslo:value-of select="."/>
360 <xslo:for-each select="marc:subfield">
361 <xslo:if test="contains('b', @code)">
362 <z:index name="Publisher:w Publisher:p">
363 <xslo:value-of select="."/>
367 <xslo:for-each select="marc:subfield">
368 <xslo:if test="contains('c', @code)">
369 <z:index name="copydate:w copydate:s">
370 <xslo:value-of select="."/>
375 <xslo:template mode="index_subfields" match="marc:datafield[@tag='264']">
376 <xslo:for-each select="marc:subfield">
377 <xslo:if test="contains('a', @code)">
378 <z:index name="pl:w pl:p">
379 <xslo:value-of select="."/>
383 <xslo:for-each select="marc:subfield">
384 <xslo:if test="contains('b', @code)">
385 <z:index name="Publisher:w Publisher:p">
386 <xslo:value-of select="."/>
390 <xslo:for-each select="marc:subfield">
391 <xslo:if test="contains('c', @code)">
392 <z:index name="copydate:w copydate:s">
393 <xslo:value-of select="."/>
398 <xslo:template mode="index_subfields" match="marc:datafield[@tag='400']">
399 <xslo:for-each select="marc:subfield">
400 <xslo:if test="contains('a', @code)">
401 <z:index name="Name-and-title:w">
402 <xslo:value-of select="."/>
406 <xslo:for-each select="marc:subfield">
407 <xslo:if test="contains('t', @code)">
408 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w">
409 <xslo:value-of select="."/>
413 <xslo:for-each select="marc:subfield">
414 <xslo:if test="contains('9', @code)">
415 <z:index name="Koha-Auth-Number:w">
416 <xslo:value-of select="."/>
421 <xslo:template mode="index_subfields" match="marc:datafield[@tag='410']">
422 <xslo:for-each select="marc:subfield">
423 <xslo:if test="contains('a', @code)">
424 <z:index name="Name-and-title:w">
425 <xslo:value-of select="."/>
429 <xslo:for-each select="marc:subfield">
430 <xslo:if test="contains('t', @code)">
431 <z:index name="Author-title:w Title:w Title-series:w">
432 <xslo:value-of select="."/>
436 <xslo:for-each select="marc:subfield">
437 <xslo:if test="contains('9', @code)">
438 <z:index name="Koha-Auth-Number:w">
439 <xslo:value-of select="."/>
444 <xslo:template mode="index_subfields" match="marc:datafield[@tag='411']">
445 <xslo:for-each select="marc:subfield">
446 <xslo:if test="contains('a', @code)">
447 <z:index name="Name-and-title:w">
448 <xslo:value-of select="."/>
452 <xslo:for-each select="marc:subfield">
453 <xslo:if test="contains('t', @code)">
454 <z:index name="Author-title:w Title-series:w">
455 <xslo:value-of select="."/>
460 <xslo:template mode="index_subfields" match="marc:datafield[@tag='440']">
461 <xslo:for-each select="marc:subfield">
462 <xslo:if test="contains('a', @code)">
463 <z:index name="Title-series:w Title-series:p">
464 <xslo:value-of select="."/>
468 <xslo:for-each select="marc:subfield">
469 <xslo:if test="contains('9', @code)">
470 <z:index name="Koha-Auth-Number:w">
471 <xslo:value-of select="."/>
476 <xslo:template mode="index_subfields" match="marc:datafield[@tag='490']">
477 <xslo:for-each select="marc:subfield">
478 <xslo:if test="contains('a', @code)">
479 <z:index name="Title-series:w Title-series:p">
480 <xslo:value-of select="."/>
484 <xslo:for-each select="marc:subfield">
485 <xslo:if test="contains('9', @code)">
486 <z:index name="Koha-Auth-Number:w">
487 <xslo:value-of select="."/>
492 <xslo:template mode="index_subfields" match="marc:datafield[@tag='505']">
493 <xslo:for-each select="marc:subfield">
494 <xslo:if test="contains('r', @code)">
495 <z:index name="Author:w">
496 <xslo:value-of select="."/>
500 <xslo:for-each select="marc:subfield">
501 <xslo:if test="contains('t', @code)">
502 <z:index name="Title:w">
503 <xslo:value-of select="."/>
508 <xslo:template mode="index_subfields" match="marc:datafield[@tag='521']">
509 <xslo:if test="@ind1='0'">
510 <xslo:for-each select="marc:subfield">
511 <xslo:if test="contains('a', @code)">
512 <z:index name="Reading-grade-level:w Reading-grade-level:p Reading-grade-level:n">
513 <xslo:value-of select="."/>
518 <xslo:if test="@ind1='1'">
519 <xslo:for-each select="marc:subfield">
520 <xslo:if test="contains('a', @code)">
521 <z:index name="Interest-age-level:w Interest-age-level:p Interest-age-level:n">
522 <xslo:value-of select="."/>
527 <xslo:if test="@ind1='2'">
528 <xslo:for-each select="marc:subfield">
529 <xslo:if test="contains('a', @code)">
530 <z:index name="Interest-grade-level:w Interest-grade-level:p Interest-grade-level:n">
531 <xslo:value-of select="."/>
536 <xslo:if test="@ind1='8'">
537 <xslo:for-each select="marc:subfield">
538 <xslo:if test="contains('a', @code)">
539 <z:index name="lexile-number:w lexile-number:p lexile-number:n">
540 <xslo:value-of select="."/>
546 <xslo:template mode="index_subfields" match="marc:datafield[@tag='526']">
547 <xslo:for-each select="marc:subfield">
548 <xslo:if test="contains('c', @code)">
549 <z:index name="arl:w arl:n">
550 <xslo:value-of select="."/>
554 <xslo:for-each select="marc:subfield">
555 <xslo:if test="contains('d', @code)">
556 <z:index name="arp:w arp:n">
557 <xslo:value-of select="."/>
562 <xslo:template mode="index_subfields" match="marc:datafield[@tag='600']">
563 <xslo:for-each select="marc:subfield">
564 <xslo:if test="contains('a', @code)">
565 <z:index name="Name-and-title:w Name:w Personal-name:w Subject-name-personal:w Subject:w Subject:p">
566 <xslo:value-of select="."/>
570 <xslo:for-each select="marc:subfield">
571 <xslo:if test="contains('t', @code)">
572 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
573 <xslo:value-of select="."/>
577 <xslo:for-each select="marc:subfield">
578 <xslo:if test="contains('9', @code)">
579 <z:index name="Koha-Auth-Number:w">
580 <xslo:value-of select="."/>
585 <xslo:template mode="index_subfields" match="marc:datafield[@tag='610']">
586 <xslo:for-each select="marc:subfield">
587 <xslo:if test="contains('a', @code)">
588 <z:index name="Name-and-title:w Subject:w Subject:p">
589 <xslo:value-of select="."/>
593 <xslo:for-each select="marc:subfield">
594 <xslo:if test="contains('t', @code)">
595 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
596 <xslo:value-of select="."/>
600 <xslo:for-each select="marc:subfield">
601 <xslo:if test="contains('9', @code)">
602 <z:index name="Koha-Auth-Number:w">
603 <xslo:value-of select="."/>
608 <xslo:template mode="index_subfields" match="marc:datafield[@tag='611']">
609 <xslo:for-each select="marc:subfield">
610 <xslo:if test="contains('a', @code)">
611 <z:index name="Name-and-title:w Subject:w Subject:p">
612 <xslo:value-of select="."/>
616 <xslo:for-each select="marc:subfield">
617 <xslo:if test="contains('t', @code)">
618 <z:index name="Name-and-title:w Title:w Subject:w Subject:p">
619 <xslo:value-of select="."/>
623 <xslo:for-each select="marc:subfield">
624 <xslo:if test="contains('9', @code)">
625 <z:index name="Koha-Auth-Number:w">
626 <xslo:value-of select="."/>
631 <xslo:template mode="index_subfields" match="marc:datafield[@tag='630']">
632 <xslo:for-each select="marc:subfield">
633 <xslo:if test="contains('n', @code)">
634 <z:index name="Thematic-number:w Subject:w Subject:p">
635 <xslo:value-of select="."/>
639 <xslo:for-each select="marc:subfield">
640 <xslo:if test="contains('r', @code)">
641 <z:index name="Music-key:w Subject:w Subject:p">
642 <xslo:value-of select="."/>
646 <xslo:for-each select="marc:subfield">
647 <xslo:if test="contains('9', @code)">
648 <z:index name="Koha-Auth-Number:w">
649 <xslo:value-of select="."/>
654 <xslo:template mode="index_subfields" match="marc:datafield[@tag='648']">
655 <xslo:for-each select="marc:subfield">
656 <xslo:if test="contains('9', @code)">
657 <z:index name="Koha-Auth-Number:w">
658 <xslo:value-of select="."/>
663 <xslo:template mode="index_subfields" match="marc:datafield[@tag='650']">
664 <xslo:for-each select="marc:subfield">
665 <xslo:if test="contains('9', @code)">
666 <z:index name="Koha-Auth-Number:w">
667 <xslo:value-of select="."/>
672 <xslo:template mode="index_subfields" match="marc:datafield[@tag='651']">
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='652']">
682 <xslo:for-each select="marc:subfield">
683 <xslo:if test="contains('9', @code)">
684 <z:index name="Koha-Auth-Number:w">
685 <xslo:value-of select="."/>
690 <xslo:template mode="index_subfields" match="marc:datafield[@tag='653']">
691 <xslo:for-each select="marc:subfield">
692 <xslo:if test="contains('a', @code)">
693 <z:index name="Index-term-uncontrolled:w Index-term-uncontrolled:p Subject:w Subject:p">
694 <xslo:value-of select="."/>
698 <xslo:for-each select="marc:subfield">
699 <xslo:if test="contains('9', @code)">
700 <z:index name="Koha-Auth-Number:w">
701 <xslo:value-of select="."/>
706 <xslo:template mode="index_subfields" match="marc:datafield[@tag='654']">
707 <xslo:for-each select="marc:subfield">
708 <xslo:if test="contains('9', @code)">
709 <z:index name="Koha-Auth-Number:w">
710 <xslo:value-of select="."/>
715 <xslo:template mode="index_subfields" match="marc:datafield[@tag='655']">
716 <xslo:for-each select="marc:subfield">
717 <xslo:if test="contains('a', @code)">
718 <z:index name="Index-term-genre:w Index-term-genre:p Subject:w Subject:p">
719 <xslo:value-of select="."/>
723 <xslo:for-each select="marc:subfield">
724 <xslo:if test="contains('9', @code)">
725 <z:index name="Koha-Auth-Number:w">
726 <xslo:value-of select="."/>
731 <xslo:template mode="index_subfields" match="marc:datafield[@tag='656']">
732 <xslo:for-each select="marc:subfield">
733 <xslo:if test="contains('9', @code)">
734 <z:index name="Koha-Auth-Number:w">
735 <xslo:value-of select="."/>
740 <xslo:template mode="index_subfields" match="marc:datafield[@tag='657']">
741 <xslo:for-each select="marc:subfield">
742 <xslo:if test="contains('9', @code)">
743 <z:index name="Koha-Auth-Number:w">
744 <xslo:value-of select="."/>
749 <xslo:template mode="index_subfields" match="marc:datafield[@tag='658']">
750 <xslo:for-each select="marc:subfield">
751 <xslo:if test="contains('a', @code)">
752 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
753 <xslo:value-of select="."/>
757 <xslo:for-each select="marc:subfield">
758 <xslo:if test="contains('b', @code)">
759 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
760 <xslo:value-of select="."/>
764 <xslo:for-each select="marc:subfield">
765 <xslo:if test="contains('c', @code)">
766 <z:index name="curriculum:w curriculum:p Subject:w Subject:p">
767 <xslo:value-of select="."/>
772 <xslo:template mode="index_subfields" match="marc:datafield[@tag='662']">
773 <xslo:for-each select="marc:subfield">
774 <xslo:if test="contains('9', @code)">
775 <z:index name="Koha-Auth-Number:w">
776 <xslo:value-of select="."/>
781 <xslo:template mode="index_subfields" match="marc:datafield[@tag='690']">
782 <xslo:for-each select="marc:subfield">
783 <xslo:if test="contains('9', @code)">
784 <z:index name="Koha-Auth-Number:w">
785 <xslo:value-of select="."/>
790 <xslo:template mode="index_subfields" match="marc:datafield[@tag='691']">
791 <xslo:for-each select="marc:subfield">
792 <xslo:if test="contains('9', @code)">
793 <z:index name="Koha-Auth-Number:w">
794 <xslo:value-of select="."/>
799 <xslo:template mode="index_subfields" match="marc:datafield[@tag='696']">
800 <xslo:for-each select="marc:subfield">
801 <xslo:if test="contains('9', @code)">
802 <z:index name="Koha-Auth-Number:w">
803 <xslo:value-of select="."/>
808 <xslo:template mode="index_subfields" match="marc:datafield[@tag='697']">
809 <xslo:for-each select="marc:subfield">
810 <xslo:if test="contains('9', @code)">
811 <z:index name="Koha-Auth-Number:w">
812 <xslo:value-of select="."/>
817 <xslo:template mode="index_subfields" match="marc:datafield[@tag='698']">
818 <xslo:for-each select="marc:subfield">
819 <xslo:if test="contains('9', @code)">
820 <z:index name="Koha-Auth-Number:w">
821 <xslo:value-of select="."/>
826 <xslo:template mode="index_subfields" match="marc:datafield[@tag='699']">
827 <xslo:for-each select="marc:subfield">
828 <xslo:if test="contains('9', @code)">
829 <z:index name="Koha-Auth-Number:w">
830 <xslo:value-of select="."/>
835 <xslo:template mode="index_subfields" match="marc:datafield[@tag='700']">
836 <xslo:for-each select="marc:subfield">
837 <xslo:if test="contains('9', @code)">
838 <z:index name="Cross-Reference:w Koha-Auth-Number:w">
839 <xslo:value-of select="."/>
843 <xslo:for-each select="marc:subfield">
844 <xslo:if test="contains('a', @code)">
845 <z:index name="Author:w Author:p">
846 <xslo:value-of select="."/>
850 <xslo:for-each select="marc:subfield">
851 <xslo:if test="contains('n', @code)">
852 <z:index name="Thematic-number:w">
853 <xslo:value-of select="."/>
857 <xslo:for-each select="marc:subfield">
858 <xslo:if test="contains('r', @code)">
859 <z:index name="Music-key:w">
860 <xslo:value-of select="."/>
864 <xslo:for-each select="marc:subfield">
865 <xslo:if test="contains('t', @code)">
866 <z:index name="Author-title:w Name-and-title:w Title:w Title-uniform:w">
867 <xslo:value-of select="."/>
872 <xslo:template mode="index_subfields" match="marc:datafield[@tag='710']">
873 <xslo:for-each select="marc:subfield">
874 <xslo:if test="contains('t', @code)">
875 <z:index name="Author-title:w Name-and-title:w Title:w Title-uniform:w">
876 <xslo:value-of select="."/>
880 <xslo:for-each select="marc:subfield">
881 <xslo:if test="contains('a', @code)">
882 <z:index name="Name-and-title:w">
883 <xslo:value-of select="."/>
887 <xslo:for-each select="marc:subfield">
888 <xslo:if test="contains('9', @code)">
889 <z:index name="Koha-Auth-Number:w">
890 <xslo:value-of select="."/>
895 <xslo:template mode="index_subfields" match="marc:datafield[@tag='711']">
896 <xslo:for-each select="marc:subfield">
897 <xslo:if test="contains('a', @code)">
898 <z:index name="Name-and-title:w">
899 <xslo:value-of select="."/>
903 <xslo:for-each select="marc:subfield">
904 <xslo:if test="contains('t', @code)">
905 <z:index name="Author-title:w Title:w Title-uniform:w">
906 <xslo:value-of select="."/>
910 <xslo:for-each select="marc:subfield">
911 <xslo:if test="contains('9', @code)">
912 <z:index name="Koha-Auth-Number:w">
913 <xslo:value-of select="."/>
918 <xslo:template mode="index_subfields" match="marc:datafield[@tag='730']">
919 <xslo:for-each select="marc:subfield">
920 <xslo:if test="contains('n', @code)">
921 <z:index name="Thematic-number:w">
922 <xslo:value-of select="."/>
926 <xslo:for-each select="marc:subfield">
927 <xslo:if test="contains('r', @code)">
928 <z:index name="Music-key:w">
929 <xslo:value-of select="."/>
933 <xslo:for-each select="marc:subfield">
934 <xslo:if test="contains('9', @code)">
935 <z:index name="Koha-Auth-Number:w">
936 <xslo:value-of select="."/>
941 <xslo:template mode="index_subfields" match="marc:datafield[@tag='751']">
942 <xslo:for-each select="marc:subfield">
943 <xslo:if test="contains('a', @code)">
944 <z:index name="Name-geographic:w">
945 <xslo:value-of select="."/>
949 <xslo:for-each select="marc:subfield">
950 <xslo:if test="contains('9', @code)">
951 <z:index name="Koha-Auth-Number:w">
952 <xslo:value-of select="."/>
957 <xslo:template mode="index_subfields" match="marc:datafield[@tag='770']">
958 <xslo:for-each select="marc:subfield">
959 <xslo:if test="contains('w', @code)">
960 <z:index name="Record-control-number:w">
961 <xslo:value-of select="."/>
966 <xslo:template mode="index_subfields" match="marc:datafield[@tag='772']">
967 <xslo:for-each select="marc:subfield">
968 <xslo:if test="contains('w', @code)">
969 <z:index name="Record-control-number:w">
970 <xslo:value-of select="."/>
975 <xslo:template mode="index_subfields" match="marc:datafield[@tag='773']">
976 <xslo:for-each select="marc:subfield">
977 <xslo:if test="contains('a', @code)">
978 <z:index name="Host-item:w">
979 <xslo:value-of select="."/>
983 <xslo:for-each select="marc:subfield">
984 <xslo:if test="contains('9', @code)">
985 <z:index name="Host-Item-Number:w">
986 <xslo:value-of select="."/>
990 <xslo:for-each select="marc:subfield">
991 <xslo:if test="contains('t', @code)">
992 <z:index name="Host-item:w">
993 <xslo:value-of select="."/>
997 <xslo:for-each select="marc:subfield">
998 <xslo:if test="contains('w', @code)">
999 <z:index name="Record-control-number:w">
1000 <xslo:value-of select="."/>
1005 <xslo:template mode="index_subfields" match="marc:datafield[@tag='774']">
1006 <xslo:for-each select="marc:subfield">
1007 <xslo:if test="contains('w', @code)">
1008 <z:index name="Record-control-number:w">
1009 <xslo:value-of select="."/>
1014 <xslo:template mode="index_subfields" match="marc:datafield[@tag='775']">
1015 <xslo:for-each select="marc:subfield">
1016 <xslo:if test="contains('w', @code)">
1017 <z:index name="Record-control-number:w">
1018 <xslo:value-of select="."/>
1023 <xslo:template mode="index_subfields" match="marc:datafield[@tag='776']">
1024 <xslo:for-each select="marc:subfield">
1025 <xslo:if test="contains('w', @code)">
1026 <z:index name="Record-control-number:w">
1027 <xslo:value-of select="."/>
1032 <xslo:template mode="index_subfields" match="marc:datafield[@tag='777']">
1033 <xslo:for-each select="marc:subfield">
1034 <xslo:if test="contains('w', @code)">
1035 <z:index name="Record-control-number:w">
1036 <xslo:value-of select="."/>
1041 <xslo:template mode="index_subfields" match="marc:datafield[@tag='780']">
1042 <xslo:for-each select="marc:subfield">
1043 <xslo:if test="contains('t', @code)">
1044 <z:index name="Title:w">
1045 <xslo:value-of select="."/>
1049 <xslo:for-each select="marc:subfield">
1050 <xslo:if test="contains('w', @code)">
1051 <z:index name="Record-control-number:w">
1052 <xslo:value-of select="."/>
1057 <xslo:template mode="index_subfields" match="marc:datafield[@tag='785']">
1058 <xslo:for-each select="marc:subfield">
1059 <xslo:if test="contains('w', @code)">
1060 <z:index name="Record-control-number:w">
1061 <xslo:value-of select="."/>
1066 <xslo:template mode="index_subfields" match="marc:datafield[@tag='787']">
1067 <xslo:for-each select="marc:subfield">
1068 <xslo:if test="contains('w', @code)">
1069 <z:index name="Record-control-number:w">
1070 <xslo:value-of select="."/>
1075 <xslo:template mode="index_subfields" match="marc:datafield[@tag='796']">
1076 <xslo:for-each select="marc:subfield">
1077 <xslo:if test="contains('9', @code)">
1078 <z:index name="Koha-Auth-Number:w">
1079 <xslo:value-of select="."/>
1084 <xslo:template mode="index_subfields" match="marc:datafield[@tag='797']">
1085 <xslo:for-each select="marc:subfield">
1086 <xslo:if test="contains('9', @code)">
1087 <z:index name="Koha-Auth-Number:w">
1088 <xslo:value-of select="."/>
1093 <xslo:template mode="index_subfields" match="marc:datafield[@tag='798']">
1094 <xslo:for-each select="marc:subfield">
1095 <xslo:if test="contains('9', @code)">
1096 <z:index name="Koha-Auth-Number:w">
1097 <xslo:value-of select="."/>
1102 <xslo:template mode="index_subfields" match="marc:datafield[@tag='799']">
1103 <xslo:for-each select="marc:subfield">
1104 <xslo:if test="contains('9', @code)">
1105 <z:index name="Koha-Auth-Number:w">
1106 <xslo:value-of select="."/>
1111 <xslo:template mode="index_subfields" match="marc:datafield[@tag='800']">
1112 <xslo:for-each select="marc:subfield">
1113 <xslo:if test="contains('a', @code)">
1114 <z:index name="Name-and-title:w Title-series:w Title-series:p">
1115 <xslo:value-of select="."/>
1119 <xslo:for-each select="marc:subfield">
1120 <xslo:if test="contains('t', @code)">
1121 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
1122 <xslo:value-of select="."/>
1126 <xslo:for-each select="marc:subfield">
1127 <xslo:if test="contains('9', @code)">
1128 <z:index name="Koha-Auth-Number:w">
1129 <xslo:value-of select="."/>
1133 <xslo:for-each select="marc:subfield">
1134 <xslo:if test="contains('w', @code)">
1135 <z:index name="Record-control-number:w">
1136 <xslo:value-of select="."/>
1141 <xslo:template mode="index_subfields" match="marc:datafield[@tag='810']">
1142 <xslo:for-each select="marc:subfield">
1143 <xslo:if test="contains('a', @code)">
1144 <z:index name="Name-and-title:w Title-series:w Title-series:p">
1145 <xslo:value-of select="."/>
1149 <xslo:for-each select="marc:subfield">
1150 <xslo:if test="contains('t', @code)">
1151 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
1152 <xslo:value-of select="."/>
1156 <xslo:for-each select="marc:subfield">
1157 <xslo:if test="contains('w', @code)">
1158 <z:index name="Record-control-number:w">
1159 <xslo:value-of select="."/>
1163 <xslo:for-each select="marc:subfield">
1164 <xslo:if test="contains('9', @code)">
1165 <z:index name="Koha-Auth-Number:w">
1166 <xslo:value-of select="."/>
1171 <xslo:template mode="index_subfields" match="marc:datafield[@tag='811']">
1172 <xslo:for-each select="marc:subfield">
1173 <xslo:if test="contains('a', @code)">
1174 <z:index name="Name-and-title:w Title-series:w Title-series:p">
1175 <xslo:value-of select="."/>
1179 <xslo:for-each select="marc:subfield">
1180 <xslo:if test="contains('9', @code)">
1181 <z:index name="Koha-Auth-Number:w">
1182 <xslo:value-of select="."/>
1186 <xslo:for-each select="marc:subfield">
1187 <xslo:if test="contains('t', @code)">
1188 <z:index name="Author-title:w Name-and-title:w Title:w Title-series:w Title-series:p">
1189 <xslo:value-of select="."/>
1193 <xslo:for-each select="marc:subfield">
1194 <xslo:if test="contains('w', @code)">
1195 <z:index name="Record-control-number:w">
1196 <xslo:value-of select="."/>
1201 <xslo:template mode="index_subfields" match="marc:datafield[@tag='830']">
1202 <xslo:for-each select="marc:subfield">
1203 <xslo:if test="contains('w', @code)">
1204 <z:index name="Record-control-number:w">
1205 <xslo:value-of select="."/>
1209 <xslo:for-each select="marc:subfield">
1210 <xslo:if test="contains('9', @code)">
1211 <z:index name="Koha-Auth-Number:w">
1212 <xslo:value-of select="."/>
1217 <xslo:template mode="index_subfields" match="marc:datafield[@tag='896']">
1218 <xslo:for-each select="marc:subfield">
1219 <xslo:if test="contains('9', @code)">
1220 <z:index name="Koha-Auth-Number:w">
1221 <xslo:value-of select="."/>
1226 <xslo:template mode="index_subfields" match="marc:datafield[@tag='897']">
1227 <xslo:for-each select="marc:subfield">
1228 <xslo:if test="contains('9', @code)">
1229 <z:index name="Koha-Auth-Number:w">
1230 <xslo:value-of select="."/>
1235 <xslo:template mode="index_subfields" match="marc:datafield[@tag='898']">
1236 <xslo:for-each select="marc:subfield">
1237 <xslo:if test="contains('9', @code)">
1238 <z:index name="Koha-Auth-Number:w">
1239 <xslo:value-of select="."/>
1244 <xslo:template mode="index_subfields" match="marc:datafield[@tag='899']">
1245 <xslo:for-each select="marc:subfield">
1246 <xslo:if test="contains('9', @code)">
1247 <z:index name="Koha-Auth-Number:w">
1248 <xslo:value-of select="."/>
1253 <xslo:template mode="index_subfields" match="marc:datafield[@tag='999']">
1254 <xslo:for-each select="marc:subfield">
1255 <xslo:if test="contains('c', @code)">
1256 <z:index name="Local-Number:n Local-Number:w Local-Number:s">
1257 <xslo:value-of select="."/>
1261 <xslo:for-each select="marc:subfield">
1262 <xslo:if test="contains('d', @code)">
1263 <z:index name="biblioitemnumber:n biblioitemnumber:w biblioitemnumber:s">
1264 <xslo:value-of select="."/>
1268 <xslo:for-each select="marc:subfield">
1269 <xslo:if test="contains('x', @code)">
1270 <z:index name="not-onloan-count:n">
1271 <xslo:value-of select="."/>
1276 <xslo:template mode="index_subfields" match="marc:datafield[@tag='942']">
1277 <xslo:for-each select="marc:subfield">
1278 <xslo:if test="contains('0', @code)">
1279 <z:index name="totalissues:n totalissues:s">
1280 <xslo:value-of select="."/>
1284 <xslo:for-each select="marc:subfield">
1285 <xslo:if test="contains('2', @code)">
1286 <z:index name="cn-bib-source:w">
1287 <xslo:value-of select="."/>
1291 <xslo:for-each select="marc:subfield">
1292 <xslo:if test="contains('6', @code)">
1293 <z:index name="cn-bib-sort:n cn-bib-sort:s">
1294 <xslo:value-of select="."/>
1298 <xslo:for-each select="marc:subfield">
1299 <xslo:if test="contains('c', @code)">
1300 <z:index name="itemtype:w itemtype:p itype:w itype:p">
1301 <xslo:value-of select="."/>
1305 <xslo:for-each select="marc:subfield">
1306 <xslo:if test="contains('n', @code)">
1307 <z:index name="Suppress:w Suppress:n">
1308 <xslo:value-of select="."/>
1312 <xslo:for-each select="marc:subfield">
1313 <xslo:if test="contains('h', @code)">
1314 <z:index name="cn-class:w">
1315 <xslo:value-of select="."/>
1319 <xslo:for-each select="marc:subfield">
1320 <xslo:if test="contains('i', @code)">
1321 <z:index name="cn-item:w">
1322 <xslo:value-of select="."/>
1326 <xslo:for-each select="marc:subfield">
1327 <xslo:if test="contains('k', @code)">
1328 <z:index name="cn-prefix:w">
1329 <xslo:value-of select="."/>
1333 <xslo:for-each select="marc:subfield">
1334 <xslo:if test="contains('m', @code)">
1335 <z:index name="cn-suffix:w">
1336 <xslo:value-of select="."/>
1341 <xslo:template mode="index_subfields" match="marc:datafield[@tag='952']">
1342 <xslo:for-each select="marc:subfield">
1343 <xslo:if test="contains('0', @code)">
1344 <z:index name="withdrawn:n withdrawn:w">
1345 <xslo:value-of select="."/>
1349 <xslo:for-each select="marc:subfield">
1350 <xslo:if test="contains('1', @code)">
1351 <z:index name="lost:w lost:n">
1352 <xslo:value-of select="."/>
1356 <xslo:for-each select="marc:subfield">
1357 <xslo:if test="contains('2', @code)">
1358 <z:index name="classification-source:w">
1359 <xslo:value-of select="."/>
1363 <xslo:for-each select="marc:subfield">
1364 <xslo:if test="contains('3', @code)">
1365 <z:index name="materials-specified:w">
1366 <xslo:value-of select="."/>
1370 <xslo:for-each select="marc:subfield">
1371 <xslo:if test="contains('4', @code)">
1372 <z:index name="damaged:n damaged:w">
1373 <xslo:value-of select="."/>
1377 <xslo:for-each select="marc:subfield">
1378 <xslo:if test="contains('5', @code)">
1379 <z:index name="restricted:n restricted:w">
1380 <xslo:value-of select="."/>
1384 <xslo:for-each select="marc:subfield">
1385 <xslo:if test="contains('6', @code)">
1386 <z:index name="cn-sort:n cn-sort:s">
1387 <xslo:value-of select="."/>
1391 <xslo:for-each select="marc:subfield">
1392 <xslo:if test="contains('7', @code)">
1393 <z:index name="notforloan:n notforloan:w">
1394 <xslo:value-of select="."/>
1398 <xslo:for-each select="marc:subfield">
1399 <xslo:if test="contains('8', @code)">
1400 <z:index name="ccode:w ccode:p">
1401 <xslo:value-of select="."/>
1405 <xslo:for-each select="marc:subfield">
1406 <xslo:if test="contains('9', @code)">
1407 <z:index name="itemnumber:n itemnumber:s">
1408 <xslo:value-of select="."/>
1412 <xslo:for-each select="marc:subfield">
1413 <xslo:if test="contains('a', @code)">
1414 <z:index name="homebranch:w">
1415 <xslo:value-of select="."/>
1419 <xslo:for-each select="marc:subfield">
1420 <xslo:if test="contains('b', @code)">
1421 <z:index name="holdingbranch:w">
1422 <xslo:value-of select="."/>
1426 <xslo:for-each select="marc:subfield">
1427 <xslo:if test="contains('c', @code)">
1428 <z:index name="location:w">
1429 <xslo:value-of select="."/>
1433 <xslo:for-each select="marc:subfield">
1434 <xslo:if test="contains('d', @code)">
1435 <z:index name="Date-of-acquisition:w Date-of-acquisition:d Date-of-acquisition:s">
1436 <xslo:value-of select="."/>
1440 <xslo:for-each select="marc:subfield">
1441 <xslo:if test="contains('e', @code)">
1442 <z:index name="acqsource:w">
1443 <xslo:value-of select="."/>
1447 <xslo:for-each select="marc:subfield">
1448 <xslo:if test="contains('f', @code)">
1449 <z:index name="coded-location-qualifier:w">
1450 <xslo:value-of select="."/>
1454 <xslo:for-each select="marc:subfield">
1455 <xslo:if test="contains('g', @code)">
1456 <z:index name="price:w">
1457 <xslo:value-of select="."/>
1461 <xslo:for-each select="marc:subfield">
1462 <xslo:if test="contains('i', @code)">
1463 <z:index name="Number-local-acquisition:w">
1464 <xslo:value-of select="."/>
1468 <xslo:for-each select="marc:subfield">
1469 <xslo:if test="contains('j', @code)">
1470 <z:index name="stack:n stack:w">
1471 <xslo:value-of select="."/>
1475 <xslo:for-each select="marc:subfield">
1476 <xslo:if test="contains('l', @code)">
1477 <z:index name="issues:n issues:w issues:s">
1478 <xslo:value-of select="."/>
1482 <xslo:for-each select="marc:subfield">
1483 <xslo:if test="contains('m', @code)">
1484 <z:index name="renewals:n renewals:w">
1485 <xslo:value-of select="."/>
1489 <xslo:for-each select="marc:subfield">
1490 <xslo:if test="contains('n', @code)">
1491 <z:index name="reserves:n reserves:w">
1492 <xslo:value-of select="."/>
1496 <xslo:for-each select="marc:subfield">
1497 <xslo:if test="contains('o', @code)">
1498 <z:index name="Local-classification:w Local-classification:p Local-classification:s">
1499 <xslo:value-of select="."/>
1503 <xslo:for-each select="marc:subfield">
1504 <xslo:if test="contains('p', @code)">
1505 <z:index name="barcode:w barcode:n">
1506 <xslo:value-of select="."/>
1510 <xslo:for-each select="marc:subfield">
1511 <xslo:if test="contains('q', @code)">
1512 <z:index name="onloan:n onloan:w">
1513 <xslo:value-of select="."/>
1517 <xslo:for-each select="marc:subfield">
1518 <xslo:if test="contains('r', @code)">
1519 <z:index name="datelastseen:w">
1520 <xslo:value-of select="."/>
1524 <xslo:for-each select="marc:subfield">
1525 <xslo:if test="contains('s', @code)">
1526 <z:index name="datelastborrowed:w">
1527 <xslo:value-of select="."/>
1531 <xslo:for-each select="marc:subfield">
1532 <xslo:if test="contains('t', @code)">
1533 <z:index name="copynumber:w">
1534 <xslo:value-of select="."/>
1538 <xslo:for-each select="marc:subfield">
1539 <xslo:if test="contains('u', @code)">
1540 <z:index name="uri:u">
1541 <xslo:value-of select="."/>
1545 <xslo:for-each select="marc:subfield">
1546 <xslo:if test="contains('v', @code)">
1547 <z:index name="replacementprice:w">
1548 <xslo:value-of select="."/>
1552 <xslo:for-each select="marc:subfield">
1553 <xslo:if test="contains('w', @code)">
1554 <z:index name="replacementpricedate:w">
1555 <xslo:value-of select="."/>
1559 <xslo:for-each select="marc:subfield">
1560 <xslo:if test="contains('y', @code)">
1561 <z:index name="itype:w itype:p">
1562 <xslo:value-of select="."/>
1566 <xslo:for-each select="marc:subfield">
1567 <xslo:if test="contains('z', @code)">
1568 <z:index name="Note:w Note:p">
1569 <xslo:value-of select="."/>
1574 <xslo:template mode="index_data_field" match="marc:datafield[@tag='010']">
1575 <z:index name="LC-card-number:w Identifier-standard:w">
1576 <xslo:variable name="raw_heading">
1577 <xslo:for-each select="marc:subfield">
1578 <xslo:if test="position() > 1">
1579 <xslo:value-of select="substring(' ', 1, 1)"/>
1581 <xslo:value-of select="."/>
1584 <xslo:value-of select="normalize-space($raw_heading)"/>
1587 <xslo:template mode="index_data_field" match="marc:datafield[@tag='011']">
1588 <z:index name="LC-card-number:w Identifier-standard:w">
1589 <xslo:variable name="raw_heading">
1590 <xslo:for-each select="marc:subfield">
1591 <xslo:if test="position() > 1">
1592 <xslo:value-of select="substring(' ', 1, 1)"/>
1594 <xslo:value-of select="."/>
1597 <xslo:value-of select="normalize-space($raw_heading)"/>
1600 <xslo:template mode="index_data_field" match="marc:datafield[@tag='015']">
1601 <z:index name="BNB-card-number:w BGF-number:w Number-db:w Number-natl-biblio:w Identifier-standard:w">
1602 <xslo:variable name="raw_heading">
1603 <xslo:for-each select="marc:subfield">
1604 <xslo:if test="position() > 1">
1605 <xslo:value-of select="substring(' ', 1, 1)"/>
1607 <xslo:value-of select="."/>
1610 <xslo:value-of select="normalize-space($raw_heading)"/>
1613 <xslo:template mode="index_data_field" match="marc:datafield[@tag='017']">
1614 <z:index name="Number-legal-deposit:w Identifier-standard:w">
1615 <xslo:variable name="raw_heading">
1616 <xslo:for-each select="marc:subfield">
1617 <xslo:if test="position() > 1">
1618 <xslo:value-of select="substring(' ', 1, 1)"/>
1620 <xslo:value-of select="."/>
1623 <xslo:value-of select="normalize-space($raw_heading)"/>
1626 <xslo:template mode="index_data_field" match="marc:datafield[@tag='018']">
1627 <z:index name="Identifier-standard:w">
1628 <xslo:variable name="raw_heading">
1629 <xslo:for-each select="marc:subfield">
1630 <xslo:if test="position() > 1">
1631 <xslo:value-of select="substring(' ', 1, 1)"/>
1633 <xslo:value-of select="."/>
1636 <xslo:value-of select="normalize-space($raw_heading)"/>
1639 <xslo:template mode="index_data_field" match="marc:datafield[@tag='020']">
1640 <z:index name="Identifier-standard:w">
1641 <xslo:variable name="raw_heading">
1642 <xslo:for-each select="marc:subfield">
1643 <xslo:if test="position() > 1">
1644 <xslo:value-of select="substring(' ', 1, 1)"/>
1646 <xslo:value-of select="."/>
1649 <xslo:value-of select="normalize-space($raw_heading)"/>
1652 <xslo:template mode="index_data_field" match="marc:datafield[@tag='022']">
1653 <z:index name="Identifier-standard:w">
1654 <xslo:variable name="raw_heading">
1655 <xslo:for-each select="marc:subfield">
1656 <xslo:if test="position() > 1">
1657 <xslo:value-of select="substring(' ', 1, 1)"/>
1659 <xslo:value-of select="."/>
1662 <xslo:value-of select="normalize-space($raw_heading)"/>
1665 <xslo:template mode="index_data_field" match="marc:datafield[@tag='023']">
1666 <z:index name="Identifier-standard:w">
1667 <xslo:variable name="raw_heading">
1668 <xslo:for-each select="marc:subfield">
1669 <xslo:if test="position() > 1">
1670 <xslo:value-of select="substring(' ', 1, 1)"/>
1672 <xslo:value-of select="."/>
1675 <xslo:value-of select="normalize-space($raw_heading)"/>
1678 <xslo:template mode="index_data_field" match="marc:datafield[@tag='024']">
1679 <z:index name="Identifier-standard:w">
1680 <xslo:variable name="raw_heading">
1681 <xslo:for-each select="marc:subfield">
1682 <xslo:if test="position() > 1">
1683 <xslo:value-of select="substring(' ', 1, 1)"/>
1685 <xslo:value-of select="."/>
1688 <xslo:value-of select="normalize-space($raw_heading)"/>
1691 <xslo:template mode="index_data_field" match="marc:datafield[@tag='025']">
1692 <z:index name="Identifier-standard:w">
1693 <xslo:variable name="raw_heading">
1694 <xslo:for-each select="marc:subfield">
1695 <xslo:if test="position() > 1">
1696 <xslo:value-of select="substring(' ', 1, 1)"/>
1698 <xslo:value-of select="."/>
1701 <xslo:value-of select="normalize-space($raw_heading)"/>
1704 <xslo:template mode="index_data_field" match="marc:datafield[@tag='027']">
1705 <z:index name="Report-number:w Identifier-standard:w">
1706 <xslo:variable name="raw_heading">
1707 <xslo:for-each select="marc:subfield">
1708 <xslo:if test="position() > 1">
1709 <xslo:value-of select="substring(' ', 1, 1)"/>
1711 <xslo:value-of select="."/>
1714 <xslo:value-of select="normalize-space($raw_heading)"/>
1717 <xslo:template mode="index_data_field" match="marc:datafield[@tag='028']">
1718 <z:index name="Identifier-publisher-for-music:w Identifier-standard:w">
1719 <xslo:variable name="raw_heading">
1720 <xslo:for-each select="marc:subfield">
1721 <xslo:if test="position() > 1">
1722 <xslo:value-of select="substring(' ', 1, 1)"/>
1724 <xslo:value-of select="."/>
1727 <xslo:value-of select="normalize-space($raw_heading)"/>
1730 <xslo:template mode="index_data_field" match="marc:datafield[@tag='030']">
1731 <z:index name="CODEN:w Identifier-standard:w">
1732 <xslo:variable name="raw_heading">
1733 <xslo:for-each select="marc:subfield">
1734 <xslo:if test="position() > 1">
1735 <xslo:value-of select="substring(' ', 1, 1)"/>
1737 <xslo:value-of select="."/>
1740 <xslo:value-of select="normalize-space($raw_heading)"/>
1743 <xslo:template mode="index_data_field" match="marc:datafield[@tag='034']">
1744 <z:index name="Map-scale:w">
1745 <xslo:variable name="raw_heading">
1746 <xslo:for-each select="marc:subfield">
1747 <xslo:if test="position() > 1">
1748 <xslo:value-of select="substring(' ', 1, 1)"/>
1750 <xslo:value-of select="."/>
1753 <xslo:value-of select="normalize-space($raw_heading)"/>
1756 <xslo:template mode="index_data_field" match="marc:datafield[@tag='035']">
1757 <z:index name="Other-control-number:w">
1758 <xslo:variable name="raw_heading">
1759 <xslo:for-each select="marc:subfield">
1760 <xslo:if test="position() > 1">
1761 <xslo:value-of select="substring(' ', 1, 1)"/>
1763 <xslo:value-of select="."/>
1766 <xslo:value-of select="normalize-space($raw_heading)"/>
1769 <xslo:template mode="index_data_field" match="marc:datafield[@tag='037']">
1770 <z:index name="Identifier-standard:w Stock-number:w">
1771 <xslo:variable name="raw_heading">
1772 <xslo:for-each select="marc:subfield">
1773 <xslo:if test="position() > 1">
1774 <xslo:value-of select="substring(' ', 1, 1)"/>
1776 <xslo:value-of select="."/>
1779 <xslo:value-of select="normalize-space($raw_heading)"/>
1782 <xslo:template mode="index_data_field" match="marc:datafield[@tag='040']">
1783 <z:index name="Code-institution:w Record-source:w">
1784 <xslo:variable name="raw_heading">
1785 <xslo:for-each select="marc:subfield">
1786 <xslo:if test="position() > 1">
1787 <xslo:value-of select="substring(' ', 1, 1)"/>
1789 <xslo:value-of select="."/>
1792 <xslo:value-of select="normalize-space($raw_heading)"/>
1795 <xslo:template mode="index_data_field" match="marc:datafield[@tag='043']">
1796 <z:index name="Code-geographic:w">
1797 <xslo:variable name="raw_heading">
1798 <xslo:for-each select="marc:subfield">
1799 <xslo:if test="position() > 1">
1800 <xslo:value-of select="substring(' ', 1, 1)"/>
1802 <xslo:value-of select="."/>
1805 <xslo:value-of select="normalize-space($raw_heading)"/>
1808 <xslo:template mode="index_data_field" match="marc:datafield[@tag='050']">
1809 <z:index name="LC-call-number:w LC-call-number:p LC-call-number:s">
1810 <xslo:variable name="raw_heading">
1811 <xslo:for-each select="marc:subfield">
1812 <xslo:if test="position() > 1">
1813 <xslo:value-of select="substring(' ', 1, 1)"/>
1815 <xslo:value-of select="."/>
1818 <xslo:value-of select="normalize-space($raw_heading)"/>
1821 <xslo:template mode="index_data_field" match="marc:datafield[@tag='052']">
1822 <z:index name="Geographic-class:w">
1823 <xslo:variable name="raw_heading">
1824 <xslo:for-each select="marc:subfield">
1825 <xslo:if test="position() > 1">
1826 <xslo:value-of select="substring(' ', 1, 1)"/>
1828 <xslo:value-of select="."/>
1831 <xslo:value-of select="normalize-space($raw_heading)"/>
1834 <xslo:template mode="index_data_field" match="marc:datafield[@tag='060']">
1835 <z:index name="NLM-call-number:w">
1836 <xslo:variable name="raw_heading">
1837 <xslo:for-each select="marc:subfield">
1838 <xslo:if test="position() > 1">
1839 <xslo:value-of select="substring(' ', 1, 1)"/>
1841 <xslo:value-of select="."/>
1844 <xslo:value-of select="normalize-space($raw_heading)"/>
1847 <xslo:template mode="index_data_field" match="marc:datafield[@tag='070']">
1848 <z:index name="NAL-call-number:w">
1849 <xslo:variable name="raw_heading">
1850 <xslo:for-each select="marc:subfield">
1851 <xslo:if test="position() > 1">
1852 <xslo:value-of select="substring(' ', 1, 1)"/>
1854 <xslo:value-of select="."/>
1857 <xslo:value-of select="normalize-space($raw_heading)"/>
1860 <xslo:template mode="index_data_field" match="marc:datafield[@tag='080']">
1861 <z:index name="UDC-classification:w">
1862 <xslo:variable name="raw_heading">
1863 <xslo:for-each select="marc:subfield">
1864 <xslo:if test="position() > 1">
1865 <xslo:value-of select="substring(' ', 1, 1)"/>
1867 <xslo:value-of select="."/>
1870 <xslo:value-of select="normalize-space($raw_heading)"/>
1873 <xslo:template mode="index_data_field" match="marc:datafield[@tag='082']">
1874 <z:index name="Dewey-classification:w Dewey-classification:s">
1875 <xslo:variable name="raw_heading">
1876 <xslo:for-each select="marc:subfield">
1877 <xslo:if test="position() > 1">
1878 <xslo:value-of select="substring(' ', 1, 1)"/>
1880 <xslo:value-of select="."/>
1883 <xslo:value-of select="normalize-space($raw_heading)"/>
1886 <xslo:template mode="index_data_field" match="marc:datafield[@tag='086']">
1887 <z:index name="Number-govt-pub:w">
1888 <xslo:variable name="raw_heading">
1889 <xslo:for-each select="marc:subfield">
1890 <xslo:if test="position() > 1">
1891 <xslo:value-of select="substring(' ', 1, 1)"/>
1893 <xslo:value-of select="."/>
1896 <xslo:value-of select="normalize-space($raw_heading)"/>
1899 <xslo:template mode="index_data_field" match="marc:datafield[@tag='100']">
1900 <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">
1901 <xslo:variable name="raw_heading">
1902 <xslo:for-each select="marc:subfield">
1903 <xslo:if test="position() > 1">
1904 <xslo:value-of select="substring(' ', 1, 1)"/>
1906 <xslo:value-of select="."/>
1909 <xslo:value-of select="normalize-space($raw_heading)"/>
1912 <xslo:template mode="index_data_field" match="marc:datafield[@tag='110']">
1913 <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">
1914 <xslo:variable name="raw_heading">
1915 <xslo:for-each select="marc:subfield">
1916 <xslo:if test="position() > 1">
1917 <xslo:value-of select="substring(' ', 1, 1)"/>
1919 <xslo:value-of select="."/>
1922 <xslo:value-of select="normalize-space($raw_heading)"/>
1925 <xslo:template mode="index_data_field" match="marc:datafield[@tag='111']">
1926 <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">
1927 <xslo:variable name="raw_heading">
1928 <xslo:for-each select="marc:subfield">
1929 <xslo:if test="position() > 1">
1930 <xslo:value-of select="substring(' ', 1, 1)"/>
1932 <xslo:value-of select="."/>
1935 <xslo:value-of select="normalize-space($raw_heading)"/>
1938 <xslo:template mode="index_data_field" match="marc:datafield[@tag='130']">
1939 <z:index name="Title:w Title:p Title-uniform:w">
1940 <xslo:variable name="raw_heading">
1941 <xslo:for-each select="marc:subfield">
1942 <xslo:if test="position() > 1">
1943 <xslo:value-of select="substring(' ', 1, 1)"/>
1945 <xslo:value-of select="."/>
1948 <xslo:value-of select="normalize-space($raw_heading)"/>
1951 <xslo:template mode="index_data_field" match="marc:datafield[@tag='210']">
1952 <z:index name="Title:w Title:p Title-abbreviated:w">
1953 <xslo:variable name="raw_heading">
1954 <xslo:for-each select="marc:subfield">
1955 <xslo:if test="position() > 1">
1956 <xslo:value-of select="substring(' ', 1, 1)"/>
1958 <xslo:value-of select="."/>
1961 <xslo:value-of select="normalize-space($raw_heading)"/>
1964 <xslo:template mode="index_data_field" match="marc:datafield[@tag='211']">
1965 <z:index name="Title:w Title:p Title-abbreviated:w">
1966 <xslo:variable name="raw_heading">
1967 <xslo:for-each select="marc:subfield">
1968 <xslo:if test="position() > 1">
1969 <xslo:value-of select="substring(' ', 1, 1)"/>
1971 <xslo:value-of select="."/>
1974 <xslo:value-of select="normalize-space($raw_heading)"/>
1977 <xslo:template mode="index_data_field" match="marc:datafield[@tag='212']">
1978 <z:index name="Title:w Title:p Title-other-variant:w">
1979 <xslo:variable name="raw_heading">
1980 <xslo:for-each select="marc:subfield">
1981 <xslo:if test="position() > 1">
1982 <xslo:value-of select="substring(' ', 1, 1)"/>
1984 <xslo:value-of select="."/>
1987 <xslo:value-of select="normalize-space($raw_heading)"/>
1990 <xslo:template mode="index_data_field" match="marc:datafield[@tag='214']">
1991 <z:index name="Title:w Title:p Title-expanded:w">
1992 <xslo:variable name="raw_heading">
1993 <xslo:for-each select="marc:subfield">
1994 <xslo:if test="position() > 1">
1995 <xslo:value-of select="substring(' ', 1, 1)"/>
1997 <xslo:value-of select="."/>
2000 <xslo:value-of select="normalize-space($raw_heading)"/>
2003 <xslo:template mode="index_data_field" match="marc:datafield[@tag='222']">
2004 <z:index name="Title:w Title:p Title-key:w">
2005 <xslo:variable name="raw_heading">
2006 <xslo:for-each select="marc:subfield">
2007 <xslo:if test="position() > 1">
2008 <xslo:value-of select="substring(' ', 1, 1)"/>
2010 <xslo:value-of select="."/>
2013 <xslo:value-of select="normalize-space($raw_heading)"/>
2016 <xslo:template mode="index_data_field" match="marc:datafield[@tag='240']">
2017 <z:index name="Title:w Title:p Title-uniform:w">
2018 <xslo:variable name="raw_heading">
2019 <xslo:for-each select="marc:subfield">
2020 <xslo:if test="position() > 1">
2021 <xslo:value-of select="substring(' ', 1, 1)"/>
2023 <xslo:value-of select="."/>
2026 <xslo:value-of select="normalize-space($raw_heading)"/>
2029 <xslo:template mode="index_data_field" match="marc:datafield[@tag='243']">
2030 <z:index name="Title:w Title:p Title-collective:w">
2031 <xslo:variable name="raw_heading">
2032 <xslo:for-each select="marc:subfield">
2033 <xslo:if test="position() > 1">
2034 <xslo:value-of select="substring(' ', 1, 1)"/>
2036 <xslo:value-of select="."/>
2039 <xslo:value-of select="normalize-space($raw_heading)"/>
2042 <xslo:template mode="index_data_field" match="marc:datafield[@tag='245']">
2043 <z:index name="Title:w Title:p">
2044 <xslo:variable name="raw_heading">
2045 <xslo:for-each select="marc:subfield">
2046 <xslo:if test="position() > 1">
2047 <xslo:value-of select="substring(' ', 1, 1)"/>
2049 <xslo:value-of select="."/>
2052 <xslo:value-of select="normalize-space($raw_heading)"/>
2055 <xslo:template mode="index_data_field" match="marc:datafield[@tag='246']">
2056 <z:index name="Title:w Title:p Title-abbreviated:w Title-expanded:w Title-former:w">
2057 <xslo:variable name="raw_heading">
2058 <xslo:for-each select="marc:subfield">
2059 <xslo:if test="position() > 1">
2060 <xslo:value-of select="substring(' ', 1, 1)"/>
2062 <xslo:value-of select="."/>
2065 <xslo:value-of select="normalize-space($raw_heading)"/>
2068 <xslo:template mode="index_data_field" match="marc:datafield[@tag='247']">
2069 <z:index name="Title:w Title:p Title-former:w Title-other-variant:w Related-periodical:w">
2070 <xslo:variable name="raw_heading">
2071 <xslo:for-each select="marc:subfield">
2072 <xslo:if test="position() > 1">
2073 <xslo:value-of select="substring(' ', 1, 1)"/>
2075 <xslo:value-of select="."/>
2078 <xslo:value-of select="normalize-space($raw_heading)"/>
2081 <xslo:template mode="index_data_field" match="marc:datafield[@tag='260']">
2082 <z:index name="pl:w Provider:w">
2083 <xslo:variable name="raw_heading">
2084 <xslo:for-each select="marc:subfield">
2085 <xslo:if test="position() > 1">
2086 <xslo:value-of select="substring(' ', 1, 1)"/>
2088 <xslo:value-of select="."/>
2091 <xslo:value-of select="normalize-space($raw_heading)"/>
2094 <xslo:template mode="index_data_field" match="marc:datafield[@tag='264']">
2095 <z:index name="pl:w Provider:w">
2096 <xslo:variable name="raw_heading">
2097 <xslo:for-each select="marc:subfield">
2098 <xslo:if test="position() > 1">
2099 <xslo:value-of select="substring(' ', 1, 1)"/>
2101 <xslo:value-of select="."/>
2104 <xslo:value-of select="normalize-space($raw_heading)"/>
2107 <xslo:template mode="index_data_field" match="marc:datafield[@tag='300']">
2108 <z:index name="Extent:w Extent:p">
2109 <xslo:variable name="raw_heading">
2110 <xslo:for-each select="marc:subfield">
2111 <xslo:if test="position() > 1">
2112 <xslo:value-of select="substring(' ', 1, 1)"/>
2114 <xslo:value-of select="."/>
2117 <xslo:value-of select="normalize-space($raw_heading)"/>
2120 <xslo:template mode="index_data_field" match="marc:datafield[@tag='400']">
2121 <z:index name="Author:w Author-name-personal:w Name:w Personal-name:w">
2122 <xslo:variable name="raw_heading">
2123 <xslo:for-each select="marc:subfield">
2124 <xslo:if test="position() > 1">
2125 <xslo:value-of select="substring(' ', 1, 1)"/>
2127 <xslo:value-of select="."/>
2130 <xslo:value-of select="normalize-space($raw_heading)"/>
2133 <xslo:template mode="index_data_field" match="marc:datafield[@tag='410']">
2134 <z:index name="Author:w Corporate-name:w Corporate-name:p">
2135 <xslo:variable name="raw_heading">
2136 <xslo:for-each select="marc:subfield">
2137 <xslo:if test="position() > 1">
2138 <xslo:value-of select="substring(' ', 1, 1)"/>
2140 <xslo:value-of select="."/>
2143 <xslo:value-of select="normalize-space($raw_heading)"/>
2146 <xslo:template mode="index_data_field" match="marc:datafield[@tag='411']">
2147 <z:index name="Author:w Conference-name:w">
2148 <xslo:variable name="raw_heading">
2149 <xslo:for-each select="marc:subfield">
2150 <xslo:if test="position() > 1">
2151 <xslo:value-of select="substring(' ', 1, 1)"/>
2153 <xslo:value-of select="."/>
2156 <xslo:value-of select="normalize-space($raw_heading)"/>
2159 <xslo:template mode="index_data_field" match="marc:datafield[@tag='440']">
2160 <z:index name="Title-series:w Title-series:p Title:w Title-series:w">
2161 <xslo:variable name="raw_heading">
2162 <xslo:for-each select="marc:subfield">
2163 <xslo:if test="position() > 1">
2164 <xslo:value-of select="substring(' ', 1, 1)"/>
2166 <xslo:value-of select="."/>
2169 <xslo:value-of select="normalize-space($raw_heading)"/>
2172 <xslo:template mode="index_data_field" match="marc:datafield[@tag='490']">
2173 <z:index name="Title:w Title-series:w">
2174 <xslo:variable name="raw_heading">
2175 <xslo:for-each select="marc:subfield">
2176 <xslo:if test="position() > 1">
2177 <xslo:value-of select="substring(' ', 1, 1)"/>
2179 <xslo:value-of select="."/>
2182 <xslo:value-of select="normalize-space($raw_heading)"/>
2185 <xslo:template mode="index_data_field" match="marc:datafield[@tag='500']">
2186 <z:index name="Note:w Note:p">
2187 <xslo:variable name="raw_heading">
2188 <xslo:for-each select="marc:subfield">
2189 <xslo:if test="position() > 1">
2190 <xslo:value-of select="substring(' ', 1, 1)"/>
2192 <xslo:value-of select="."/>
2195 <xslo:value-of select="normalize-space($raw_heading)"/>
2198 <xslo:template mode="index_data_field" match="marc:datafield[@tag='502']">
2199 <z:index name="Material-type:w Dissertation-information:p Dissertation-information:w">
2200 <xslo:variable name="raw_heading">
2201 <xslo:for-each select="marc:subfield">
2202 <xslo:if test="position() > 1">
2203 <xslo:value-of select="substring(' ', 1, 1)"/>
2205 <xslo:value-of select="."/>
2208 <xslo:value-of select="normalize-space($raw_heading)"/>
2211 <xslo:template mode="index_data_field" match="marc:datafield[@tag='505']">
2212 <z:index name="Note:w Note:p">
2213 <xslo:variable name="raw_heading">
2214 <xslo:for-each select="marc:subfield">
2215 <xslo:if test="position() > 1">
2216 <xslo:value-of select="substring(' ', 1, 1)"/>
2218 <xslo:value-of select="."/>
2221 <xslo:value-of select="normalize-space($raw_heading)"/>
2224 <xslo:template mode="index_data_field" match="marc:datafield[@tag='510']">
2225 <z:index name="Indexed-by:w">
2226 <xslo:variable name="raw_heading">
2227 <xslo:for-each select="marc:subfield">
2228 <xslo:if test="position() > 1">
2229 <xslo:value-of select="substring(' ', 1, 1)"/>
2231 <xslo:value-of select="."/>
2234 <xslo:value-of select="normalize-space($raw_heading)"/>
2237 <xslo:template mode="index_data_field" match="marc:datafield[@tag='520']">
2238 <z:index name="Abstract:w Abstract:p">
2239 <xslo:variable name="raw_heading">
2240 <xslo:for-each select="marc:subfield">
2241 <xslo:if test="position() > 1">
2242 <xslo:value-of select="substring(' ', 1, 1)"/>
2244 <xslo:value-of select="."/>
2247 <xslo:value-of select="normalize-space($raw_heading)"/>
2250 <xslo:template mode="index_data_field" match="marc:datafield[@tag='590']">
2251 <z:index name="Note:w Note:p">
2252 <xslo:variable name="raw_heading">
2253 <xslo:for-each select="marc:subfield">
2254 <xslo:if test="position() > 1">
2255 <xslo:value-of select="substring(' ', 1, 1)"/>
2257 <xslo:value-of select="."/>
2260 <xslo:value-of select="normalize-space($raw_heading)"/>
2263 <xslo:template mode="index_data_field" match="marc:datafield[@tag='600']">
2264 <z:index name="Name:w Personal-name:w Subject-name-personal:w Subject:w Subject:p">
2265 <xslo:variable name="raw_heading">
2266 <xslo:for-each select="marc:subfield">
2267 <xslo:if test="position() > 1">
2268 <xslo:value-of select="substring(' ', 1, 1)"/>
2270 <xslo:value-of select="."/>
2273 <xslo:value-of select="normalize-space($raw_heading)"/>
2276 <xslo:template mode="index_data_field" match="marc:datafield[@tag='610']">
2277 <z:index name="Name:w Subject:w Subject:p Corporate-name:w Corporate-name:p">
2278 <xslo:variable name="raw_heading">
2279 <xslo:for-each select="marc:subfield">
2280 <xslo:if test="position() > 1">
2281 <xslo:value-of select="substring(' ', 1, 1)"/>
2283 <xslo:value-of select="."/>
2286 <xslo:value-of select="normalize-space($raw_heading)"/>
2289 <xslo:template mode="index_data_field" match="marc:datafield[@tag='611']">
2290 <z:index name="Conference-name:w Name:w Subject:w Subject:p">
2291 <xslo:variable name="raw_heading">
2292 <xslo:for-each select="marc:subfield">
2293 <xslo:if test="position() > 1">
2294 <xslo:value-of select="substring(' ', 1, 1)"/>
2296 <xslo:value-of select="."/>
2299 <xslo:value-of select="normalize-space($raw_heading)"/>
2302 <xslo:template mode="index_data_field" match="marc:datafield[@tag='630']">
2303 <z:index name="Subject:w Subject:p">
2304 <xslo:variable name="raw_heading">
2305 <xslo:for-each select="marc:subfield">
2306 <xslo:if test="position() > 1">
2307 <xslo:value-of select="substring(' ', 1, 1)"/>
2309 <xslo:value-of select="."/>
2312 <xslo:value-of select="normalize-space($raw_heading)"/>
2315 <xslo:template mode="index_data_field" match="marc:datafield[@tag='650']">
2316 <z:index name="Subject:w Subject:p">
2317 <xslo:variable name="raw_heading">
2318 <xslo:for-each select="marc:subfield">
2319 <xslo:if test="position() > 1">
2320 <xslo:value-of select="substring(' ', 1, 1)"/>
2322 <xslo:value-of select="."/>
2325 <xslo:value-of select="normalize-space($raw_heading)"/>
2328 <xslo:template mode="index_data_field" match="marc:datafield[@tag='651']">
2329 <z:index name="Name-geographic:w Subject:w Subject:p">
2330 <xslo:variable name="raw_heading">
2331 <xslo:for-each select="marc:subfield">
2332 <xslo:if test="position() > 1">
2333 <xslo:value-of select="substring(' ', 1, 1)"/>
2335 <xslo:value-of select="."/>
2338 <xslo:value-of select="normalize-space($raw_heading)"/>
2341 <xslo:template mode="index_data_field" match="marc:datafield[@tag='653']">
2342 <z:index name="Subject:w Subject:p">
2343 <xslo:variable name="raw_heading">
2344 <xslo:for-each select="marc:subfield">
2345 <xslo:if test="position() > 1">
2346 <xslo:value-of select="substring(' ', 1, 1)"/>
2348 <xslo:value-of select="."/>
2351 <xslo:value-of select="normalize-space($raw_heading)"/>
2354 <xslo:template mode="index_data_field" match="marc:datafield[@tag='654']">
2355 <z:index name="Subject:w Subject:p">
2356 <xslo:variable name="raw_heading">
2357 <xslo:for-each select="marc:subfield">
2358 <xslo:if test="position() > 1">
2359 <xslo:value-of select="substring(' ', 1, 1)"/>
2361 <xslo:value-of select="."/>
2364 <xslo:value-of select="normalize-space($raw_heading)"/>
2367 <xslo:template mode="index_data_field" match="marc:datafield[@tag='655']">
2368 <z:index name="Subject:w Subject:p">
2369 <xslo:variable name="raw_heading">
2370 <xslo:for-each select="marc:subfield">
2371 <xslo:if test="position() > 1">
2372 <xslo:value-of select="substring(' ', 1, 1)"/>
2374 <xslo:value-of select="."/>
2377 <xslo:value-of select="normalize-space($raw_heading)"/>
2380 <xslo:template mode="index_data_field" match="marc:datafield[@tag='656']">
2381 <z:index name="Subject:w Subject:p">
2382 <xslo:variable name="raw_heading">
2383 <xslo:for-each select="marc:subfield">
2384 <xslo:if test="position() > 1">
2385 <xslo:value-of select="substring(' ', 1, 1)"/>
2387 <xslo:value-of select="."/>
2390 <xslo:value-of select="normalize-space($raw_heading)"/>
2393 <xslo:template mode="index_data_field" match="marc:datafield[@tag='657']">
2394 <z:index name="Subject:w Subject:p">
2395 <xslo:variable name="raw_heading">
2396 <xslo:for-each select="marc:subfield">
2397 <xslo:if test="position() > 1">
2398 <xslo:value-of select="substring(' ', 1, 1)"/>
2400 <xslo:value-of select="."/>
2403 <xslo:value-of select="normalize-space($raw_heading)"/>
2406 <xslo:template mode="index_data_field" match="marc:datafield[@tag='658']">
2407 <z:index name="Subject:w Subject:p">
2408 <xslo:variable name="raw_heading">
2409 <xslo:for-each select="marc:subfield">
2410 <xslo:if test="position() > 1">
2411 <xslo:value-of select="substring(' ', 1, 1)"/>
2413 <xslo:value-of select="."/>
2416 <xslo:value-of select="normalize-space($raw_heading)"/>
2419 <xslo:template mode="index_data_field" match="marc:datafield[@tag='690']">
2420 <z:index name="Subject:w Subject:p">
2421 <xslo:variable name="raw_heading">
2422 <xslo:for-each select="marc:subfield">
2423 <xslo:if test="position() > 1">
2424 <xslo:value-of select="substring(' ', 1, 1)"/>
2426 <xslo:value-of select="."/>
2429 <xslo:value-of select="normalize-space($raw_heading)"/>
2432 <xslo:template mode="index_data_field" match="marc:datafield[@tag='700']">
2433 <z:index name="Author:w Author:p Author-name-personal:w Name:w Editor:w Personal-name:w">
2434 <xslo:variable name="raw_heading">
2435 <xslo:for-each select="marc:subfield">
2436 <xslo:if test="position() > 1">
2437 <xslo:value-of select="substring(' ', 1, 1)"/>
2439 <xslo:value-of select="."/>
2442 <xslo:value-of select="normalize-space($raw_heading)"/>
2445 <xslo:template mode="index_data_field" match="marc:datafield[@tag='710']">
2446 <z:index name="Author:w Author:p Corporate-name:w Corporate-name:p Name:w">
2447 <xslo:variable name="raw_heading">
2448 <xslo:for-each select="marc:subfield">
2449 <xslo:if test="position() > 1">
2450 <xslo:value-of select="substring(' ', 1, 1)"/>
2452 <xslo:value-of select="."/>
2455 <xslo:value-of select="normalize-space($raw_heading)"/>
2458 <xslo:template mode="index_data_field" match="marc:datafield[@tag='711']">
2459 <z:index name="Author:w Author:p Author-name-corporate:w Name:w Conference-name:w">
2460 <xslo:variable name="raw_heading">
2461 <xslo:for-each select="marc:subfield">
2462 <xslo:if test="position() > 1">
2463 <xslo:value-of select="substring(' ', 1, 1)"/>
2465 <xslo:value-of select="."/>
2468 <xslo:value-of select="normalize-space($raw_heading)"/>
2471 <xslo:template mode="index_data_field" match="marc:datafield[@tag='730']">
2472 <z:index name="Title:w Title:p Title-uniform:w">
2473 <xslo:variable name="raw_heading">
2474 <xslo:for-each select="marc:subfield">
2475 <xslo:if test="position() > 1">
2476 <xslo:value-of select="substring(' ', 1, 1)"/>
2478 <xslo:value-of select="."/>
2481 <xslo:value-of select="normalize-space($raw_heading)"/>
2484 <xslo:template mode="index_data_field" match="marc:datafield[@tag='740']">
2485 <z:index name="Title:w Title:p Title-other-variant:w">
2486 <xslo:variable name="raw_heading">
2487 <xslo:for-each select="marc:subfield">
2488 <xslo:if test="position() > 1">
2489 <xslo:value-of select="substring(' ', 1, 1)"/>
2491 <xslo:value-of select="."/>
2494 <xslo:value-of select="normalize-space($raw_heading)"/>
2497 <xslo:template mode="index_data_field" match="marc:datafield[@tag='751']">
2498 <z:index name="Name-geographic:w">
2499 <xslo:variable name="raw_heading">
2500 <xslo:for-each select="marc:subfield">
2501 <xslo:if test="position() > 1">
2502 <xslo:value-of select="substring(' ', 1, 1)"/>
2504 <xslo:value-of select="."/>
2507 <xslo:value-of select="normalize-space($raw_heading)"/>
2510 <xslo:template mode="index_data_field" match="marc:datafield[@tag='780']">
2511 <z:index name="Title:w Title:p Title-former:w Related-periodical:w">
2512 <xslo:variable name="raw_heading">
2513 <xslo:for-each select="marc:subfield">
2514 <xslo:if test="position() > 1">
2515 <xslo:value-of select="substring(' ', 1, 1)"/>
2517 <xslo:value-of select="."/>
2520 <xslo:value-of select="normalize-space($raw_heading)"/>
2523 <xslo:template mode="index_data_field" match="marc:datafield[@tag='785']">
2524 <z:index name="Title:w Title:p Title-later:w Related-periodical:w">
2525 <xslo:variable name="raw_heading">
2526 <xslo:for-each select="marc:subfield">
2527 <xslo:if test="position() > 1">
2528 <xslo:value-of select="substring(' ', 1, 1)"/>
2530 <xslo:value-of select="."/>
2533 <xslo:value-of select="normalize-space($raw_heading)"/>
2536 <xslo:template mode="index_data_field" match="marc:datafield[@tag='800']">
2537 <z:index name="Author:w Author-name-personal:w Name:w Personal-name:w">
2538 <xslo:variable name="raw_heading">
2539 <xslo:for-each select="marc:subfield">
2540 <xslo:if test="position() > 1">
2541 <xslo:value-of select="substring(' ', 1, 1)"/>
2543 <xslo:value-of select="."/>
2546 <xslo:value-of select="normalize-space($raw_heading)"/>
2549 <xslo:template mode="index_data_field" match="marc:datafield[@tag='810']">
2550 <z:index name="Author:w Corporate-name:w Corporate-name:p Author-name-corporate:w Name:w">
2551 <xslo:variable name="raw_heading">
2552 <xslo:for-each select="marc:subfield">
2553 <xslo:if test="position() > 1">
2554 <xslo:value-of select="substring(' ', 1, 1)"/>
2556 <xslo:value-of select="."/>
2559 <xslo:value-of select="normalize-space($raw_heading)"/>
2562 <xslo:template mode="index_data_field" match="marc:datafield[@tag='811']">
2563 <z:index name="Author:w Author-name-corporate:w Name:w Conference-name:w">
2564 <xslo:variable name="raw_heading">
2565 <xslo:for-each select="marc:subfield">
2566 <xslo:if test="position() > 1">
2567 <xslo:value-of select="substring(' ', 1, 1)"/>
2569 <xslo:value-of select="."/>
2572 <xslo:value-of select="normalize-space($raw_heading)"/>
2575 <xslo:template mode="index_data_field" match="marc:datafield[@tag='830']">
2576 <z:index name="Title:w Title-series:w Title-series:p">
2577 <xslo:variable name="raw_heading">
2578 <xslo:for-each select="marc:subfield">
2579 <xslo:if test="position() > 1">
2580 <xslo:value-of select="substring(' ', 1, 1)"/>
2582 <xslo:value-of select="."/>
2585 <xslo:value-of select="normalize-space($raw_heading)"/>
2588 <xslo:template mode="index_data_field" match="marc:datafield[@tag='840']">
2589 <z:index name="Title:w Title-series:w Title-series:p">
2590 <xslo:variable name="raw_heading">
2591 <xslo:for-each select="marc:subfield">
2592 <xslo:if test="position() > 1">
2593 <xslo:value-of select="substring(' ', 1, 1)"/>
2595 <xslo:value-of select="."/>
2598 <xslo:value-of select="normalize-space($raw_heading)"/>
2601 <xslo:template mode="index_facets" match="marc:datafield[@tag='100']">
2602 <xslo:if test="not(@ind1='z')">
2603 <z:index name="au:0">
2604 <xslo:value-of select="marc:subfield[@code='a']"/>
2608 <xslo:template mode="index_facets" match="marc:datafield[@tag='110']">
2609 <xslo:if test="not(@ind1='z')">
2610 <z:index name="au:0">
2611 <xslo:value-of select="marc:subfield[@code='a']"/>
2615 <xslo:template mode="index_facets" match="marc:datafield[@tag='440']">
2616 <xslo:if test="not(@ind1='z')">
2617 <z:index name="se:0">
2618 <xslo:value-of select="marc:subfield[@code='a']"/>
2622 <xslo:template mode="index_facets" match="marc:datafield[@tag='490']">
2623 <xslo:if test="not(@ind1='z')">
2624 <z:index name="se:0">
2625 <xslo:value-of select="marc:subfield[@code='a']"/>
2629 <xslo:template mode="index_facets" match="marc:datafield[@tag='630']">
2630 <xslo:if test="not(@ind1='z')">
2631 <z:index name="su-ut:0">
2632 <xslo:value-of select="marc:subfield[@code='a']"/>
2636 <xslo:template mode="index_facets" match="marc:datafield[@tag='650']">
2637 <xslo:if test="not(@ind1='z')">
2638 <z:index name="su-to:0">
2639 <xslo:value-of select="marc:subfield[@code='a']"/>
2643 <xslo:template mode="index_facets" match="marc:datafield[@tag='651']">
2644 <xslo:if test="not(@ind1='z')">
2645 <z:index name="su-geo:0">
2646 <xslo:value-of select="marc:subfield[@code='a']"/>
2650 <xslo:template mode="index_facets" match="marc:datafield[@tag='700']">
2651 <xslo:if test="not(@ind1='z')">
2652 <z:index name="au:0">
2653 <xslo:value-of select="marc:subfield[@code='a']"/>
2657 <xslo:template mode="index_facets" match="marc:datafield[@tag='942']">
2658 <xslo:if test="not(@ind1='z')">
2659 <z:index name="itype:0">
2660 <xslo:value-of select="marc:subfield[@code='c']"/>
2664 <xslo:template mode="index_facets" match="marc:datafield[@tag='952']">
2665 <xslo:if test="not(@ind1='z')">
2666 <z:index name="homebranch:0">
2667 <xslo:value-of select="marc:subfield[@code='a']"/>
2669 <z:index name="holdingbranch:0">
2670 <xslo:value-of select="marc:subfield[@code='b']"/>
2672 <z:index name="location:0">
2673 <xslo:value-of select="marc:subfield[@code='c']"/>
2675 <z:index name="itype:0">
2676 <xslo:value-of select="marc:subfield[@code='y']"/>
2678 <z:index name="ccode:0">
2679 <xslo:value-of select="marc:subfield[@code='8']"/>
2683 <xslo:template mode="index_all" match="text()">
2684 <z:index name="Any:w Any:p">
2685 <xslo:value-of select="."/>
2688 <xslo:template mode="index_sort_tit" match="marc:datafield[@tag='245']">
2689 <xslo:variable name="chop">
2691 <xslo:when test="not(number(@ind2))">0</xslo:when>
2693 <xslo:value-of select="number(@ind2)"/>
2697 <z:index name="Title:s">
2698 <xslo:value-of select="substring(marc:subfield[@code='a'], $chop+1)"/>
2701 <xslo:template name="chopPunctuation">
2702 <xslo:param name="chopString"/>
2703 <xslo:variable name="length" select="string-length($chopString)"/>
2705 <xslo:when test="$length=0"/>
2706 <xslo:when test="contains('-,.:=;!%/', substring($chopString,$length,1))">
2707 <xslo:call-template name="chopPunctuation">
2708 <xslo:with-param name="chopString" select="substring($chopString,1,$length - 1)"/>
2709 </xslo:call-template>
2711 <xslo:when test="not($chopString)"/>
2713 <xslo:value-of select="$chopString"/>