Bug 7818 Add UNIMARC biblio records zebra DOM def files
authorFrédéric Demians <f.demians@tamil.fr>
Fri, 6 Apr 2012 17:39:03 +0000 (19:39 +0200)
committerPaul Poulain <paul.poulain@biblibre.com>
Sat, 9 Jun 2012 09:44:16 +0000 (11:44 +0200)
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
I tested two UNIMARC Koha installations using the sample UNIMARC
data from the BibLibre sandbox, comparing the results with DOM
and with GRS-1 indexing. The results are very similar, though there
are some differences. Most noticeable:
* relevance and facets seem to be more accurate with DOM enabled
* the GRS-1 configuration returns approximately 10% more results with
  random single keywords like "petit," but the DOM results contain
  the most relevant items, and any lacks in the configuration can
  easily be corrected as UNIMARC users identify fields that should be
  indexed but aren't
* authority-controlled searches match exactly
* author and topic facets do not work with the out-of-the-box GRS-1
  indexing configuration (?!?)
(adding second sign-off line below because all that probably looks like
a commit message and not a sign off)

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>

etc/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml [new file with mode: 0644]
etc/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl [new file with mode: 0644]

diff --git a/etc/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml b/etc/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml
new file mode 100644 (file)
index 0000000..16f434f
--- /dev/null
@@ -0,0 +1,1252 @@
+<?xml version="1.0" encoding="utf-8"?>
+<kohaidx:index_defs xmlns:kohaidx="http://www.koha-community.org/schemas/index-defs">
+  <!--record.abs line 24: melm 001        Local-number,Local-number:n-->
+  <index_control_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="001">
+    <target_index>Local-number:w</target_index>
+  </index_control_field>
+  <index_control_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="001">
+    <target_index>Local-number:n</target_index>
+  </index_control_field>
+  <!--record.abs line 26: melm 009      Identifier-standard:w,Identifier-standard:n-->
+  <index_control_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="009">
+    <target_index>Identifier-standard:w</target_index>
+  </index_control_field>
+  <index_control_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="009">
+    <target_index>Identifier-standard:n</target_index>
+  </index_control_field>
+  <!--record.abs line 27: melm 090$9      Local-number,Local-number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="090" subfields="9">
+    <target_index>Local-number:w</target_index>
+    <target_index>Local-number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 28: melm 099$c      date-entered-on-file:s,date-entered-on-file:n,date-entered-on-file:y,Date-of-acquisition,Date-of-acquisition:d,Date-of-acquisition:s-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="099" subfields="c">
+    <target_index>date-entered-on-file:s</target_index>
+    <target_index>date-entered-on-file:n</target_index>
+    <target_index>date-entered-on-file:y</target_index>
+    <target_index>Date-of-acquisition:w</target_index>
+    <target_index>Date-of-acquisition:d</target_index>
+    <target_index>Date-of-acquisition:s</target_index>
+  </index_subfields>
+  <!--record.abs line 29: melm 099$d      Date/time-last-modified:s,Date/time-last-modified:n,Date/time-last-modified:y-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="099" subfields="d">
+    <target_index>Date/time-last-modified:s</target_index>
+    <target_index>Date/time-last-modified:n</target_index>
+    <target_index>Date/time-last-modified:y</target_index>
+  </index_subfields>
+  <!--record.abs line 30: melm 099$t      ccode:w-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="099" subfields="t">
+    <target_index>ccode:w</target_index>
+  </index_subfields>
+  <!--record.abs line 33: melm 010$a    ISBN:w-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="010" subfields="a">
+    <target_index>ISBN:w</target_index>
+  </index_subfields>
+  <!--record.abs line 35: melm 010$z    ISBN:w,Identifier-standard:w-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="010" subfields="z">
+    <target_index>ISBN:w</target_index>
+    <target_index>Identifier-standard:w</target_index>
+  </index_subfields>
+  <!--record.abs line 36: melm 011$a    ISSN:w,Identifier-standard:w-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="011" subfields="a">
+    <target_index>ISSN:w</target_index>
+    <target_index>Identifier-standard:w</target_index>
+  </index_subfields>
+  <!--record.abs line 38: melm 011$y    ISSN:w,Identifier-standard:w-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="011" subfields="y">
+    <target_index>ISSN:w</target_index>
+    <target_index>Identifier-standard:w</target_index>
+  </index_subfields>
+  <!--record.abs line 40: melm 011$z    ISSN:w,Identifier-standard:w-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="011" subfields="z">
+    <target_index>ISSN:w</target_index>
+    <target_index>Identifier-standard:w</target_index>
+  </index_subfields>
+  <!--record.abs line 42: melm 200$b      itemtype:w,itemtype:p,itype:w,itype:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="200" subfields="b">
+    <target_index>itemtype:w</target_index>
+    <target_index>itemtype:p</target_index>
+    <target_index>itype:w</target_index>
+    <target_index>itype:p</target_index>
+  </index_subfields>
+  <!--record.abs line 43: melm 995$r      itemtype:w,itemtype:p,itype:w,itype:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="995" subfields="r">
+    <target_index>itemtype:w</target_index>
+    <target_index>itemtype:p</target_index>
+    <target_index>itype:w</target_index>
+    <target_index>itype:p</target_index>
+  </index_subfields>
+  <!--record.abs line 44: melm 071$a       Music-number:w,Identifier-standard:w-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="071" subfields="a">
+    <target_index>Music-number:w</target_index>
+    <target_index>Identifier-standard:w</target_index>
+  </index_subfields>
+  <!--record.abs line 45: melm 072$a   UPC:w,Identifier-standard:w-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="072" subfields="a">
+    <target_index>UPC:w</target_index>
+    <target_index>Identifier-standard:w</target_index>
+  </index_subfields>
+  <!--record.abs line 46: melm 073$a       EAN:w,Identifier-standard:w-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="073" subfields="a">
+    <target_index>EAN:w</target_index>
+    <target_index>Identifier-standard:w</target_index>
+  </index_subfields>
+  <!--record.abs line 48: melm 100$a      tpubdate:s:range(data,8,1),ta:w:range(data,17,1),ta:w:range(data,18,1),ta:w:range(data,19,1),Modified-code:n:range(data,21,1),ln:s:range(data,22,3),char-encoding:n:range(data,26,2),char-encoding:n:range(data,28,2),char-encoding:n:range(data,30,2),script-Title:n:range(data,34,2)-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="100" subfields="a">
+    <target_index>tpubdate:s</target_index>
+    <target_index>ta:w</target_index>
+    <target_index>ta:w</target_index>
+    <target_index>ta:w</target_index>
+    <target_index>Modified-code:n</target_index>
+    <target_index>ln:s</target_index>
+    <target_index>char-encoding:n</target_index>
+    <target_index>char-encoding:n</target_index>
+    <target_index>char-encoding:n</target_index>
+    <target_index>script-Title:n</target_index>
+  </index_subfields>
+  <!--record.abs line 49: melm 101$a     ln-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="101" subfields="a">
+    <target_index>ln:w</target_index>
+  </index_subfields>
+  <!--record.abs line 50: melm 102$a     Country-heading-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="102" subfields="a">
+    <target_index>Country-heading:w</target_index>
+  </index_subfields>
+  <!--record.abs line 60: melm 105$a     Illustration-code:w:range(data,0,4),Content-type:w:range(data,4,1),Content-type:w:range(data,5,1),Content-type:w:range(data,6,1),Content-type:w:range(data,7,1),Conference-code:w:range(data,8,1),Festschrift-indicator:w:range(data,9,1),Index-indicator:w:range(data,10,1),Literature-Code:w:range(data,11,1),Biography-Code:w:range(data,12,1)-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="105" subfields="a">
+    <target_index>Illustration-code:w</target_index>
+    <target_index>Content-type:w</target_index>
+    <target_index>Content-type:w</target_index>
+    <target_index>Content-type:w</target_index>
+    <target_index>Content-type:w</target_index>
+    <target_index>Conference-code:w</target_index>
+    <target_index>Festschrift-indicator:w</target_index>
+    <target_index>Index-indicator:w</target_index>
+    <target_index>Literature-Code:w</target_index>
+    <target_index>Biography-Code:w</target_index>
+  </index_subfields>
+  <!--record.abs line 62: melm 106$a     itype:w,itype:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="106" subfields="a">
+    <target_index>itype:w</target_index>
+    <target_index>itype:p</target_index>
+  </index_subfields>
+  <!--record.abs line 75: melm 110$a     Type-Of-Serial:w:range(data,0,1),Frequency-code:w:range(data,1,1),Regularity-code:w:range(data,2,1),Content-type:w:range(data,3,1),Content-type:w:range(data,4,3),Conference-publication-Code:w:range(data,7,1),Title-Page-availability-Code:w:range(data,8,1),Index-availability-Code:w:range(data,9,1),Cumulative-Index-availability-Code:w:range(data,10,1)-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="110" subfields="a">
+    <target_index>Type-Of-Serial:w</target_index>
+    <target_index>Frequency-code:w</target_index>
+    <target_index>Regularity-code:w</target_index>
+    <target_index>Content-type:w</target_index>
+    <target_index>Content-type:w</target_index>
+    <target_index>Conference-publication-Code:w</target_index>
+    <target_index>Title-Page-availability-Code:w</target_index>
+    <target_index>Index-availability-Code:w</target_index>
+    <target_index>Cumulative-Index-availability-Code:w</target_index>
+  </index_subfields>
+  <!--record.abs line 77: melm 115$a     Video-mt:w:range(data,0,1)-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="115" subfields="a">
+    <target_index>Video-mt:w</target_index>
+  </index_subfields>
+  <!--record.abs line 79: melm 116$a     Graphics-type:w:range(data,0,1),Graphics-support:w:range(data,1,1),Graphics-support:w:range(data,2,1),-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="116" subfields="a">
+    <target_index>Graphics-type:w</target_index>
+    <target_index>Graphics-support:w</target_index>
+    <target_index>Graphics-support:w</target_index>
+  </index_subfields>
+  <!--record.abs line 82: melm 680$b           LC-call-number:s-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="680" subfields="b">
+    <target_index>LC-call-number:s</target_index>
+  </index_subfields>
+  <!--record.abs line 83: melm 680             LC-call-number-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="680">
+    <target_index>LC-call-number:w</target_index>
+  </index_data_field>
+  <!--record.abs line 86: melm 200$b      itype:w,itype:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="200" subfields="b">
+    <target_index>itype:w</target_index>
+    <target_index>itype:p</target_index>
+  </index_subfields>
+  <!--record.abs line 92: melm 200$f           Author:w,Author:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="200" subfields="f">
+    <target_index>Author:w</target_index>
+    <target_index>Author:p</target_index>
+  </index_subfields>
+  <!--record.abs line 94: melm 200$g           Author:w,Author:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="200" subfields="g">
+    <target_index>Author:w</target_index>
+    <target_index>Author:p</target_index>
+  </index_subfields>
+  <!--record.abs line 96: melm 700$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="700" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 97: melm 700$a      Author,Personal-name,Author:p,Personal-name:p,Personal-name,Author:s-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="700" subfields="a">
+    <target_index>Author:w</target_index>
+    <target_index>Personal-name:w</target_index>
+    <target_index>Author:p</target_index>
+    <target_index>Personal-name:p</target_index>
+    <target_index>Personal-name:w</target_index>
+    <target_index>Author:s</target_index>
+  </index_subfields>
+  <!--record.abs line 98: melm 700        Author,Personal-name,Author:p,Personal-name:p,Personal-name:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="700">
+    <target_index>Author:w</target_index>
+    <target_index>Personal-name:w</target_index>
+    <target_index>Author:p</target_index>
+    <target_index>Personal-name:p</target_index>
+    <target_index>Personal-name:p</target_index>
+  </index_data_field>
+  <!--record.abs line 99: melm 701$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="701" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 100: melm 701        Author,Personal-name,Author:p,Personal-name:p,Personal-name:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="701">
+    <target_index>Author:w</target_index>
+    <target_index>Personal-name:w</target_index>
+    <target_index>Author:p</target_index>
+    <target_index>Personal-name:p</target_index>
+    <target_index>Personal-name:p</target_index>
+  </index_data_field>
+  <!--record.abs line 101: melm 702$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="702" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 102: melm 702        Author,Personal-name,Author:p,Personal-name:p,Personal-name:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="702">
+    <target_index>Author:w</target_index>
+    <target_index>Personal-name:w</target_index>
+    <target_index>Author:p</target_index>
+    <target_index>Personal-name:p</target_index>
+    <target_index>Personal-name:p</target_index>
+  </index_data_field>
+  <!--record.abs line 105: melm 710$9        Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="710" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 106: melm 710    Author,Author-name-corporate,Author-name-conference,Corporate-name,Conference-name,Author:p,Author-name-corporate:p,Author-name-conference:p,Corporate-name:p,Conference-name:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="710">
+    <target_index>Author:w</target_index>
+    <target_index>Author-name-corporate:w</target_index>
+    <target_index>Author-name-conference:w</target_index>
+    <target_index>Corporate-name:w</target_index>
+    <target_index>Conference-name:w</target_index>
+    <target_index>Author:p</target_index>
+    <target_index>Author-name-corporate:p</target_index>
+    <target_index>Author-name-conference:p</target_index>
+    <target_index>Corporate-name:p</target_index>
+    <target_index>Conference-name:p</target_index>
+  </index_data_field>
+  <!--record.abs line 107: melm 711$9        Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="711" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 108: melm 711    Author,Author-name-corporate,Author-name-conference,Corporate-name,Conference-name,Author:p,Author-name-corporate:p,Author-name-conference:p,Corporate-name:p,Conference-name:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="711">
+    <target_index>Author:w</target_index>
+    <target_index>Author-name-corporate:w</target_index>
+    <target_index>Author-name-conference:w</target_index>
+    <target_index>Corporate-name:w</target_index>
+    <target_index>Conference-name:w</target_index>
+    <target_index>Author:p</target_index>
+    <target_index>Author-name-corporate:p</target_index>
+    <target_index>Author-name-conference:p</target_index>
+    <target_index>Corporate-name:p</target_index>
+    <target_index>Conference-name:p</target_index>
+  </index_data_field>
+  <!--record.abs line 110: melm 712$9        Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="712" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 111: melm 712    Author,Author-name-corporate,Author-name-conference,Corporate-name,Conference-name,Author:p,Author-name-corporate:p,Author-name-conference:p,Corporate-name:p,Conference-name:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="712">
+    <target_index>Author:w</target_index>
+    <target_index>Author-name-corporate:w</target_index>
+    <target_index>Author-name-conference:w</target_index>
+    <target_index>Corporate-name:w</target_index>
+    <target_index>Conference-name:w</target_index>
+    <target_index>Author:p</target_index>
+    <target_index>Author-name-corporate:p</target_index>
+    <target_index>Author-name-conference:p</target_index>
+    <target_index>Corporate-name:p</target_index>
+    <target_index>Conference-name:p</target_index>
+  </index_data_field>
+  <!--record.abs line 115: melm 200$a          Title:w,Title:p,Title:s,Title-cover:w,Title-cover:p,Title-cover:s-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="200" subfields="a">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+    <target_index>Title:s</target_index>
+    <target_index>Title-cover:w</target_index>
+    <target_index>Title-cover:p</target_index>
+    <target_index>Title-cover:s</target_index>
+  </index_subfields>
+  <!--record.abs line 117: melm 200$c          Title:w,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="200" subfields="c">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 119: melm 200$d          Title:w,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="200" subfields="d">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 121: melm 200$e          Title:w,Title:p,Title-cover:w,Title-cover:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="200" subfields="e">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+    <target_index>Title-cover:w</target_index>
+    <target_index>Title-cover:p</target_index>
+  </index_subfields>
+  <!--record.abs line 123: melm 200$i          title:w,title:p,Title-cover:w,Title-cover:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="200" subfields="i">
+    <target_index>title:w</target_index>
+    <target_index>title:p</target_index>
+    <target_index>Title-cover:w</target_index>
+    <target_index>Title-cover:p</target_index>
+  </index_subfields>
+  <!--record.abs line 125: melm 205        Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="205">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 127: melm 208    Serials,Serials:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="208">
+    <target_index>Serials:w</target_index>
+    <target_index>Serials:p</target_index>
+  </index_data_field>
+  <!--record.abs line 128: melm 207    Printed-music,Printed-music:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="207">
+    <target_index>Printed-music:w</target_index>
+    <target_index>Printed-music:p</target_index>
+  </index_data_field>
+  <!--record.abs line 132: melm 210$a    pl,pl:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="210" subfields="a">
+    <target_index>pl:w</target_index>
+    <target_index>pl:p</target_index>
+  </index_subfields>
+  <!--record.abs line 133: melm 210$c    Publisher,Publisher:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="210" subfields="c">
+    <target_index>Publisher:w</target_index>
+    <target_index>Publisher:p</target_index>
+  </index_subfields>
+  <!--record.abs line 134: melm 210$d    pubdate:n,pubdate:y,pubdate:s-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="210" subfields="d">
+    <target_index>pubdate:n</target_index>
+    <target_index>pubdate:y</target_index>
+    <target_index>pubdate:s</target_index>
+  </index_subfields>
+  <!--record.abs line 136: melm 215        Extent-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="215">
+    <target_index>Extent:w</target_index>
+  </index_data_field>
+  <!--record.abs line 139: melm 225$a      Title-series,Title-series:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="225" subfields="a">
+    <target_index>Title-series:w</target_index>
+    <target_index>Title-series:p</target_index>
+  </index_subfields>
+  <!--record.abs line 140: melm 225$d      Title-series,Title-series:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="225" subfields="d">
+    <target_index>Title-series:w</target_index>
+    <target_index>Title-series:p</target_index>
+  </index_subfields>
+  <!--record.abs line 142: melm 225$e      Title-series,Title-series:p -->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="225" subfields="e">
+    <target_index>Title-series:w</target_index>
+    <target_index>Title-series:p </target_index>
+  </index_subfields>
+  <!--record.abs line 144: melm 225$f      Author,Author:p,Name-and-title,Name-and-title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="225" subfields="f">
+    <target_index>Author:w</target_index>
+    <target_index>Author:p</target_index>
+    <target_index>Name-and-title:w</target_index>
+    <target_index>Name-and-title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 146: melm 225$h      Title-series,Title-series:p -->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="225" subfields="h">
+    <target_index>Title-series:w</target_index>
+    <target_index>Title-series:p </target_index>
+  </index_subfields>
+  <!--record.abs line 148: melm 225$i      Title-series,Title-series:p -->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="225" subfields="i">
+    <target_index>Title-series:w</target_index>
+    <target_index>Title-series:p </target_index>
+  </index_subfields>
+  <!--record.abs line 150: melm 225$v      Title-series,Title-series:p -->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="225" subfields="v">
+    <target_index>Title-series:w</target_index>
+    <target_index>Title-series:p </target_index>
+  </index_subfields>
+  <!--record.abs line 151: melm 225$x      ISSN-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="225" subfields="x">
+    <target_index>ISSN:w</target_index>
+  </index_subfields>
+  <!--record.abs line 153: melm 230$a      Electronic-ressource-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="230" subfields="a">
+    <target_index>Electronic-ressource:w</target_index>
+  </index_subfields>
+  <!--record.abs line 156: melm 300$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="300" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 157: melm 301$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="301" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 158: melm 302$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="302" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 159: melm 303$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="303" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 160: melm 304$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="304" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 161: melm 305$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="305" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 162: melm 306$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="306" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 163: melm 307$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="307" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 164: melm 308      Note,Note:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="308">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_data_field>
+  <!--record.abs line 165: melm 308$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="308" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 166: melm 310$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="310" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 167: melm 311$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="311" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 168: melm 312$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="312" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 169: melm 313$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="313" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 170: melm 314$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="314" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 171: melm 315$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="315" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 172: melm 316$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="316" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 173: melm 317$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="317" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 174: melm 318$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="318" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 175: melm 320$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="320" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 176: melm 321$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="321" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 177: melm 322$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="322" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 178: melm 323$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="323" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 179: melm 324$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="324" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 180: melm 325$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="325" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 181: melm 326$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="326" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 182: melm 327$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="327" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 183: melm 328      Note,Note:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="328">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_data_field>
+  <!--record.abs line 184: melm 328$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="328" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 185: melm 330$a    Abstract,Note:w,Abstract:p,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="330" subfields="a">
+    <target_index>Abstract:w</target_index>
+    <target_index>Note:w</target_index>
+    <target_index>Abstract:p</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 186: melm 332$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="332" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 187: melm 333$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="333" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 188: melm 336$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="336" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 189: melm 337$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="337" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 190: melm 345$a    Note,Note:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="345" subfields="a">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+  </index_subfields>
+  <!--record.abs line 195: melm 400$t    Title,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="400" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 196: melm 401$t    Title,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="401" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 197: melm 403$t    Title,Title:p,Title-Uniform,Title-Uniform:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="403" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+    <target_index>Title-Uniform:w</target_index>
+    <target_index>Title-Uniform:p</target_index>
+  </index_subfields>
+  <!--record.abs line 198: melm 410$t    Title-series,Title-series:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="410" subfields="t">
+    <target_index>Title-series:w</target_index>
+    <target_index>Title-series:p</target_index>
+  </index_subfields>
+  <!--record.abs line 199: melm 412$t    Title,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="412" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 200: melm 413$t    Title,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="413" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 201: melm 414$t    Title,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="414" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 202: melm 415$t    Title,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="415" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 203: melm 416$t    Title,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="416" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 204: melm 417$t    Title,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="417" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 205: melm 418$t    Title,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="418" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 206: melm 419$t    Title,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="419" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 207: melm 420$t    Title,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="420" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 208: melm 430$t    Title,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="430" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 209: melm 431$t    Title,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="431" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 210: melm 432$t    Title,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="432" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 211: melm 440$t    Title,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="440" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 212: melm 441$t    Title,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="441" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 213: melm 445$t    Title,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="445" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 214: melm 461$t    Title,Title-host:w,title-host:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="461" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title-host:w</target_index>
+    <target_index>title-host:p</target_index>
+  </index_subfields>
+  <!--record.abs line 215: melm 464$t    Title,Title-host:w,title-host:p,Title:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="464" subfields="t">
+    <target_index>Title:w</target_index>
+    <target_index>Title-host:w</target_index>
+    <target_index>title-host:p</target_index>
+    <target_index>Title:p</target_index>
+  </index_subfields>
+  <!--record.abs line 217: melm 400$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="400" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 218: melm 401$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="401" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 219: melm 403$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="403" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 220: melm 410$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="410" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 221: melm 412$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="412" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 222: melm 413$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="413" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 223: melm 414$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="414" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 224: melm 415$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="415" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 225: melm 416$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="416" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 226: melm 417$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="417" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 227: melm 418$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="418" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 228: melm 419$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="419" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 229: melm 420$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="420" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 230: melm 430$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="430" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 231: melm 431$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="431" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 232: melm 432$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="432" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 233: melm 440$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="440" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 234: melm 441$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="441" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 235: melm 445$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="445" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 236: melm 461$d    pubdate:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="461" subfields="d">
+    <target_index>pubdate:n</target_index>
+  </index_subfields>
+  <!--record.abs line 239: melm 461$9    Host-Item-Number-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="461" subfields="9">
+    <target_index>Host-Item-Number:w</target_index>
+  </index_subfields>
+  <!--record.abs line 242: melm 500$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="500" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 243: melm 501$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="501" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 244: melm 503$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="503" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 245: melm 510$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="510" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 246: melm 512$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="512" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 247: melm 513$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="513" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 248: melm 514$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="514" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 249: melm 515$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="515" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 250: melm 516$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="516" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 251: melm 517$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="517" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 252: melm 518$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="518" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 253: melm 519$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="519" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 254: melm 520$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="520" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 255: melm 530$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="530" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 256: melm 531$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="531" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 257: melm 532$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="532" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 258: melm 540$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="540" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 259: melm 541$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="541" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 260: melm 545$9    Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="545" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 262: melm 500            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="500">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 263: melm 501            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="501">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 264: melm 503            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="503">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 265: melm 510            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="510">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 266: melm 512            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="512">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 267: melm 513            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="513">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 268: melm 514            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="514">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 269: melm 515            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="515">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 270: melm 516            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="516">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 271: melm 517            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="517">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 272: melm 518            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="518">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 273: melm 519            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="519">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 274: melm 520            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="520">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 275: melm 530            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="530">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 276: melm 531            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="531">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 277: melm 532            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="532">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 278: melm 540            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="540">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 279: melm 541            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="541">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 280: melm 545            Title,Title:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="545">
+    <target_index>Title:w</target_index>
+    <target_index>Title:p</target_index>
+  </index_data_field>
+  <!--record.abs line 283: melm 600$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="600" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 284: melm 601$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="601" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 285: melm 602$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="602" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 286: melm 603$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="603" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 287: melm 604$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="604" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 288: melm 605$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="605" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 289: melm 606$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="606" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 290: melm 607$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="607" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 291: melm 610$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="610" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 292: melm 630$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="630" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 293: melm 631$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="631" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 294: melm 632$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="632" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 295: melm 633$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="633" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 296: melm 634$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="634" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 297: melm 635$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="635" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 298: melm 636$9      Koha-Auth-Number,Koha-Auth-Number:n-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="636" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
+  </index_subfields>
+  <!--record.abs line 300: melm 600$a          Personal-name,Personal-name:p,Subject,Subject:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="600" subfields="a">
+    <target_index>Personal-name:w</target_index>
+    <target_index>Personal-name:p</target_index>
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_subfields>
+  <!--record.abs line 301: melm 600            Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="600">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 302: melm 601$a          Corporate-name,Conference-name,Corporate-name:p,Conference-name:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="601" subfields="a">
+    <target_index>Corporate-name:w</target_index>
+    <target_index>Conference-name:w</target_index>
+    <target_index>Corporate-name:p</target_index>
+    <target_index>Conference-name:p</target_index>
+  </index_subfields>
+  <!--record.abs line 303: melm 601            Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="601">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 304: melm 602$a    Personal-name,Personal-name:p-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="602" subfields="a">
+    <target_index>Personal-name:w</target_index>
+    <target_index>Personal-name:p</target_index>
+  </index_subfields>
+  <!--record.abs line 305: melm 602    Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="602">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 306: melm 604            Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="604">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 307: melm 605            Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="605">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 308: melm 606            Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="606">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 309: melm 607            Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="607">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 310: melm 630            Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="630">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 311: melm 631            Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="631">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 312: melm 632            Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="632">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 313: melm 633            Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="633">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 314: melm 634            Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="634">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 315: melm 635            Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="635">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 316: melm 636            Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="636">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 317: melm 610            Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="610">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 318: melm 640        Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="640">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 319: melm 641        Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="641">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 320: melm 642        Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="642">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 321: melm 643        Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="643">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 322: melm 644        Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="644">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 323: melm 645        Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="645">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 324: melm 646        Subject,Subject:p-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="646">
+    <target_index>Subject:w</target_index>
+    <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--record.abs line 328: melm 676$a          Dewey-classification:w,Dewey-classification:s-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="676" subfields="a">
+    <target_index>Dewey-classification:w</target_index>
+    <target_index>Dewey-classification:s</target_index>
+  </index_subfields>
+  <!--record.abs line 331: melm 995$2          lost,lost:n,item-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="995" subfields="2">
+    <target_index>lost:w</target_index>
+    <target_index>lost:n</target_index>
+    <target_index>item:w</target_index>
+  </index_subfields>
+  <!--record.abs line 332: melm 995$a          homebranch,Host-item,item-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="995" subfields="a">
+    <target_index>homebranch:w</target_index>
+    <target_index>Host-item:w</target_index>
+    <target_index>item:w</target_index>
+  </index_subfields>
+  <!--record.abs line 333: melm 995$b          homebranch,Host-item,item-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="995" subfields="b">
+    <target_index>homebranch:w</target_index>
+    <target_index>Host-item:w</target_index>
+    <target_index>item:w</target_index>
+  </index_subfields>
+  <!--record.abs line 334: melm 995$c          holdingbranch,Record-Source,item-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="995" subfields="c">
+    <target_index>holdingbranch:w</target_index>
+    <target_index>Record-Source:w</target_index>
+    <target_index>item:w</target_index>
+  </index_subfields>
+  <!--record.abs line 335: melm 995$d          holdingbranch,Record-Source,item-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="995" subfields="d">
+    <target_index>holdingbranch:w</target_index>
+    <target_index>Record-Source:w</target_index>
+    <target_index>item:w</target_index>
+  </index_subfields>
+  <!--record.abs line 336: melm 995$e      location,item-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="995" subfields="e">
+    <target_index>location:w</target_index>
+    <target_index>item:w</target_index>
+  </index_subfields>
+  <!--record.abs line 337: melm 995$f          barcode,item-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="995" subfields="f">
+    <target_index>barcode:w</target_index>
+    <target_index>item:w</target_index>
+  </index_subfields>
+  <!--record.abs line 338: melm 995$h          ccode,item-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="995" subfields="h">
+    <target_index>ccode:w</target_index>
+    <target_index>item:w</target_index>
+  </index_subfields>
+  <!--record.abs line 339: melm 995$j      LC-card-number:s,item-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="995" subfields="j">
+    <target_index>LC-card-number:s</target_index>
+    <target_index>item:w</target_index>
+  </index_subfields>
+  <!--record.abs line 340: melm 995$k      Call-Number,Local-classification,lcn,Call-Number:p,Local-classification:p,lcn:p,item,Local-classification:s-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="995" subfields="k">
+    <target_index>Call-Number:w</target_index>
+    <target_index>Local-classification:w</target_index>
+    <target_index>lcn:w</target_index>
+    <target_index>Call-Number:p</target_index>
+    <target_index>Local-classification:p</target_index>
+    <target_index>lcn:p</target_index>
+    <target_index>item:w</target_index>
+    <target_index>Local-classification:s</target_index>
+  </index_subfields>
+  <!--record.abs line 341: melm 995$n      onloan:d,onloan:n,onloan:s,onloan:w,item-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="995" subfields="n">
+    <target_index>onloan:d</target_index>
+    <target_index>onloan:n</target_index>
+    <target_index>onloan:s</target_index>
+    <target_index>onloan:w</target_index>
+    <target_index>item:w</target_index>
+  </index_subfields>
+  <!--record.abs line 342: melm 995$u      Note,Note:p,item-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="995" subfields="u">
+    <target_index>Note:w</target_index>
+    <target_index>Note:p</target_index>
+    <target_index>item:w</target_index>
+  </index_subfields>
+  <!--record.abs line 343: melm  995       item   # just to index every subfield-->
+  <index_data_field xmlns="http://www.koha-community.org/schemas/index-defs" tag="995">
+    <target_index>item   # just to index every subfield:w</target_index>
+  </index_data_field>
+  <!--record.abs line 346: melm 942$0      totalissues:n,totalissues:s-->
+  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="942" subfields="0">
+    <target_index>totalissues:n</target_index>
+    <target_index>totalissues:s</target_index>
+  </index_subfields>
+</kohaidx:index_defs>
diff --git a/etc/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl b/etc/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl
new file mode 100644 (file)
index 0000000..feeda35
--- /dev/null
@@ -0,0 +1,2270 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+This file has been automatically generated from a Koha index definition file
+with the stylesheet koha-indexdefs-to-zebra.xsl. Do not manually edit this file,
+as it may be overwritten. To regenerate, edit the appropriate Koha index
+definition file (probably something like {biblio,authority}-koha-indexdefs.xml) and run:
+`xsltproc koha-indexdefs-to-zebra.xsl {biblio,authority}-koha-indexdefs.xml >
+{biblio,authority}-zebra-indexdefs.xsl` (substituting the appropriate file names).
+-->
+<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">
+  <xslo:output indent="yes" method="xml" version="1.0" encoding="UTF-8"/>
+  <xslo:template match="text()"/>
+  <xslo:template match="text()" mode="index_subfields"/>
+  <xslo:template match="text()" mode="index_data_field"/>
+  <xslo:template match="text()" mode="index_heading"/>
+  <xslo:template match="text()" mode="index_match_heading"/>
+  <xslo:template match="text()" mode="index_subject_thesaurus"/>
+  <xslo:template match="/">
+    <xslo:if test="marc:collection">
+      <collection>
+        <xslo:apply-templates select="marc:collection/marc:record"/>
+      </collection>
+    </xslo:if>
+    <xslo:if test="marc:record">
+      <xslo:apply-templates select="marc:record"/>
+    </xslo:if>
+  </xslo:template>
+  <xslo:template match="marc:record">
+    <xslo:variable name="controlField001" select="normalize-space(marc:controlfield[@tag='001'])"/>
+    <z:record type="update">
+      <xslo:attribute name="z:id">
+        <xslo:value-of select="$controlField001"/>
+      </xslo:attribute>
+      <xslo:apply-templates/>
+      <xslo:apply-templates mode="index_subfields"/>
+      <xslo:apply-templates mode="index_data_field"/>
+      <xslo:apply-templates mode="index_heading"/>
+      <xslo:apply-templates mode="index_match_heading"/>
+      <xslo:apply-templates mode="index_subject_thesaurus"/>
+    </z:record>
+  </xslo:template>
+  <xslo:template match="marc:controlfield[@tag='001']">
+    <z:index name="Local-number:w">
+      <xslo:value-of select="."/>
+    </z:index>
+    <z:index name="Local-number:n">
+      <xslo:value-of select="."/>
+    </z:index>
+  </xslo:template>
+  <xslo:template match="marc:controlfield[@tag='009']">
+    <z:index name="Identifier-standard:w">
+      <xslo:value-of select="."/>
+    </z:index>
+    <z:index name="Identifier-standard:n">
+      <xslo:value-of select="."/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='090']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Local-number:w Local-number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='099']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('c', @code)">
+        <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">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="Date/time-last-modified:s Date/time-last-modified:n Date/time-last-modified:y">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="ccode:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='010']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="ISBN:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('z', @code)">
+        <z:index name="ISBN:w Identifier-standard:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='011']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="ISSN:w Identifier-standard:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('y', @code)">
+        <z:index name="ISSN:w Identifier-standard:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('z', @code)">
+        <z:index name="ISSN:w Identifier-standard:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='200']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('b', @code)">
+        <z:index name="itemtype:w itemtype:p itype:w itype:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('b', @code)">
+        <z:index name="itype:w itype:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('f', @code)">
+        <z:index name="Author:w Author:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('g', @code)">
+        <z:index name="Author:w Author:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Title:w Title:p Title:s Title-cover:w Title-cover:p Title-cover:s">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('c', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('e', @code)">
+        <z:index name="Title:w Title:p Title-cover:w Title-cover:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('i', @code)">
+        <z:index name="title:w title:p Title-cover:w Title-cover:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='995']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('r', @code)">
+        <z:index name="itemtype:w itemtype:p itype:w itype:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('2', @code)">
+        <z:index name="lost:w lost:n item:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="homebranch:w Host-item:w item:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('b', @code)">
+        <z:index name="homebranch:w Host-item:w item:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('c', @code)">
+        <z:index name="holdingbranch:w Record-Source:w item:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="holdingbranch:w Record-Source:w item:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('e', @code)">
+        <z:index name="location:w item:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('f', @code)">
+        <z:index name="barcode:w item:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('h', @code)">
+        <z:index name="ccode:w item:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('j', @code)">
+        <z:index name="LC-card-number:s item:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('k', @code)">
+        <z:index name="Call-Number:w Local-classification:w lcn:w Call-Number:p Local-classification:p lcn:p item:w Local-classification:s">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('n', @code)">
+        <z:index name="onloan:d onloan:n onloan:s onloan:w item:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('u', @code)">
+        <z:index name="Note:w Note:p item:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='071']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Music-number:w Identifier-standard:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='072']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="UPC:w Identifier-standard:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='073']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="EAN:w Identifier-standard:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='100']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <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">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='101']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="ln:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='102']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Country-heading:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='105']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <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">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='106']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="itype:w itype:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='110']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <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">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='115']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Video-mt:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='116']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Graphics-type:w Graphics-support:w Graphics-support:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='680']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('b', @code)">
+        <z:index name="LC-call-number:s">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='700']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Author:w Personal-name:w Author:p Personal-name:p Personal-name:w Author:s">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='701']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='702']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='710']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='711']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='712']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='210']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="pl:w pl:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('c', @code)">
+        <z:index name="Publisher:w Publisher:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n pubdate:y pubdate:s">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='225']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Title-series:w Title-series:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="Title-series:w Title-series:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('e', @code)">
+        <z:index name="Title-series:w Title-series:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('f', @code)">
+        <z:index name="Author:w Author:p Name-and-title:w Name-and-title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('h', @code)">
+        <z:index name="Title-series:w Title-series:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('i', @code)">
+        <z:index name="Title-series:w Title-series:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('v', @code)">
+        <z:index name="Title-series:w Title-series:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('x', @code)">
+        <z:index name="ISSN:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='230']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Electronic-ressource:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='300']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='301']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='302']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='303']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='304']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='305']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='306']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='307']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='308']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='310']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='311']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='312']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='313']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='314']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='315']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='316']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='317']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='318']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='320']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='321']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='322']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='323']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='324']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='325']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='326']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='327']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='328']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='330']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Abstract:w Note:w Abstract:p Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='332']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='333']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='336']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='337']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='345']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Note:w Note:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='400']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='401']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='403']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title:p Title-Uniform:w Title-Uniform:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='410']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title-series:w Title-series:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='412']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='413']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='414']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='415']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='416']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='417']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='418']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='419']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='420']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='430']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='431']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='432']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='440']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='441']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='445']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='461']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title-host:w title-host:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('d', @code)">
+        <z:index name="pubdate:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Host-Item-Number:w">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='464']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('t', @code)">
+        <z:index name="Title:w Title-host:w title-host:p Title:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='500']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='501']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='503']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='510']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='512']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='513']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='514']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='515']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='516']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='517']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='518']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='519']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='520']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='530']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='531']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='532']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='540']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='541']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='545']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='600']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Personal-name:w Personal-name:p Subject:w Subject:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='601']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Corporate-name:w Conference-name:w Corporate-name:p Conference-name:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='602']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Personal-name:w Personal-name:p">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='603']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='604']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='605']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='606']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='607']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='610']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='630']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='631']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='632']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='633']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='634']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='635']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='636']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('9', @code)">
+        <z:index name="Koha-Auth-Number:w Koha-Auth-Number:n">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='676']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('a', @code)">
+        <z:index name="Dewey-classification:w Dewey-classification:s">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='942']">
+    <xslo:for-each select="marc:subfield">
+      <xslo:if test="contains('0', @code)">
+        <z:index name="totalissues:n totalissues:s">
+          <xslo:value-of select="."/>
+        </z:index>
+      </xslo:if>
+    </xslo:for-each>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='680']">
+    <z:index name="LC-call-number:w">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='700']">
+    <z:index name="Author:w Personal-name:w Author:p Personal-name:p Personal-name:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='701']">
+    <z:index name="Author:w Personal-name:w Author:p Personal-name:p Personal-name:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='702']">
+    <z:index name="Author:w Personal-name:w Author:p Personal-name:p Personal-name:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='710']">
+    <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">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='711']">
+    <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">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='712']">
+    <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">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='205']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='208']">
+    <z:index name="Serials:w Serials:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='207']">
+    <z:index name="Printed-music:w Printed-music:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='215']">
+    <z:index name="Extent:w">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='308']">
+    <z:index name="Note:w Note:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='328']">
+    <z:index name="Note:w Note:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='500']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='501']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='503']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='510']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='512']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='513']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='514']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='515']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='516']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='517']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='518']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='519']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='520']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='530']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='531']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='532']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='540']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='541']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='545']">
+    <z:index name="Title:w Title:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='600']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='601']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='602']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='604']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='605']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='606']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='607']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='630']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='631']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='632']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='633']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='634']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='635']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='636']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='610']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='640']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='641']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='642']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='643']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='644']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='645']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='646']">
+    <z:index name="Subject:w Subject:p">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template mode="index_data_field" match="marc:datafield[@tag='995']">
+    <z:index name="item # just to index every subfield:w">
+      <xslo:variable name="raw_heading">
+        <xslo:for-each select="marc:subfield">
+          <xslo:if test="position() &gt; 1">
+            <xslo:value-of select="substring(' ', 1, 1)"/>
+          </xslo:if>
+          <xslo:value-of select="."/>
+        </xslo:for-each>
+      </xslo:variable>
+      <xslo:value-of select="normalize-space($raw_heading)"/>
+    </z:index>
+  </xslo:template>
+  <xslo:template match="*">
+    <z:index name="Any:w Any:p">
+      <xslo:value-of select="."/>
+    </z:index>
+  </xslo:template>
+  <xslo:template name="chopPunctuation">
+    <xslo:param name="chopString"/>
+    <xslo:variable name="length" select="string-length($chopString)"/>
+    <xslo:choose>
+      <xslo:when test="$length=0"/>
+      <xslo:when test="contains('-,.:=;!%/', substring($chopString,$length,1))">
+        <xslo:call-template name="chopPunctuation">
+          <xslo:with-param name="chopString" select="substring($chopString,1,$length - 1)"/>
+        </xslo:call-template>
+      </xslo:when>
+      <xslo:when test="not($chopString)"/>
+      <xslo:otherwise>
+        <xslo:value-of select="$chopString"/>
+      </xslo:otherwise>
+    </xslo:choose>
+    <xslo:text/>
+  </xslo:template>
+</xslo:stylesheet>