1 <?xml version="1.0" encoding="UTF-8"?>
3 This file has been automatically generated from a Koha index definition file
4 with the stylesheet koha-indexdefs-to-zebra.xsl. Do not manually edit this file,
5 as it may be overwritten. To regenerate, edit the appropriate Koha index
6 definition file (probably something like {biblio,authority}-koha-indexdefs.xml) and run:
7 `xsltproc koha-indexdefs-to-zebra.xsl {biblio,authority}-koha-indexdefs.xml >
8 {biblio,authority}-zebra-indexdefs.xsl` (substituting the appropriate file names).
10 <xslo:stylesheet xmlns:xslo="http://www.w3.org/1999/XSL/Transform" xmlns:marc="http://www.loc.gov/MARC21/slim" xmlns:z="http://indexdata.com/zebra-2.0" xmlns:kohaidx="http://www.koha-community.org/schemas/index-defs" version="1.0">
11 <xslo:output indent="yes" method="xml" version="1.0" encoding="UTF-8"/>
12 <xslo:template match="text()"/>
13 <xslo:template match="text()" mode="index_subfields"/>
14 <xslo:template match="text()" mode="index_data_field"/>
15 <xslo:template match="text()" mode="index_heading"/>
16 <xslo:template match="text()" mode="index_match_heading"/>
17 <xslo:template match="text()" mode="index_subject_thesaurus"/>
18 <xslo:template match="/">
19 <xslo:if test="marc:collection">
21 <xslo:apply-templates select="marc:collection/marc:record"/>
24 <xslo:if test="marc:record">
25 <xslo:apply-templates select="marc:record"/>
28 <xslo:template match="marc:record">
29 <xslo:variable name="controlField001" select="normalize-space(marc:controlfield[@tag='001'])"/>
30 <z:record type="update">
31 <xslo:attribute name="z:id">
32 <xslo:value-of select="$controlField001"/>
34 <xslo:apply-templates/>
35 <xslo:apply-templates mode="index_subfields"/>
36 <xslo:apply-templates mode="index_data_field"/>
37 <xslo:apply-templates mode="index_heading"/>
38 <xslo:apply-templates mode="index_match_heading"/>
39 <xslo:apply-templates mode="index_subject_thesaurus"/>
42 <xslo:template match="marc:controlfield[@tag='001']">
43 <z:index name="Local-number:w">
44 <xslo:value-of select="."/>
46 <z:index name="Local-number:n">
47 <xslo:value-of select="."/>
50 <xslo:template match="marc:controlfield[@tag='009']">
51 <z:index name="Identifier-standard:w">
52 <xslo:value-of select="."/>
54 <z:index name="Identifier-standard:n">
55 <xslo:value-of select="."/>
58 <xslo:template mode="index_subfields" match="marc:datafield[@tag='090']">
59 <xslo:for-each select="marc:subfield">
60 <xslo:if test="contains('9', @code)">
61 <z:index name="Local-number:w Local-number:n">
62 <xslo:value-of select="."/>
67 <xslo:template mode="index_subfields" match="marc:datafield[@tag='099']">
68 <xslo:for-each select="marc:subfield">
69 <xslo:if test="contains('c', @code)">
70 <z:index name="date-entered-on-file:s date-entered-on-file:n date-entered-on-file:y Date-of-acquisition:w Date-of-acquisition:d Date-of-acquisition:s">
71 <xslo:value-of select="."/>
75 <xslo:for-each select="marc:subfield">
76 <xslo:if test="contains('d', @code)">
77 <z:index name="Date/time-last-modified:s Date/time-last-modified:n Date/time-last-modified:y">
78 <xslo:value-of select="."/>
82 <xslo:for-each select="marc:subfield">
83 <xslo:if test="contains('t', @code)">
84 <z:index name="ccode:w">
85 <xslo:value-of select="."/>
90 <xslo:template mode="index_subfields" match="marc:datafield[@tag='010']">
91 <xslo:for-each select="marc:subfield">
92 <xslo:if test="contains('a', @code)">
93 <z:index name="ISBN:w">
94 <xslo:value-of select="."/>
98 <xslo:for-each select="marc:subfield">
99 <xslo:if test="contains('z', @code)">
100 <z:index name="ISBN:w Identifier-standard:w">
101 <xslo:value-of select="."/>
106 <xslo:template mode="index_subfields" match="marc:datafield[@tag='011']">
107 <xslo:for-each select="marc:subfield">
108 <xslo:if test="contains('a', @code)">
109 <z:index name="ISSN:w Identifier-standard:w">
110 <xslo:value-of select="."/>
114 <xslo:for-each select="marc:subfield">
115 <xslo:if test="contains('y', @code)">
116 <z:index name="ISSN:w Identifier-standard:w">
117 <xslo:value-of select="."/>
121 <xslo:for-each select="marc:subfield">
122 <xslo:if test="contains('z', @code)">
123 <z:index name="ISSN:w Identifier-standard:w">
124 <xslo:value-of select="."/>
129 <xslo:template mode="index_subfields" match="marc:datafield[@tag='200']">
130 <xslo:for-each select="marc:subfield">
131 <xslo:if test="contains('b', @code)">
132 <z:index name="itemtype:w itemtype:p itype:w itype:p">
133 <xslo:value-of select="."/>
137 <xslo:for-each select="marc:subfield">
138 <xslo:if test="contains('b', @code)">
139 <z:index name="itype:w itype:p">
140 <xslo:value-of select="."/>
144 <xslo:for-each select="marc:subfield">
145 <xslo:if test="contains('f', @code)">
146 <z:index name="Author:w Author:p">
147 <xslo:value-of select="."/>
151 <xslo:for-each select="marc:subfield">
152 <xslo:if test="contains('g', @code)">
153 <z:index name="Author:w Author:p">
154 <xslo:value-of select="."/>
158 <xslo:for-each select="marc:subfield">
159 <xslo:if test="contains('a', @code)">
160 <z:index name="Title:w Title:p Title:s Title-cover:w Title-cover:p Title-cover:s">
161 <xslo:value-of select="."/>
165 <xslo:for-each select="marc:subfield">
166 <xslo:if test="contains('c', @code)">
167 <z:index name="Title:w Title:p">
168 <xslo:value-of select="."/>
172 <xslo:for-each select="marc:subfield">
173 <xslo:if test="contains('d', @code)">
174 <z:index name="Title:w Title:p">
175 <xslo:value-of select="."/>
179 <xslo:for-each select="marc:subfield">
180 <xslo:if test="contains('e', @code)">
181 <z:index name="Title:w Title:p Title-cover:w Title-cover:p">
182 <xslo:value-of select="."/>
186 <xslo:for-each select="marc:subfield">
187 <xslo:if test="contains('i', @code)">
188 <z:index name="title:w title:p Title-cover:w Title-cover:p">
189 <xslo:value-of select="."/>
194 <xslo:template mode="index_subfields" match="marc:datafield[@tag='995']">
195 <xslo:for-each select="marc:subfield">
196 <xslo:if test="contains('r', @code)">
197 <z:index name="itemtype:w itemtype:p itype:w itype:p">
198 <xslo:value-of select="."/>
202 <xslo:for-each select="marc:subfield">
203 <xslo:if test="contains('2', @code)">
204 <z:index name="lost:w lost:n item:w">
205 <xslo:value-of select="."/>
209 <xslo:for-each select="marc:subfield">
210 <xslo:if test="contains('a', @code)">
211 <z:index name="homebranch:w Host-item:w item:w">
212 <xslo:value-of select="."/>
216 <xslo:for-each select="marc:subfield">
217 <xslo:if test="contains('b', @code)">
218 <z:index name="homebranch:w Host-item:w item:w">
219 <xslo:value-of select="."/>
223 <xslo:for-each select="marc:subfield">
224 <xslo:if test="contains('c', @code)">
225 <z:index name="holdingbranch:w Record-Source:w item:w">
226 <xslo:value-of select="."/>
230 <xslo:for-each select="marc:subfield">
231 <xslo:if test="contains('d', @code)">
232 <z:index name="holdingbranch:w Record-Source:w item:w">
233 <xslo:value-of select="."/>
237 <xslo:for-each select="marc:subfield">
238 <xslo:if test="contains('e', @code)">
239 <z:index name="location:w item:w">
240 <xslo:value-of select="."/>
244 <xslo:for-each select="marc:subfield">
245 <xslo:if test="contains('f', @code)">
246 <z:index name="barcode:w item:w">
247 <xslo:value-of select="."/>
251 <xslo:for-each select="marc:subfield">
252 <xslo:if test="contains('h', @code)">
253 <z:index name="ccode:w item:w">
254 <xslo:value-of select="."/>
258 <xslo:for-each select="marc:subfield">
259 <xslo:if test="contains('j', @code)">
260 <z:index name="LC-card-number:s item:w">
261 <xslo:value-of select="."/>
265 <xslo:for-each select="marc:subfield">
266 <xslo:if test="contains('k', @code)">
267 <z:index name="Call-Number:w Local-classification:w lcn:w Call-Number:p Local-classification:p lcn:p item:w Local-classification:s">
268 <xslo:value-of select="."/>
272 <xslo:for-each select="marc:subfield">
273 <xslo:if test="contains('n', @code)">
274 <z:index name="onloan:d onloan:n onloan:s onloan:w item:w">
275 <xslo:value-of select="."/>
279 <xslo:for-each select="marc:subfield">
280 <xslo:if test="contains('u', @code)">
281 <z:index name="Note:w Note:p item:w">
282 <xslo:value-of select="."/>
287 <xslo:template mode="index_subfields" match="marc:datafield[@tag='071']">
288 <xslo:for-each select="marc:subfield">
289 <xslo:if test="contains('a', @code)">
290 <z:index name="Music-number:w Identifier-standard:w">
291 <xslo:value-of select="."/>
296 <xslo:template mode="index_subfields" match="marc:datafield[@tag='072']">
297 <xslo:for-each select="marc:subfield">
298 <xslo:if test="contains('a', @code)">
299 <z:index name="UPC:w Identifier-standard:w">
300 <xslo:value-of select="."/>
305 <xslo:template mode="index_subfields" match="marc:datafield[@tag='073']">
306 <xslo:for-each select="marc:subfield">
307 <xslo:if test="contains('a', @code)">
308 <z:index name="EAN:w Identifier-standard:w">
309 <xslo:value-of select="."/>
314 <xslo:template mode="index_subfields" match="marc:datafield[@tag='100']">
315 <xslo:for-each select="marc:subfield">
316 <xslo:if test="contains('a', @code)">
317 <z:index name="tpubdate:s ta:w ta:w ta:w Modified-code:n ln:s char-encoding:n char-encoding:n char-encoding:n script-Title:n">
318 <xslo:value-of select="."/>
323 <xslo:template mode="index_subfields" match="marc:datafield[@tag='101']">
324 <xslo:for-each select="marc:subfield">
325 <xslo:if test="contains('a', @code)">
326 <z:index name="ln:w">
327 <xslo:value-of select="."/>
332 <xslo:template mode="index_subfields" match="marc:datafield[@tag='102']">
333 <xslo:for-each select="marc:subfield">
334 <xslo:if test="contains('a', @code)">
335 <z:index name="Country-heading:w">
336 <xslo:value-of select="."/>
341 <xslo:template mode="index_subfields" match="marc:datafield[@tag='105']">
342 <xslo:for-each select="marc:subfield">
343 <xslo:if test="contains('a', @code)">
344 <z:index name="Illustration-code:w Content-type:w Content-type:w Content-type:w Content-type:w Conference-code:w Festschrift-indicator:w Index-indicator:w Literature-Code:w Biography-Code:w">
345 <xslo:value-of select="."/>
350 <xslo:template mode="index_subfields" match="marc:datafield[@tag='106']">
351 <xslo:for-each select="marc:subfield">
352 <xslo:if test="contains('a', @code)">
353 <z:index name="itype:w itype:p">
354 <xslo:value-of select="."/>
359 <xslo:template mode="index_subfields" match="marc:datafield[@tag='110']">
360 <xslo:for-each select="marc:subfield">
361 <xslo:if test="contains('a', @code)">
362 <z:index name="Type-Of-Serial:w Frequency-code:w Regularity-code:w Content-type:w Content-type:w Conference-publication-Code:w Title-Page-availability-Code:w Index-availability-Code:w Cumulative-Index-availability-Code:w">
363 <xslo:value-of select="."/>
368 <xslo:template mode="index_subfields" match="marc:datafield[@tag='115']">
369 <xslo:for-each select="marc:subfield">
370 <xslo:if test="contains('a', @code)">
371 <z:index name="Video-mt:w">
372 <xslo:value-of select="."/>
377 <xslo:template mode="index_subfields" match="marc:datafield[@tag='116']">
378 <xslo:for-each select="marc:subfield">
379 <xslo:if test="contains('a', @code)">
380 <z:index name="Graphics-type:w Graphics-support:w Graphics-support:w">
381 <xslo:value-of select="."/>
386 <xslo:template mode="index_subfields" match="marc:datafield[@tag='680']">
387 <xslo:for-each select="marc:subfield">
388 <xslo:if test="contains('b', @code)">
389 <z:index name="LC-call-number:s">
390 <xslo:value-of select="."/>
395 <xslo:template mode="index_subfields" match="marc:datafield[@tag='700']">
396 <xslo:for-each select="marc:subfield">
397 <xslo:if test="contains('9', @code)">
398 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
399 <xslo:value-of select="."/>
403 <xslo:for-each select="marc:subfield">
404 <xslo:if test="contains('a', @code)">
405 <z:index name="Author:w Personal-name:w Author:p Personal-name:p Personal-name:w Author:s">
406 <xslo:value-of select="."/>
411 <xslo:template mode="index_subfields" match="marc:datafield[@tag='701']">
412 <xslo:for-each select="marc:subfield">
413 <xslo:if test="contains('9', @code)">
414 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
415 <xslo:value-of select="."/>
420 <xslo:template mode="index_subfields" match="marc:datafield[@tag='702']">
421 <xslo:for-each select="marc:subfield">
422 <xslo:if test="contains('9', @code)">
423 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
424 <xslo:value-of select="."/>
429 <xslo:template mode="index_subfields" match="marc:datafield[@tag='710']">
430 <xslo:for-each select="marc:subfield">
431 <xslo:if test="contains('9', @code)">
432 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
433 <xslo:value-of select="."/>
438 <xslo:template mode="index_subfields" match="marc:datafield[@tag='711']">
439 <xslo:for-each select="marc:subfield">
440 <xslo:if test="contains('9', @code)">
441 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
442 <xslo:value-of select="."/>
447 <xslo:template mode="index_subfields" match="marc:datafield[@tag='712']">
448 <xslo:for-each select="marc:subfield">
449 <xslo:if test="contains('9', @code)">
450 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
451 <xslo:value-of select="."/>
456 <xslo:template mode="index_subfields" match="marc:datafield[@tag='210']">
457 <xslo:for-each select="marc:subfield">
458 <xslo:if test="contains('a', @code)">
459 <z:index name="pl:w pl:p">
460 <xslo:value-of select="."/>
464 <xslo:for-each select="marc:subfield">
465 <xslo:if test="contains('c', @code)">
466 <z:index name="Publisher:w Publisher:p">
467 <xslo:value-of select="."/>
471 <xslo:for-each select="marc:subfield">
472 <xslo:if test="contains('d', @code)">
473 <z:index name="pubdate:n pubdate:y pubdate:s">
474 <xslo:value-of select="."/>
479 <xslo:template mode="index_subfields" match="marc:datafield[@tag='225']">
480 <xslo:for-each select="marc:subfield">
481 <xslo:if test="contains('a', @code)">
482 <z:index name="Title-series:w Title-series:p">
483 <xslo:value-of select="."/>
487 <xslo:for-each select="marc:subfield">
488 <xslo:if test="contains('d', @code)">
489 <z:index name="Title-series:w Title-series:p">
490 <xslo:value-of select="."/>
494 <xslo:for-each select="marc:subfield">
495 <xslo:if test="contains('e', @code)">
496 <z:index name="Title-series:w Title-series:p">
497 <xslo:value-of select="."/>
501 <xslo:for-each select="marc:subfield">
502 <xslo:if test="contains('f', @code)">
503 <z:index name="Author:w Author:p Name-and-title:w Name-and-title:p">
504 <xslo:value-of select="."/>
508 <xslo:for-each select="marc:subfield">
509 <xslo:if test="contains('h', @code)">
510 <z:index name="Title-series:w Title-series:p">
511 <xslo:value-of select="."/>
515 <xslo:for-each select="marc:subfield">
516 <xslo:if test="contains('i', @code)">
517 <z:index name="Title-series:w Title-series:p">
518 <xslo:value-of select="."/>
522 <xslo:for-each select="marc:subfield">
523 <xslo:if test="contains('v', @code)">
524 <z:index name="Title-series:w Title-series:p">
525 <xslo:value-of select="."/>
529 <xslo:for-each select="marc:subfield">
530 <xslo:if test="contains('x', @code)">
531 <z:index name="ISSN:w">
532 <xslo:value-of select="."/>
537 <xslo:template mode="index_subfields" match="marc:datafield[@tag='230']">
538 <xslo:for-each select="marc:subfield">
539 <xslo:if test="contains('a', @code)">
540 <z:index name="Electronic-ressource:w">
541 <xslo:value-of select="."/>
546 <xslo:template mode="index_subfields" match="marc:datafield[@tag='300']">
547 <xslo:for-each select="marc:subfield">
548 <xslo:if test="contains('a', @code)">
549 <z:index name="Note:w Note:p">
550 <xslo:value-of select="."/>
555 <xslo:template mode="index_subfields" match="marc:datafield[@tag='301']">
556 <xslo:for-each select="marc:subfield">
557 <xslo:if test="contains('a', @code)">
558 <z:index name="Note:w Note:p">
559 <xslo:value-of select="."/>
564 <xslo:template mode="index_subfields" match="marc:datafield[@tag='302']">
565 <xslo:for-each select="marc:subfield">
566 <xslo:if test="contains('a', @code)">
567 <z:index name="Note:w Note:p">
568 <xslo:value-of select="."/>
573 <xslo:template mode="index_subfields" match="marc:datafield[@tag='303']">
574 <xslo:for-each select="marc:subfield">
575 <xslo:if test="contains('a', @code)">
576 <z:index name="Note:w Note:p">
577 <xslo:value-of select="."/>
582 <xslo:template mode="index_subfields" match="marc:datafield[@tag='304']">
583 <xslo:for-each select="marc:subfield">
584 <xslo:if test="contains('a', @code)">
585 <z:index name="Note:w Note:p">
586 <xslo:value-of select="."/>
591 <xslo:template mode="index_subfields" match="marc:datafield[@tag='305']">
592 <xslo:for-each select="marc:subfield">
593 <xslo:if test="contains('a', @code)">
594 <z:index name="Note:w Note:p">
595 <xslo:value-of select="."/>
600 <xslo:template mode="index_subfields" match="marc:datafield[@tag='306']">
601 <xslo:for-each select="marc:subfield">
602 <xslo:if test="contains('a', @code)">
603 <z:index name="Note:w Note:p">
604 <xslo:value-of select="."/>
609 <xslo:template mode="index_subfields" match="marc:datafield[@tag='307']">
610 <xslo:for-each select="marc:subfield">
611 <xslo:if test="contains('a', @code)">
612 <z:index name="Note:w Note:p">
613 <xslo:value-of select="."/>
618 <xslo:template mode="index_subfields" match="marc:datafield[@tag='308']">
619 <xslo:for-each select="marc:subfield">
620 <xslo:if test="contains('a', @code)">
621 <z:index name="Note:w Note:p">
622 <xslo:value-of select="."/>
627 <xslo:template mode="index_subfields" match="marc:datafield[@tag='310']">
628 <xslo:for-each select="marc:subfield">
629 <xslo:if test="contains('a', @code)">
630 <z:index name="Note:w Note:p">
631 <xslo:value-of select="."/>
636 <xslo:template mode="index_subfields" match="marc:datafield[@tag='311']">
637 <xslo:for-each select="marc:subfield">
638 <xslo:if test="contains('a', @code)">
639 <z:index name="Note:w Note:p">
640 <xslo:value-of select="."/>
645 <xslo:template mode="index_subfields" match="marc:datafield[@tag='312']">
646 <xslo:for-each select="marc:subfield">
647 <xslo:if test="contains('a', @code)">
648 <z:index name="Note:w Note:p">
649 <xslo:value-of select="."/>
654 <xslo:template mode="index_subfields" match="marc:datafield[@tag='313']">
655 <xslo:for-each select="marc:subfield">
656 <xslo:if test="contains('a', @code)">
657 <z:index name="Note:w Note:p">
658 <xslo:value-of select="."/>
663 <xslo:template mode="index_subfields" match="marc:datafield[@tag='314']">
664 <xslo:for-each select="marc:subfield">
665 <xslo:if test="contains('a', @code)">
666 <z:index name="Note:w Note:p">
667 <xslo:value-of select="."/>
672 <xslo:template mode="index_subfields" match="marc:datafield[@tag='315']">
673 <xslo:for-each select="marc:subfield">
674 <xslo:if test="contains('a', @code)">
675 <z:index name="Note:w Note:p">
676 <xslo:value-of select="."/>
681 <xslo:template mode="index_subfields" match="marc:datafield[@tag='316']">
682 <xslo:for-each select="marc:subfield">
683 <xslo:if test="contains('a', @code)">
684 <z:index name="Note:w Note:p">
685 <xslo:value-of select="."/>
690 <xslo:template mode="index_subfields" match="marc:datafield[@tag='317']">
691 <xslo:for-each select="marc:subfield">
692 <xslo:if test="contains('a', @code)">
693 <z:index name="Note:w Note:p">
694 <xslo:value-of select="."/>
699 <xslo:template mode="index_subfields" match="marc:datafield[@tag='318']">
700 <xslo:for-each select="marc:subfield">
701 <xslo:if test="contains('a', @code)">
702 <z:index name="Note:w Note:p">
703 <xslo:value-of select="."/>
708 <xslo:template mode="index_subfields" match="marc:datafield[@tag='320']">
709 <xslo:for-each select="marc:subfield">
710 <xslo:if test="contains('a', @code)">
711 <z:index name="Note:w Note:p">
712 <xslo:value-of select="."/>
717 <xslo:template mode="index_subfields" match="marc:datafield[@tag='321']">
718 <xslo:for-each select="marc:subfield">
719 <xslo:if test="contains('a', @code)">
720 <z:index name="Note:w Note:p">
721 <xslo:value-of select="."/>
726 <xslo:template mode="index_subfields" match="marc:datafield[@tag='322']">
727 <xslo:for-each select="marc:subfield">
728 <xslo:if test="contains('a', @code)">
729 <z:index name="Note:w Note:p">
730 <xslo:value-of select="."/>
735 <xslo:template mode="index_subfields" match="marc:datafield[@tag='323']">
736 <xslo:for-each select="marc:subfield">
737 <xslo:if test="contains('a', @code)">
738 <z:index name="Note:w Note:p">
739 <xslo:value-of select="."/>
744 <xslo:template mode="index_subfields" match="marc:datafield[@tag='324']">
745 <xslo:for-each select="marc:subfield">
746 <xslo:if test="contains('a', @code)">
747 <z:index name="Note:w Note:p">
748 <xslo:value-of select="."/>
753 <xslo:template mode="index_subfields" match="marc:datafield[@tag='325']">
754 <xslo:for-each select="marc:subfield">
755 <xslo:if test="contains('a', @code)">
756 <z:index name="Note:w Note:p">
757 <xslo:value-of select="."/>
762 <xslo:template mode="index_subfields" match="marc:datafield[@tag='326']">
763 <xslo:for-each select="marc:subfield">
764 <xslo:if test="contains('a', @code)">
765 <z:index name="Note:w Note:p">
766 <xslo:value-of select="."/>
771 <xslo:template mode="index_subfields" match="marc:datafield[@tag='327']">
772 <xslo:for-each select="marc:subfield">
773 <xslo:if test="contains('a', @code)">
774 <z:index name="Note:w Note:p">
775 <xslo:value-of select="."/>
780 <xslo:template mode="index_subfields" match="marc:datafield[@tag='328']">
781 <xslo:for-each select="marc:subfield">
782 <xslo:if test="contains('a', @code)">
783 <z:index name="Note:w Note:p">
784 <xslo:value-of select="."/>
789 <xslo:template mode="index_subfields" match="marc:datafield[@tag='330']">
790 <xslo:for-each select="marc:subfield">
791 <xslo:if test="contains('a', @code)">
792 <z:index name="Abstract:w Note:w Abstract:p Note:p">
793 <xslo:value-of select="."/>
798 <xslo:template mode="index_subfields" match="marc:datafield[@tag='332']">
799 <xslo:for-each select="marc:subfield">
800 <xslo:if test="contains('a', @code)">
801 <z:index name="Note:w Note:p">
802 <xslo:value-of select="."/>
807 <xslo:template mode="index_subfields" match="marc:datafield[@tag='333']">
808 <xslo:for-each select="marc:subfield">
809 <xslo:if test="contains('a', @code)">
810 <z:index name="Note:w Note:p">
811 <xslo:value-of select="."/>
816 <xslo:template mode="index_subfields" match="marc:datafield[@tag='336']">
817 <xslo:for-each select="marc:subfield">
818 <xslo:if test="contains('a', @code)">
819 <z:index name="Note:w Note:p">
820 <xslo:value-of select="."/>
825 <xslo:template mode="index_subfields" match="marc:datafield[@tag='337']">
826 <xslo:for-each select="marc:subfield">
827 <xslo:if test="contains('a', @code)">
828 <z:index name="Note:w Note:p">
829 <xslo:value-of select="."/>
834 <xslo:template mode="index_subfields" match="marc:datafield[@tag='345']">
835 <xslo:for-each select="marc:subfield">
836 <xslo:if test="contains('a', @code)">
837 <z:index name="Note:w Note:p">
838 <xslo:value-of select="."/>
843 <xslo:template mode="index_subfields" match="marc:datafield[@tag='400']">
844 <xslo:for-each select="marc:subfield">
845 <xslo:if test="contains('t', @code)">
846 <z:index name="Title:w Title:p">
847 <xslo:value-of select="."/>
851 <xslo:for-each select="marc:subfield">
852 <xslo:if test="contains('d', @code)">
853 <z:index name="pubdate:n">
854 <xslo:value-of select="."/>
859 <xslo:template mode="index_subfields" match="marc:datafield[@tag='401']">
860 <xslo:for-each select="marc:subfield">
861 <xslo:if test="contains('t', @code)">
862 <z:index name="Title:w Title:p">
863 <xslo:value-of select="."/>
867 <xslo:for-each select="marc:subfield">
868 <xslo:if test="contains('d', @code)">
869 <z:index name="pubdate:n">
870 <xslo:value-of select="."/>
875 <xslo:template mode="index_subfields" match="marc:datafield[@tag='403']">
876 <xslo:for-each select="marc:subfield">
877 <xslo:if test="contains('t', @code)">
878 <z:index name="Title:w Title:p Title-Uniform:w Title-Uniform:p">
879 <xslo:value-of select="."/>
883 <xslo:for-each select="marc:subfield">
884 <xslo:if test="contains('d', @code)">
885 <z:index name="pubdate:n">
886 <xslo:value-of select="."/>
891 <xslo:template mode="index_subfields" match="marc:datafield[@tag='410']">
892 <xslo:for-each select="marc:subfield">
893 <xslo:if test="contains('t', @code)">
894 <z:index name="Title-series:w Title-series:p">
895 <xslo:value-of select="."/>
899 <xslo:for-each select="marc:subfield">
900 <xslo:if test="contains('d', @code)">
901 <z:index name="pubdate:n">
902 <xslo:value-of select="."/>
907 <xslo:template mode="index_subfields" match="marc:datafield[@tag='412']">
908 <xslo:for-each select="marc:subfield">
909 <xslo:if test="contains('t', @code)">
910 <z:index name="Title:w Title:p">
911 <xslo:value-of select="."/>
915 <xslo:for-each select="marc:subfield">
916 <xslo:if test="contains('d', @code)">
917 <z:index name="pubdate:n">
918 <xslo:value-of select="."/>
923 <xslo:template mode="index_subfields" match="marc:datafield[@tag='413']">
924 <xslo:for-each select="marc:subfield">
925 <xslo:if test="contains('t', @code)">
926 <z:index name="Title:w Title:p">
927 <xslo:value-of select="."/>
931 <xslo:for-each select="marc:subfield">
932 <xslo:if test="contains('d', @code)">
933 <z:index name="pubdate:n">
934 <xslo:value-of select="."/>
939 <xslo:template mode="index_subfields" match="marc:datafield[@tag='414']">
940 <xslo:for-each select="marc:subfield">
941 <xslo:if test="contains('t', @code)">
942 <z:index name="Title:w Title:p">
943 <xslo:value-of select="."/>
947 <xslo:for-each select="marc:subfield">
948 <xslo:if test="contains('d', @code)">
949 <z:index name="pubdate:n">
950 <xslo:value-of select="."/>
955 <xslo:template mode="index_subfields" match="marc:datafield[@tag='415']">
956 <xslo:for-each select="marc:subfield">
957 <xslo:if test="contains('t', @code)">
958 <z:index name="Title:w Title:p">
959 <xslo:value-of select="."/>
963 <xslo:for-each select="marc:subfield">
964 <xslo:if test="contains('d', @code)">
965 <z:index name="pubdate:n">
966 <xslo:value-of select="."/>
971 <xslo:template mode="index_subfields" match="marc:datafield[@tag='416']">
972 <xslo:for-each select="marc:subfield">
973 <xslo:if test="contains('t', @code)">
974 <z:index name="Title:w Title:p">
975 <xslo:value-of select="."/>
979 <xslo:for-each select="marc:subfield">
980 <xslo:if test="contains('d', @code)">
981 <z:index name="pubdate:n">
982 <xslo:value-of select="."/>
987 <xslo:template mode="index_subfields" match="marc:datafield[@tag='417']">
988 <xslo:for-each select="marc:subfield">
989 <xslo:if test="contains('t', @code)">
990 <z:index name="Title:w Title:p">
991 <xslo:value-of select="."/>
995 <xslo:for-each select="marc:subfield">
996 <xslo:if test="contains('d', @code)">
997 <z:index name="pubdate:n">
998 <xslo:value-of select="."/>
1003 <xslo:template mode="index_subfields" match="marc:datafield[@tag='418']">
1004 <xslo:for-each select="marc:subfield">
1005 <xslo:if test="contains('t', @code)">
1006 <z:index name="Title:w Title:p">
1007 <xslo:value-of select="."/>
1011 <xslo:for-each select="marc:subfield">
1012 <xslo:if test="contains('d', @code)">
1013 <z:index name="pubdate:n">
1014 <xslo:value-of select="."/>
1019 <xslo:template mode="index_subfields" match="marc:datafield[@tag='419']">
1020 <xslo:for-each select="marc:subfield">
1021 <xslo:if test="contains('t', @code)">
1022 <z:index name="Title:w Title:p">
1023 <xslo:value-of select="."/>
1027 <xslo:for-each select="marc:subfield">
1028 <xslo:if test="contains('d', @code)">
1029 <z:index name="pubdate:n">
1030 <xslo:value-of select="."/>
1035 <xslo:template mode="index_subfields" match="marc:datafield[@tag='420']">
1036 <xslo:for-each select="marc:subfield">
1037 <xslo:if test="contains('t', @code)">
1038 <z:index name="Title:w Title:p">
1039 <xslo:value-of select="."/>
1043 <xslo:for-each select="marc:subfield">
1044 <xslo:if test="contains('d', @code)">
1045 <z:index name="pubdate:n">
1046 <xslo:value-of select="."/>
1051 <xslo:template mode="index_subfields" match="marc:datafield[@tag='430']">
1052 <xslo:for-each select="marc:subfield">
1053 <xslo:if test="contains('t', @code)">
1054 <z:index name="Title:w Title:p">
1055 <xslo:value-of select="."/>
1059 <xslo:for-each select="marc:subfield">
1060 <xslo:if test="contains('d', @code)">
1061 <z:index name="pubdate:n">
1062 <xslo:value-of select="."/>
1067 <xslo:template mode="index_subfields" match="marc:datafield[@tag='431']">
1068 <xslo:for-each select="marc:subfield">
1069 <xslo:if test="contains('t', @code)">
1070 <z:index name="Title:w Title:p">
1071 <xslo:value-of select="."/>
1075 <xslo:for-each select="marc:subfield">
1076 <xslo:if test="contains('d', @code)">
1077 <z:index name="pubdate:n">
1078 <xslo:value-of select="."/>
1083 <xslo:template mode="index_subfields" match="marc:datafield[@tag='432']">
1084 <xslo:for-each select="marc:subfield">
1085 <xslo:if test="contains('t', @code)">
1086 <z:index name="Title:w Title:p">
1087 <xslo:value-of select="."/>
1091 <xslo:for-each select="marc:subfield">
1092 <xslo:if test="contains('d', @code)">
1093 <z:index name="pubdate:n">
1094 <xslo:value-of select="."/>
1099 <xslo:template mode="index_subfields" match="marc:datafield[@tag='440']">
1100 <xslo:for-each select="marc:subfield">
1101 <xslo:if test="contains('t', @code)">
1102 <z:index name="Title:w Title:p">
1103 <xslo:value-of select="."/>
1107 <xslo:for-each select="marc:subfield">
1108 <xslo:if test="contains('d', @code)">
1109 <z:index name="pubdate:n">
1110 <xslo:value-of select="."/>
1115 <xslo:template mode="index_subfields" match="marc:datafield[@tag='441']">
1116 <xslo:for-each select="marc:subfield">
1117 <xslo:if test="contains('t', @code)">
1118 <z:index name="Title:w Title:p">
1119 <xslo:value-of select="."/>
1123 <xslo:for-each select="marc:subfield">
1124 <xslo:if test="contains('d', @code)">
1125 <z:index name="pubdate:n">
1126 <xslo:value-of select="."/>
1131 <xslo:template mode="index_subfields" match="marc:datafield[@tag='445']">
1132 <xslo:for-each select="marc:subfield">
1133 <xslo:if test="contains('t', @code)">
1134 <z:index name="Title:w Title:p">
1135 <xslo:value-of select="."/>
1139 <xslo:for-each select="marc:subfield">
1140 <xslo:if test="contains('d', @code)">
1141 <z:index name="pubdate:n">
1142 <xslo:value-of select="."/>
1147 <xslo:template mode="index_subfields" match="marc:datafield[@tag='461']">
1148 <xslo:for-each select="marc:subfield">
1149 <xslo:if test="contains('t', @code)">
1150 <z:index name="Title:w Title-host:w title-host:p">
1151 <xslo:value-of select="."/>
1155 <xslo:for-each select="marc:subfield">
1156 <xslo:if test="contains('d', @code)">
1157 <z:index name="pubdate:n">
1158 <xslo:value-of select="."/>
1162 <xslo:for-each select="marc:subfield">
1163 <xslo:if test="contains('9', @code)">
1164 <z:index name="Host-Item-Number:w">
1165 <xslo:value-of select="."/>
1170 <xslo:template mode="index_subfields" match="marc:datafield[@tag='464']">
1171 <xslo:for-each select="marc:subfield">
1172 <xslo:if test="contains('t', @code)">
1173 <z:index name="Title:w Title-host:w title-host:p Title:p">
1174 <xslo:value-of select="."/>
1179 <xslo:template mode="index_subfields" match="marc:datafield[@tag='500']">
1180 <xslo:for-each select="marc:subfield">
1181 <xslo:if test="contains('9', @code)">
1182 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1183 <xslo:value-of select="."/>
1188 <xslo:template mode="index_subfields" match="marc:datafield[@tag='501']">
1189 <xslo:for-each select="marc:subfield">
1190 <xslo:if test="contains('9', @code)">
1191 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1192 <xslo:value-of select="."/>
1197 <xslo:template mode="index_subfields" match="marc:datafield[@tag='503']">
1198 <xslo:for-each select="marc:subfield">
1199 <xslo:if test="contains('9', @code)">
1200 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1201 <xslo:value-of select="."/>
1206 <xslo:template mode="index_subfields" match="marc:datafield[@tag='510']">
1207 <xslo:for-each select="marc:subfield">
1208 <xslo:if test="contains('9', @code)">
1209 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1210 <xslo:value-of select="."/>
1215 <xslo:template mode="index_subfields" match="marc:datafield[@tag='512']">
1216 <xslo:for-each select="marc:subfield">
1217 <xslo:if test="contains('9', @code)">
1218 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1219 <xslo:value-of select="."/>
1224 <xslo:template mode="index_subfields" match="marc:datafield[@tag='513']">
1225 <xslo:for-each select="marc:subfield">
1226 <xslo:if test="contains('9', @code)">
1227 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1228 <xslo:value-of select="."/>
1233 <xslo:template mode="index_subfields" match="marc:datafield[@tag='514']">
1234 <xslo:for-each select="marc:subfield">
1235 <xslo:if test="contains('9', @code)">
1236 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1237 <xslo:value-of select="."/>
1242 <xslo:template mode="index_subfields" match="marc:datafield[@tag='515']">
1243 <xslo:for-each select="marc:subfield">
1244 <xslo:if test="contains('9', @code)">
1245 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1246 <xslo:value-of select="."/>
1251 <xslo:template mode="index_subfields" match="marc:datafield[@tag='516']">
1252 <xslo:for-each select="marc:subfield">
1253 <xslo:if test="contains('9', @code)">
1254 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1255 <xslo:value-of select="."/>
1260 <xslo:template mode="index_subfields" match="marc:datafield[@tag='517']">
1261 <xslo:for-each select="marc:subfield">
1262 <xslo:if test="contains('9', @code)">
1263 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1264 <xslo:value-of select="."/>
1269 <xslo:template mode="index_subfields" match="marc:datafield[@tag='518']">
1270 <xslo:for-each select="marc:subfield">
1271 <xslo:if test="contains('9', @code)">
1272 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1273 <xslo:value-of select="."/>
1278 <xslo:template mode="index_subfields" match="marc:datafield[@tag='519']">
1279 <xslo:for-each select="marc:subfield">
1280 <xslo:if test="contains('9', @code)">
1281 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1282 <xslo:value-of select="."/>
1287 <xslo:template mode="index_subfields" match="marc:datafield[@tag='520']">
1288 <xslo:for-each select="marc:subfield">
1289 <xslo:if test="contains('9', @code)">
1290 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1291 <xslo:value-of select="."/>
1296 <xslo:template mode="index_subfields" match="marc:datafield[@tag='530']">
1297 <xslo:for-each select="marc:subfield">
1298 <xslo:if test="contains('9', @code)">
1299 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1300 <xslo:value-of select="."/>
1305 <xslo:template mode="index_subfields" match="marc:datafield[@tag='531']">
1306 <xslo:for-each select="marc:subfield">
1307 <xslo:if test="contains('9', @code)">
1308 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1309 <xslo:value-of select="."/>
1314 <xslo:template mode="index_subfields" match="marc:datafield[@tag='532']">
1315 <xslo:for-each select="marc:subfield">
1316 <xslo:if test="contains('9', @code)">
1317 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1318 <xslo:value-of select="."/>
1323 <xslo:template mode="index_subfields" match="marc:datafield[@tag='540']">
1324 <xslo:for-each select="marc:subfield">
1325 <xslo:if test="contains('9', @code)">
1326 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1327 <xslo:value-of select="."/>
1332 <xslo:template mode="index_subfields" match="marc:datafield[@tag='541']">
1333 <xslo:for-each select="marc:subfield">
1334 <xslo:if test="contains('9', @code)">
1335 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1336 <xslo:value-of select="."/>
1341 <xslo:template mode="index_subfields" match="marc:datafield[@tag='545']">
1342 <xslo:for-each select="marc:subfield">
1343 <xslo:if test="contains('9', @code)">
1344 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1345 <xslo:value-of select="."/>
1350 <xslo:template mode="index_subfields" match="marc:datafield[@tag='600']">
1351 <xslo:for-each select="marc:subfield">
1352 <xslo:if test="contains('9', @code)">
1353 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1354 <xslo:value-of select="."/>
1358 <xslo:for-each select="marc:subfield">
1359 <xslo:if test="contains('a', @code)">
1360 <z:index name="Personal-name:w Personal-name:p Subject:w Subject:p">
1361 <xslo:value-of select="."/>
1366 <xslo:template mode="index_subfields" match="marc:datafield[@tag='601']">
1367 <xslo:for-each select="marc:subfield">
1368 <xslo:if test="contains('9', @code)">
1369 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1370 <xslo:value-of select="."/>
1374 <xslo:for-each select="marc:subfield">
1375 <xslo:if test="contains('a', @code)">
1376 <z:index name="Corporate-name:w Conference-name:w Corporate-name:p Conference-name:p">
1377 <xslo:value-of select="."/>
1382 <xslo:template mode="index_subfields" match="marc:datafield[@tag='602']">
1383 <xslo:for-each select="marc:subfield">
1384 <xslo:if test="contains('9', @code)">
1385 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1386 <xslo:value-of select="."/>
1390 <xslo:for-each select="marc:subfield">
1391 <xslo:if test="contains('a', @code)">
1392 <z:index name="Personal-name:w Personal-name:p">
1393 <xslo:value-of select="."/>
1398 <xslo:template mode="index_subfields" match="marc:datafield[@tag='603']">
1399 <xslo:for-each select="marc:subfield">
1400 <xslo:if test="contains('9', @code)">
1401 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1402 <xslo:value-of select="."/>
1407 <xslo:template mode="index_subfields" match="marc:datafield[@tag='604']">
1408 <xslo:for-each select="marc:subfield">
1409 <xslo:if test="contains('9', @code)">
1410 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1411 <xslo:value-of select="."/>
1416 <xslo:template mode="index_subfields" match="marc:datafield[@tag='605']">
1417 <xslo:for-each select="marc:subfield">
1418 <xslo:if test="contains('9', @code)">
1419 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1420 <xslo:value-of select="."/>
1425 <xslo:template mode="index_subfields" match="marc:datafield[@tag='606']">
1426 <xslo:for-each select="marc:subfield">
1427 <xslo:if test="contains('9', @code)">
1428 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1429 <xslo:value-of select="."/>
1434 <xslo:template mode="index_subfields" match="marc:datafield[@tag='607']">
1435 <xslo:for-each select="marc:subfield">
1436 <xslo:if test="contains('9', @code)">
1437 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1438 <xslo:value-of select="."/>
1443 <xslo:template mode="index_subfields" match="marc:datafield[@tag='610']">
1444 <xslo:for-each select="marc:subfield">
1445 <xslo:if test="contains('9', @code)">
1446 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1447 <xslo:value-of select="."/>
1452 <xslo:template mode="index_subfields" match="marc:datafield[@tag='630']">
1453 <xslo:for-each select="marc:subfield">
1454 <xslo:if test="contains('9', @code)">
1455 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1456 <xslo:value-of select="."/>
1461 <xslo:template mode="index_subfields" match="marc:datafield[@tag='631']">
1462 <xslo:for-each select="marc:subfield">
1463 <xslo:if test="contains('9', @code)">
1464 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1465 <xslo:value-of select="."/>
1470 <xslo:template mode="index_subfields" match="marc:datafield[@tag='632']">
1471 <xslo:for-each select="marc:subfield">
1472 <xslo:if test="contains('9', @code)">
1473 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1474 <xslo:value-of select="."/>
1479 <xslo:template mode="index_subfields" match="marc:datafield[@tag='633']">
1480 <xslo:for-each select="marc:subfield">
1481 <xslo:if test="contains('9', @code)">
1482 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1483 <xslo:value-of select="."/>
1488 <xslo:template mode="index_subfields" match="marc:datafield[@tag='634']">
1489 <xslo:for-each select="marc:subfield">
1490 <xslo:if test="contains('9', @code)">
1491 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1492 <xslo:value-of select="."/>
1497 <xslo:template mode="index_subfields" match="marc:datafield[@tag='635']">
1498 <xslo:for-each select="marc:subfield">
1499 <xslo:if test="contains('9', @code)">
1500 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1501 <xslo:value-of select="."/>
1506 <xslo:template mode="index_subfields" match="marc:datafield[@tag='636']">
1507 <xslo:for-each select="marc:subfield">
1508 <xslo:if test="contains('9', @code)">
1509 <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
1510 <xslo:value-of select="."/>
1515 <xslo:template mode="index_subfields" match="marc:datafield[@tag='676']">
1516 <xslo:for-each select="marc:subfield">
1517 <xslo:if test="contains('a', @code)">
1518 <z:index name="Dewey-classification:w Dewey-classification:s">
1519 <xslo:value-of select="."/>
1524 <xslo:template mode="index_subfields" match="marc:datafield[@tag='942']">
1525 <xslo:for-each select="marc:subfield">
1526 <xslo:if test="contains('0', @code)">
1527 <z:index name="totalissues:n totalissues:s">
1528 <xslo:value-of select="."/>
1533 <xslo:template mode="index_data_field" match="marc:datafield[@tag='680']">
1534 <z:index name="LC-call-number:w">
1535 <xslo:variable name="raw_heading">
1536 <xslo:for-each select="marc:subfield">
1537 <xslo:if test="position() > 1">
1538 <xslo:value-of select="substring(' ', 1, 1)"/>
1540 <xslo:value-of select="."/>
1543 <xslo:value-of select="normalize-space($raw_heading)"/>
1546 <xslo:template mode="index_data_field" match="marc:datafield[@tag='700']">
1547 <z:index name="Author:w Personal-name:w Author:p Personal-name:p Personal-name:p">
1548 <xslo:variable name="raw_heading">
1549 <xslo:for-each select="marc:subfield">
1550 <xslo:if test="position() > 1">
1551 <xslo:value-of select="substring(' ', 1, 1)"/>
1553 <xslo:value-of select="."/>
1556 <xslo:value-of select="normalize-space($raw_heading)"/>
1559 <xslo:template mode="index_data_field" match="marc:datafield[@tag='701']">
1560 <z:index name="Author:w Personal-name:w Author:p Personal-name:p Personal-name:p">
1561 <xslo:variable name="raw_heading">
1562 <xslo:for-each select="marc:subfield">
1563 <xslo:if test="position() > 1">
1564 <xslo:value-of select="substring(' ', 1, 1)"/>
1566 <xslo:value-of select="."/>
1569 <xslo:value-of select="normalize-space($raw_heading)"/>
1572 <xslo:template mode="index_data_field" match="marc:datafield[@tag='702']">
1573 <z:index name="Author:w Personal-name:w Author:p Personal-name:p Personal-name:p">
1574 <xslo:variable name="raw_heading">
1575 <xslo:for-each select="marc:subfield">
1576 <xslo:if test="position() > 1">
1577 <xslo:value-of select="substring(' ', 1, 1)"/>
1579 <xslo:value-of select="."/>
1582 <xslo:value-of select="normalize-space($raw_heading)"/>
1585 <xslo:template mode="index_data_field" match="marc:datafield[@tag='710']">
1586 <z:index name="Author:w Author-name-corporate:w Author-name-conference:w Corporate-name:w Conference-name:w Author:p Author-name-corporate:p Author-name-conference:p Corporate-name:p Conference-name:p">
1587 <xslo:variable name="raw_heading">
1588 <xslo:for-each select="marc:subfield">
1589 <xslo:if test="position() > 1">
1590 <xslo:value-of select="substring(' ', 1, 1)"/>
1592 <xslo:value-of select="."/>
1595 <xslo:value-of select="normalize-space($raw_heading)"/>
1598 <xslo:template mode="index_data_field" match="marc:datafield[@tag='711']">
1599 <z:index name="Author:w Author-name-corporate:w Author-name-conference:w Corporate-name:w Conference-name:w Author:p Author-name-corporate:p Author-name-conference:p Corporate-name:p Conference-name:p">
1600 <xslo:variable name="raw_heading">
1601 <xslo:for-each select="marc:subfield">
1602 <xslo:if test="position() > 1">
1603 <xslo:value-of select="substring(' ', 1, 1)"/>
1605 <xslo:value-of select="."/>
1608 <xslo:value-of select="normalize-space($raw_heading)"/>
1611 <xslo:template mode="index_data_field" match="marc:datafield[@tag='712']">
1612 <z:index name="Author:w Author-name-corporate:w Author-name-conference:w Corporate-name:w Conference-name:w Author:p Author-name-corporate:p Author-name-conference:p Corporate-name:p Conference-name:p">
1613 <xslo:variable name="raw_heading">
1614 <xslo:for-each select="marc:subfield">
1615 <xslo:if test="position() > 1">
1616 <xslo:value-of select="substring(' ', 1, 1)"/>
1618 <xslo:value-of select="."/>
1621 <xslo:value-of select="normalize-space($raw_heading)"/>
1624 <xslo:template mode="index_data_field" match="marc:datafield[@tag='205']">
1625 <z:index name="Title:w Title:p">
1626 <xslo:variable name="raw_heading">
1627 <xslo:for-each select="marc:subfield">
1628 <xslo:if test="position() > 1">
1629 <xslo:value-of select="substring(' ', 1, 1)"/>
1631 <xslo:value-of select="."/>
1634 <xslo:value-of select="normalize-space($raw_heading)"/>
1637 <xslo:template mode="index_data_field" match="marc:datafield[@tag='208']">
1638 <z:index name="Serials:w Serials:p">
1639 <xslo:variable name="raw_heading">
1640 <xslo:for-each select="marc:subfield">
1641 <xslo:if test="position() > 1">
1642 <xslo:value-of select="substring(' ', 1, 1)"/>
1644 <xslo:value-of select="."/>
1647 <xslo:value-of select="normalize-space($raw_heading)"/>
1650 <xslo:template mode="index_data_field" match="marc:datafield[@tag='207']">
1651 <z:index name="Printed-music:w Printed-music:p">
1652 <xslo:variable name="raw_heading">
1653 <xslo:for-each select="marc:subfield">
1654 <xslo:if test="position() > 1">
1655 <xslo:value-of select="substring(' ', 1, 1)"/>
1657 <xslo:value-of select="."/>
1660 <xslo:value-of select="normalize-space($raw_heading)"/>
1663 <xslo:template mode="index_data_field" match="marc:datafield[@tag='215']">
1664 <z:index name="Extent:w">
1665 <xslo:variable name="raw_heading">
1666 <xslo:for-each select="marc:subfield">
1667 <xslo:if test="position() > 1">
1668 <xslo:value-of select="substring(' ', 1, 1)"/>
1670 <xslo:value-of select="."/>
1673 <xslo:value-of select="normalize-space($raw_heading)"/>
1676 <xslo:template mode="index_data_field" match="marc:datafield[@tag='308']">
1677 <z:index name="Note:w Note:p">
1678 <xslo:variable name="raw_heading">
1679 <xslo:for-each select="marc:subfield">
1680 <xslo:if test="position() > 1">
1681 <xslo:value-of select="substring(' ', 1, 1)"/>
1683 <xslo:value-of select="."/>
1686 <xslo:value-of select="normalize-space($raw_heading)"/>
1689 <xslo:template mode="index_data_field" match="marc:datafield[@tag='328']">
1690 <z:index name="Note:w Note:p">
1691 <xslo:variable name="raw_heading">
1692 <xslo:for-each select="marc:subfield">
1693 <xslo:if test="position() > 1">
1694 <xslo:value-of select="substring(' ', 1, 1)"/>
1696 <xslo:value-of select="."/>
1699 <xslo:value-of select="normalize-space($raw_heading)"/>
1702 <xslo:template mode="index_data_field" match="marc:datafield[@tag='500']">
1703 <z:index name="Title:w Title:p">
1704 <xslo:variable name="raw_heading">
1705 <xslo:for-each select="marc:subfield">
1706 <xslo:if test="position() > 1">
1707 <xslo:value-of select="substring(' ', 1, 1)"/>
1709 <xslo:value-of select="."/>
1712 <xslo:value-of select="normalize-space($raw_heading)"/>
1715 <xslo:template mode="index_data_field" match="marc:datafield[@tag='501']">
1716 <z:index name="Title:w Title:p">
1717 <xslo:variable name="raw_heading">
1718 <xslo:for-each select="marc:subfield">
1719 <xslo:if test="position() > 1">
1720 <xslo:value-of select="substring(' ', 1, 1)"/>
1722 <xslo:value-of select="."/>
1725 <xslo:value-of select="normalize-space($raw_heading)"/>
1728 <xslo:template mode="index_data_field" match="marc:datafield[@tag='503']">
1729 <z:index name="Title:w Title:p">
1730 <xslo:variable name="raw_heading">
1731 <xslo:for-each select="marc:subfield">
1732 <xslo:if test="position() > 1">
1733 <xslo:value-of select="substring(' ', 1, 1)"/>
1735 <xslo:value-of select="."/>
1738 <xslo:value-of select="normalize-space($raw_heading)"/>
1741 <xslo:template mode="index_data_field" match="marc:datafield[@tag='510']">
1742 <z:index name="Title:w Title:p">
1743 <xslo:variable name="raw_heading">
1744 <xslo:for-each select="marc:subfield">
1745 <xslo:if test="position() > 1">
1746 <xslo:value-of select="substring(' ', 1, 1)"/>
1748 <xslo:value-of select="."/>
1751 <xslo:value-of select="normalize-space($raw_heading)"/>
1754 <xslo:template mode="index_data_field" match="marc:datafield[@tag='512']">
1755 <z:index name="Title:w Title:p">
1756 <xslo:variable name="raw_heading">
1757 <xslo:for-each select="marc:subfield">
1758 <xslo:if test="position() > 1">
1759 <xslo:value-of select="substring(' ', 1, 1)"/>
1761 <xslo:value-of select="."/>
1764 <xslo:value-of select="normalize-space($raw_heading)"/>
1767 <xslo:template mode="index_data_field" match="marc:datafield[@tag='513']">
1768 <z:index name="Title:w Title:p">
1769 <xslo:variable name="raw_heading">
1770 <xslo:for-each select="marc:subfield">
1771 <xslo:if test="position() > 1">
1772 <xslo:value-of select="substring(' ', 1, 1)"/>
1774 <xslo:value-of select="."/>
1777 <xslo:value-of select="normalize-space($raw_heading)"/>
1780 <xslo:template mode="index_data_field" match="marc:datafield[@tag='514']">
1781 <z:index name="Title:w Title:p">
1782 <xslo:variable name="raw_heading">
1783 <xslo:for-each select="marc:subfield">
1784 <xslo:if test="position() > 1">
1785 <xslo:value-of select="substring(' ', 1, 1)"/>
1787 <xslo:value-of select="."/>
1790 <xslo:value-of select="normalize-space($raw_heading)"/>
1793 <xslo:template mode="index_data_field" match="marc:datafield[@tag='515']">
1794 <z:index name="Title:w Title:p">
1795 <xslo:variable name="raw_heading">
1796 <xslo:for-each select="marc:subfield">
1797 <xslo:if test="position() > 1">
1798 <xslo:value-of select="substring(' ', 1, 1)"/>
1800 <xslo:value-of select="."/>
1803 <xslo:value-of select="normalize-space($raw_heading)"/>
1806 <xslo:template mode="index_data_field" match="marc:datafield[@tag='516']">
1807 <z:index name="Title:w Title:p">
1808 <xslo:variable name="raw_heading">
1809 <xslo:for-each select="marc:subfield">
1810 <xslo:if test="position() > 1">
1811 <xslo:value-of select="substring(' ', 1, 1)"/>
1813 <xslo:value-of select="."/>
1816 <xslo:value-of select="normalize-space($raw_heading)"/>
1819 <xslo:template mode="index_data_field" match="marc:datafield[@tag='517']">
1820 <z:index name="Title:w Title:p">
1821 <xslo:variable name="raw_heading">
1822 <xslo:for-each select="marc:subfield">
1823 <xslo:if test="position() > 1">
1824 <xslo:value-of select="substring(' ', 1, 1)"/>
1826 <xslo:value-of select="."/>
1829 <xslo:value-of select="normalize-space($raw_heading)"/>
1832 <xslo:template mode="index_data_field" match="marc:datafield[@tag='518']">
1833 <z:index name="Title:w Title:p">
1834 <xslo:variable name="raw_heading">
1835 <xslo:for-each select="marc:subfield">
1836 <xslo:if test="position() > 1">
1837 <xslo:value-of select="substring(' ', 1, 1)"/>
1839 <xslo:value-of select="."/>
1842 <xslo:value-of select="normalize-space($raw_heading)"/>
1845 <xslo:template mode="index_data_field" match="marc:datafield[@tag='519']">
1846 <z:index name="Title:w Title:p">
1847 <xslo:variable name="raw_heading">
1848 <xslo:for-each select="marc:subfield">
1849 <xslo:if test="position() > 1">
1850 <xslo:value-of select="substring(' ', 1, 1)"/>
1852 <xslo:value-of select="."/>
1855 <xslo:value-of select="normalize-space($raw_heading)"/>
1858 <xslo:template mode="index_data_field" match="marc:datafield[@tag='520']">
1859 <z:index name="Title:w Title:p">
1860 <xslo:variable name="raw_heading">
1861 <xslo:for-each select="marc:subfield">
1862 <xslo:if test="position() > 1">
1863 <xslo:value-of select="substring(' ', 1, 1)"/>
1865 <xslo:value-of select="."/>
1868 <xslo:value-of select="normalize-space($raw_heading)"/>
1871 <xslo:template mode="index_data_field" match="marc:datafield[@tag='530']">
1872 <z:index name="Title:w Title:p">
1873 <xslo:variable name="raw_heading">
1874 <xslo:for-each select="marc:subfield">
1875 <xslo:if test="position() > 1">
1876 <xslo:value-of select="substring(' ', 1, 1)"/>
1878 <xslo:value-of select="."/>
1881 <xslo:value-of select="normalize-space($raw_heading)"/>
1884 <xslo:template mode="index_data_field" match="marc:datafield[@tag='531']">
1885 <z:index name="Title:w Title:p">
1886 <xslo:variable name="raw_heading">
1887 <xslo:for-each select="marc:subfield">
1888 <xslo:if test="position() > 1">
1889 <xslo:value-of select="substring(' ', 1, 1)"/>
1891 <xslo:value-of select="."/>
1894 <xslo:value-of select="normalize-space($raw_heading)"/>
1897 <xslo:template mode="index_data_field" match="marc:datafield[@tag='532']">
1898 <z:index name="Title:w Title:p">
1899 <xslo:variable name="raw_heading">
1900 <xslo:for-each select="marc:subfield">
1901 <xslo:if test="position() > 1">
1902 <xslo:value-of select="substring(' ', 1, 1)"/>
1904 <xslo:value-of select="."/>
1907 <xslo:value-of select="normalize-space($raw_heading)"/>
1910 <xslo:template mode="index_data_field" match="marc:datafield[@tag='540']">
1911 <z:index name="Title:w Title:p">
1912 <xslo:variable name="raw_heading">
1913 <xslo:for-each select="marc:subfield">
1914 <xslo:if test="position() > 1">
1915 <xslo:value-of select="substring(' ', 1, 1)"/>
1917 <xslo:value-of select="."/>
1920 <xslo:value-of select="normalize-space($raw_heading)"/>
1923 <xslo:template mode="index_data_field" match="marc:datafield[@tag='541']">
1924 <z:index name="Title:w Title:p">
1925 <xslo:variable name="raw_heading">
1926 <xslo:for-each select="marc:subfield">
1927 <xslo:if test="position() > 1">
1928 <xslo:value-of select="substring(' ', 1, 1)"/>
1930 <xslo:value-of select="."/>
1933 <xslo:value-of select="normalize-space($raw_heading)"/>
1936 <xslo:template mode="index_data_field" match="marc:datafield[@tag='545']">
1937 <z:index name="Title:w Title:p">
1938 <xslo:variable name="raw_heading">
1939 <xslo:for-each select="marc:subfield">
1940 <xslo:if test="position() > 1">
1941 <xslo:value-of select="substring(' ', 1, 1)"/>
1943 <xslo:value-of select="."/>
1946 <xslo:value-of select="normalize-space($raw_heading)"/>
1949 <xslo:template mode="index_data_field" match="marc:datafield[@tag='600']">
1950 <z:index name="Subject:w Subject:p">
1951 <xslo:variable name="raw_heading">
1952 <xslo:for-each select="marc:subfield">
1953 <xslo:if test="position() > 1">
1954 <xslo:value-of select="substring(' ', 1, 1)"/>
1956 <xslo:value-of select="."/>
1959 <xslo:value-of select="normalize-space($raw_heading)"/>
1962 <xslo:template mode="index_data_field" match="marc:datafield[@tag='601']">
1963 <z:index name="Subject:w Subject:p">
1964 <xslo:variable name="raw_heading">
1965 <xslo:for-each select="marc:subfield">
1966 <xslo:if test="position() > 1">
1967 <xslo:value-of select="substring(' ', 1, 1)"/>
1969 <xslo:value-of select="."/>
1972 <xslo:value-of select="normalize-space($raw_heading)"/>
1975 <xslo:template mode="index_data_field" match="marc:datafield[@tag='602']">
1976 <z:index name="Subject:w Subject:p">
1977 <xslo:variable name="raw_heading">
1978 <xslo:for-each select="marc:subfield">
1979 <xslo:if test="position() > 1">
1980 <xslo:value-of select="substring(' ', 1, 1)"/>
1982 <xslo:value-of select="."/>
1985 <xslo:value-of select="normalize-space($raw_heading)"/>
1988 <xslo:template mode="index_data_field" match="marc:datafield[@tag='604']">
1989 <z:index name="Subject:w Subject:p">
1990 <xslo:variable name="raw_heading">
1991 <xslo:for-each select="marc:subfield">
1992 <xslo:if test="position() > 1">
1993 <xslo:value-of select="substring(' ', 1, 1)"/>
1995 <xslo:value-of select="."/>
1998 <xslo:value-of select="normalize-space($raw_heading)"/>
2001 <xslo:template mode="index_data_field" match="marc:datafield[@tag='605']">
2002 <z:index name="Subject:w Subject:p">
2003 <xslo:variable name="raw_heading">
2004 <xslo:for-each select="marc:subfield">
2005 <xslo:if test="position() > 1">
2006 <xslo:value-of select="substring(' ', 1, 1)"/>
2008 <xslo:value-of select="."/>
2011 <xslo:value-of select="normalize-space($raw_heading)"/>
2014 <xslo:template mode="index_data_field" match="marc:datafield[@tag='606']">
2015 <z:index name="Subject:w Subject:p">
2016 <xslo:variable name="raw_heading">
2017 <xslo:for-each select="marc:subfield">
2018 <xslo:if test="position() > 1">
2019 <xslo:value-of select="substring(' ', 1, 1)"/>
2021 <xslo:value-of select="."/>
2024 <xslo:value-of select="normalize-space($raw_heading)"/>
2027 <xslo:template mode="index_data_field" match="marc:datafield[@tag='607']">
2028 <z:index name="Subject:w Subject:p">
2029 <xslo:variable name="raw_heading">
2030 <xslo:for-each select="marc:subfield">
2031 <xslo:if test="position() > 1">
2032 <xslo:value-of select="substring(' ', 1, 1)"/>
2034 <xslo:value-of select="."/>
2037 <xslo:value-of select="normalize-space($raw_heading)"/>
2040 <xslo:template mode="index_data_field" match="marc:datafield[@tag='630']">
2041 <z:index name="Subject:w Subject:p">
2042 <xslo:variable name="raw_heading">
2043 <xslo:for-each select="marc:subfield">
2044 <xslo:if test="position() > 1">
2045 <xslo:value-of select="substring(' ', 1, 1)"/>
2047 <xslo:value-of select="."/>
2050 <xslo:value-of select="normalize-space($raw_heading)"/>
2053 <xslo:template mode="index_data_field" match="marc:datafield[@tag='631']">
2054 <z:index name="Subject:w Subject:p">
2055 <xslo:variable name="raw_heading">
2056 <xslo:for-each select="marc:subfield">
2057 <xslo:if test="position() > 1">
2058 <xslo:value-of select="substring(' ', 1, 1)"/>
2060 <xslo:value-of select="."/>
2063 <xslo:value-of select="normalize-space($raw_heading)"/>
2066 <xslo:template mode="index_data_field" match="marc:datafield[@tag='632']">
2067 <z:index name="Subject:w Subject:p">
2068 <xslo:variable name="raw_heading">
2069 <xslo:for-each select="marc:subfield">
2070 <xslo:if test="position() > 1">
2071 <xslo:value-of select="substring(' ', 1, 1)"/>
2073 <xslo:value-of select="."/>
2076 <xslo:value-of select="normalize-space($raw_heading)"/>
2079 <xslo:template mode="index_data_field" match="marc:datafield[@tag='633']">
2080 <z:index name="Subject:w Subject:p">
2081 <xslo:variable name="raw_heading">
2082 <xslo:for-each select="marc:subfield">
2083 <xslo:if test="position() > 1">
2084 <xslo:value-of select="substring(' ', 1, 1)"/>
2086 <xslo:value-of select="."/>
2089 <xslo:value-of select="normalize-space($raw_heading)"/>
2092 <xslo:template mode="index_data_field" match="marc:datafield[@tag='634']">
2093 <z:index name="Subject:w Subject:p">
2094 <xslo:variable name="raw_heading">
2095 <xslo:for-each select="marc:subfield">
2096 <xslo:if test="position() > 1">
2097 <xslo:value-of select="substring(' ', 1, 1)"/>
2099 <xslo:value-of select="."/>
2102 <xslo:value-of select="normalize-space($raw_heading)"/>
2105 <xslo:template mode="index_data_field" match="marc:datafield[@tag='635']">
2106 <z:index name="Subject:w Subject:p">
2107 <xslo:variable name="raw_heading">
2108 <xslo:for-each select="marc:subfield">
2109 <xslo:if test="position() > 1">
2110 <xslo:value-of select="substring(' ', 1, 1)"/>
2112 <xslo:value-of select="."/>
2115 <xslo:value-of select="normalize-space($raw_heading)"/>
2118 <xslo:template mode="index_data_field" match="marc:datafield[@tag='636']">
2119 <z:index name="Subject:w Subject:p">
2120 <xslo:variable name="raw_heading">
2121 <xslo:for-each select="marc:subfield">
2122 <xslo:if test="position() > 1">
2123 <xslo:value-of select="substring(' ', 1, 1)"/>
2125 <xslo:value-of select="."/>
2128 <xslo:value-of select="normalize-space($raw_heading)"/>
2131 <xslo:template mode="index_data_field" match="marc:datafield[@tag='610']">
2132 <z:index name="Subject:w Subject:p">
2133 <xslo:variable name="raw_heading">
2134 <xslo:for-each select="marc:subfield">
2135 <xslo:if test="position() > 1">
2136 <xslo:value-of select="substring(' ', 1, 1)"/>
2138 <xslo:value-of select="."/>
2141 <xslo:value-of select="normalize-space($raw_heading)"/>
2144 <xslo:template mode="index_data_field" match="marc:datafield[@tag='640']">
2145 <z:index name="Subject:w Subject:p">
2146 <xslo:variable name="raw_heading">
2147 <xslo:for-each select="marc:subfield">
2148 <xslo:if test="position() > 1">
2149 <xslo:value-of select="substring(' ', 1, 1)"/>
2151 <xslo:value-of select="."/>
2154 <xslo:value-of select="normalize-space($raw_heading)"/>
2157 <xslo:template mode="index_data_field" match="marc:datafield[@tag='641']">
2158 <z:index name="Subject:w Subject:p">
2159 <xslo:variable name="raw_heading">
2160 <xslo:for-each select="marc:subfield">
2161 <xslo:if test="position() > 1">
2162 <xslo:value-of select="substring(' ', 1, 1)"/>
2164 <xslo:value-of select="."/>
2167 <xslo:value-of select="normalize-space($raw_heading)"/>
2170 <xslo:template mode="index_data_field" match="marc:datafield[@tag='642']">
2171 <z:index name="Subject:w Subject:p">
2172 <xslo:variable name="raw_heading">
2173 <xslo:for-each select="marc:subfield">
2174 <xslo:if test="position() > 1">
2175 <xslo:value-of select="substring(' ', 1, 1)"/>
2177 <xslo:value-of select="."/>
2180 <xslo:value-of select="normalize-space($raw_heading)"/>
2183 <xslo:template mode="index_data_field" match="marc:datafield[@tag='643']">
2184 <z:index name="Subject:w Subject:p">
2185 <xslo:variable name="raw_heading">
2186 <xslo:for-each select="marc:subfield">
2187 <xslo:if test="position() > 1">
2188 <xslo:value-of select="substring(' ', 1, 1)"/>
2190 <xslo:value-of select="."/>
2193 <xslo:value-of select="normalize-space($raw_heading)"/>
2196 <xslo:template mode="index_data_field" match="marc:datafield[@tag='644']">
2197 <z:index name="Subject:w Subject:p">
2198 <xslo:variable name="raw_heading">
2199 <xslo:for-each select="marc:subfield">
2200 <xslo:if test="position() > 1">
2201 <xslo:value-of select="substring(' ', 1, 1)"/>
2203 <xslo:value-of select="."/>
2206 <xslo:value-of select="normalize-space($raw_heading)"/>
2209 <xslo:template mode="index_data_field" match="marc:datafield[@tag='645']">
2210 <z:index name="Subject:w Subject:p">
2211 <xslo:variable name="raw_heading">
2212 <xslo:for-each select="marc:subfield">
2213 <xslo:if test="position() > 1">
2214 <xslo:value-of select="substring(' ', 1, 1)"/>
2216 <xslo:value-of select="."/>
2219 <xslo:value-of select="normalize-space($raw_heading)"/>
2222 <xslo:template mode="index_data_field" match="marc:datafield[@tag='646']">
2223 <z:index name="Subject:w Subject:p">
2224 <xslo:variable name="raw_heading">
2225 <xslo:for-each select="marc:subfield">
2226 <xslo:if test="position() > 1">
2227 <xslo:value-of select="substring(' ', 1, 1)"/>
2229 <xslo:value-of select="."/>
2232 <xslo:value-of select="normalize-space($raw_heading)"/>
2235 <xslo:template mode="index_data_field" match="marc:datafield[@tag='995']">
2236 <z:index name="item # just to index every subfield:w">
2237 <xslo:variable name="raw_heading">
2238 <xslo:for-each select="marc:subfield">
2239 <xslo:if test="position() > 1">
2240 <xslo:value-of select="substring(' ', 1, 1)"/>
2242 <xslo:value-of select="."/>
2245 <xslo:value-of select="normalize-space($raw_heading)"/>
2248 <xslo:template match="*">
2249 <z:index name="Any:w Any:p">
2250 <xslo:value-of select="."/>
2253 <xslo:template name="chopPunctuation">
2254 <xslo:param name="chopString"/>
2255 <xslo:variable name="length" select="string-length($chopString)"/>
2257 <xslo:when test="$length=0"/>
2258 <xslo:when test="contains('-,.:=;!%/', substring($chopString,$length,1))">
2259 <xslo:call-template name="chopPunctuation">
2260 <xslo:with-param name="chopString" select="substring($chopString,1,$length - 1)"/>
2261 </xslo:call-template>
2263 <xslo:when test="not($chopString)"/>
2265 <xslo:value-of select="$chopString"/>