Revert "Bug 9828: More specific indexing of UNIMARC 6XX fields"
authorTomas Cohen Arazi <tomascohen@gmail.com>
Tue, 28 Oct 2014 15:02:34 +0000 (12:02 -0300)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Tue, 28 Oct 2014 15:02:34 +0000 (12:02 -0300)
This reverts commit 0dd1ac40a0df984bee6583f13f80744b539b8f37.

C4/Search.pm
etc/zebradb/biblios/etc/bib1.att
etc/zebradb/ccl.properties
etc/zebradb/marc_defs/unimarc/biblios/biblio-koha-indexdefs.xml
etc/zebradb/marc_defs/unimarc/biblios/biblio-zebra-indexdefs.xsl

index 4de0931..1326f69 100644 (file)
@@ -1215,15 +1215,9 @@ sub getIndexes{
                     'Subject-subdivision',
                     'Summary',
                     'Suppress',
-                    'su-chrono',
-                    'su-corp',
-                    'su-conf',
                     'su-geo',
-                    'su-form',
-                    'su-genre',
                     'su-na',
                     'su-to',
-                    'su-ti',
                     'su-ut',
                     'ut',
                     'Term-genre-form',
index bf344ce..ed8c64b 100644 (file)
@@ -142,8 +142,8 @@ att 1071    Section-heading
 att 1072    Subject-GOO
 att 1073    Subject-name-conference
 att 1074    Subject-name-corporate
-att 1075    Subject-genre-form
-att 1076    Subject-name-geographical
+att 1075    Subject-genre/form
+att 1076    Subject-name-gerographical
 att 1077    Subject-chronological
 att 1078    Subject-title
 att 1079    Subject-topical
index 85611d3..99e3498 100644 (file)
@@ -625,7 +625,9 @@ rcn Record-control-number
 #                                                           655, 656, 657, 69X
 Subject 1=21
 su Subject
-
+su-to Subject
+su-geo Subject
+su-ut Subject
 #Subject-BDI            23  Subject headings from
 #                           Bibliotek Dokumentasjon
 #                           Informasjon -- a controlled
@@ -674,7 +676,7 @@ su Subject
 #                           appears in a subject heading.
 Subject-name-personal 1=1009
 su-na 1=1009
-
+#Subject-name-personal
 #Subject-PA             26  Subject headings from           600i2, 610i2,
 #                           Thesaurus of Psychological      611i2, 630i2,
 #                           Index Terms -- maintained       650i2, 651i2
@@ -720,43 +722,11 @@ su-na 1=1009
 
 #Subject-subdivision    47  An extension to a subject       6XX$x, 6XX$y,
 #                           heading indicating the form,    6XX$z
-#                           place, period of time treated,  UNIMARC 6XX$j
+#                           place, period of time treated,
 #                           or aspect of the subject
 #                           treated.
 Subject-subdivision 1=47
 
-#Subject-name-conference 1073                              MARC21 611 ; UNIMARC 601
-Subject-name-conference 1=1073
-su-conf Subject-name-conference
-
-#Subject-name-corporate 1074                               MARC21 610 ; UNIMARC 601
-Subject-name-corporate 1=1074
-su-corp Subject-name-corporate
-
-#Subject-genre-form 1075                                   MARC21 610 ; UNIMARC 608
-#                                                          UNIMARC 6XX$j
-Subject-genre-form 1=1075
-su-genre Subject-genre-form
-su-form Subject-genre-form
-
-#Subject-geographical 1076                                 MARC21 651 ; UNIMARC 607
-#                                                          MARC21 AND UNIMARC 6XX$y
-Subject-geographical 1=1076
-su-geo Subject-geographical
-
-#Subject-chronological 1077                                MARC21 and UNIMARC 6XX$z
-Subject-chronological 1=1077
-su-chrono Subject-chronological
-
-#Subject-title 1078                                        MARC21 630 ; UNIMARC 605
-Subject-title 1=1078
-su-ut Subject-title
-su-ti Subject-title
-
-#Subject-topical 1079                                      MARC21 650 ; UNIMARC 606
-Subject-topical 1=1079
-su-to Subject-topical
-
 #Title                   4  A word, phrase, character,      130, 21X-24X, 440,
 #                           or group of characters,         490, 730, 740, 830,
 #                           normally appearing in an item,  840, subfield $t
@@ -1248,6 +1218,9 @@ sort3 7=3
 #corporateName 1=2
 #conferenceName 1=3
 #uniformTitle 1=6
+#geographicName 1=58
+#topicalSubject 1=1079
+#genreForm 1=1075
 
 ###################################################
 # Rules for a few GILS fields
index 81fac14..10dc41e 100644 (file)
     <target_index>Title:p</target_index>
   </index_data_field>
   <!--==== 6XX BLOCK OF SUBJECTS ====-->
-  <!--For all 6XX : index $j,$x,$y,$z in several indexes in addition to the specific index for their 6XX field:-->
-  <!--# 6XX$j : Genre/form                  : indexed in Subject, Subject-subdivision, Subject-genre-form-->
-  <!--# 6XX$x : Subject                     : indexed in Subject, Subject-subdivision (could be topical subject or genre/form subject, so don't index in Subject-topical)-->
-  <!--# 6XX$y : Geographical subject        : indexed in Subject, Subject-subdivision, Subject-name-geographical-->
-  <!--# 6XX$z : Chronological subject       : indexed in Subject, Subject-subdivision, Subject-chronological-->
-  <!--Index 6XX$9 only in Koha-Auth-Number-->
-  <!--record.abs line 407: 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 408: 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 409: 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 410: 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 411: 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 412: 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 413: 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 414: melm 608$9      Koha-Auth-Number,Koha-Auth-Number:n-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="608" subfields="9">
-    <target_index>Koha-Auth-Number:w</target_index>
-    <target_index>Koha-Auth-Number:n</target_index>
-  </index_subfields>
-  <!--record.abs line 415: 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 416: melm 615$9      Koha-Auth-Number,Koha-Auth-Number:n-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="615" subfields="9">
-    <target_index>Koha-Auth-Number:w</target_index>
-    <target_index>Koha-Auth-Number:n</target_index>
-  </index_subfields>
-  <!--record.abs line 417: melm 616$9      Koha-Auth-Number,Koha-Auth-Number:n-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="616" subfields="9">
-    <target_index>Koha-Auth-Number:w</target_index>
-    <target_index>Koha-Auth-Number:n</target_index>
-  </index_subfields>
-  <!--record.abs line 418: melm 617$9      Koha-Auth-Number,Koha-Auth-Number:n-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="617" subfields="9">
-    <target_index>Koha-Auth-Number:w</target_index>
-    <target_index>Koha-Auth-Number:n</target_index>
-  </index_subfields>
-  <!--record.abs line 419: melm 620$9      Koha-Auth-Number,Koha-Auth-Number:n-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="620" subfields="9">
-    <target_index>Koha-Auth-Number:w</target_index>
-    <target_index>Koha-Auth-Number:n</target_index>
-  </index_subfields>
-  <!--record.abs line 420: melm 621$9      Koha-Auth-Number,Koha-Auth-Number:n-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="621" subfields="9">
-    <target_index>Koha-Auth-Number:w</target_index>
-    <target_index>Koha-Auth-Number:n</target_index>
-  </index_subfields>
-  <!--record.abs line 426: 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 427: 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 428: 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 429: 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 430: 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 431: 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 432: 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 433: 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>
-  <!--600 : Personal name (as subject) see Marc21 600-->
-  <!--indexing a,b,d,g,t (even if t is said to be not used)-->
-  <!--not indexing c (additional elements),f (dates),p (address/affiliation),2,3,5-->
-  <!--indexing specifically $j,$x,$y,$z-->
-  <!--600$adbgt    Personal-name,Personal-name:p,Subject-name-personal:w,Subject-name-personal:p,Subject,Subject:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="600" subfields="abdgt">
+  <!--600 - Personal name-->
+  <index_subfields tag="600" subfields="a">
     <target_index>Personal-name:w</target_index>
     <target_index>Personal-name:p</target_index>
-    <target_index>Subject-name-personal:w</target_index>
-    <target_index>Subject-name-personal:p</target_index>
     <target_index>Subject:w</target_index>
     <target_index>Subject:p</target_index>
   </index_subfields>
-  <!--600$j    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-genre-form:w,Subject-genre-form:p,Subject-name-personal:w,Subject-name-personal:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="600" subfields="j">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-genre-form:w</target_index>
-    <target_index>Subject-genre-form:p</target_index>
-    <target_index>Subject-name-personal:w</target_index>
-    <target_index>Subject-name-personal:p</target_index>
-  </index_subfields>
-  <!--600$x    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-name-personal:w,Subject-name-personal:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="600" subfields="x">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-name-personal:w</target_index>
-    <target_index>Subject-name-personal:p</target_index>
+  <index_subfields tag="600" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
   </index_subfields>
-  <!--600$y    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-name-geographical:w,Subject-name-geographical:p,Subject-name-personal:w,Subject-name-personal:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="600" subfields="y">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-name-geographical:w</target_index>
-    <target_index>Subject-name-geographical:p</target_index>
-    <target_index>Subject-name-personal:w</target_index>
-    <target_index>Subject-name-personal:p</target_index>
-  </index_subfields>
-  <!--600$z    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-chronological:w,Subject-chronological:p,Subject-name-personal:w,Subject-name-personal:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="600" subfields="z">
+  <index_data_field tag="600">
     <target_index>Subject:w</target_index>
     <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-chronological:w</target_index>
-    <target_index>Subject-chronological:p</target_index>
-    <target_index>Subject-name-personal:w</target_index>
-    <target_index>Subject-name-personal:p</target_index>
-  </index_subfields>
-  <!--601 : Corporate or meeting name used as a subject // see Marc21 610 & 611-->
-  <!--indicators 0X = Corporate ; 1X = Meeting-->
-  <!--indexing a,b,c,d,e,f,g,h,t (even if t is said to be not used)-->
-  <!--not indexing 2,3,5-->
-  <!--indexing specifically $j,$x,$y,$z-->
-  <!--d,e,f only used for Meetings-->
-  <!--FIXME : index separately corporate and meeting in DOM indexing?-->
-  <!--601$abcdefght    Corporate-name:w,Corporate-name:p,Conference-name:w,Conference-name:p,Subject-name-conference:w,Subject-name-conference:p,Subject-name-corporate:w,Subject-name-corporate:p,Subject,Subject:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="601" subfields="a">
+  </index_data_field>
+  <!--601 - Corporate name-->
+  <index_subfields tag="601" subfields="a">
     <target_index>Corporate-name:w</target_index>
-    <target_index>Corporate-name:p</target_index>
     <target_index>Conference-name:w</target_index>
+    <target_index>Corporate-name:p</target_index>
     <target_index>Conference-name:p</target_index>
-    <target_index>Subject-name-conference:w</target_index>
-    <target_index>Subject-name-conference:p</target_index>
-    <target_index>Subject-name-corporate:w</target_index>
-    <target_index>Subject-name-corporate:p</target_index>
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
   </index_subfields>
-  <!--601$j    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-genre-form:w,Subject-genre-form:p,Subject-name-conference:w,Subject-name-conference:p,Subject-name-corporate:w,Subject-name-corporate:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="601" subfields="j">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-genre-form:w</target_index>
-    <target_index>Subject-genre-form:p</target_index>
-    <target_index>Subject-name-conference:w</target_index>
-    <target_index>Subject-name-conference:p</target_index>
-    <target_index>Subject-name-corporate:w</target_index>
-    <target_index>Subject-name-corporate:p</target_index>
-  </index_subfields>
-  <!--601$x    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-name-conference:w,Subject-name-conference:p,Subject-name-corporate:w,Subject-name-corporate:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="601" subfields="x">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-name-conference:w</target_index>
-    <target_index>Subject-name-conference:p</target_index>
-    <target_index>Subject-name-corporate:w</target_index>
-    <target_index>Subject-name-corporate:p</target_index>
-  </index_subfields>
-  <!--601$y    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-name-geographical:w,Subject-name-geographical:p,Subject-name-conference:w,Subject-name-conference:p,Subject-name-corporate:w,Subject-name-corporate:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="601" subfields="y">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-name-geographical:w</target_index>
-    <target_index>Subject-name-geographical:p</target_index>
-    <target_index>Subject-name-conference:w</target_index>
-    <target_index>Subject-name-conference:p</target_index>
-    <target_index>Subject-name-corporate:w</target_index>
-    <target_index>Subject-name-corporate:p</target_index>
-  </index_subfields>
-  <!--601$z    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-chronological:w,Subject-chronological:p,Subject-name-conference:w,Subject-name-conference:p,Subject-name-corporate:w,Subject-name-corporate:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="601" subfields="z">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-chronological:w</target_index>
-    <target_index>Subject-chronological:p</target_index>
-    <target_index>Subject-name-conference:w</target_index>
-    <target_index>Subject-name-conference:p</target_index>
-    <target_index>Subject-name-corporate:w</target_index>
-    <target_index>Subject-name-corporate:p</target_index>
-  </index_subfields>
-  <!--602 : Family name used as a subject // see Marc21 600 3X-->
-  <!--indexing a,t (even if t is said to be not used)-->
-  <!--not indexing f (dates), 2,3,5-->
-  <!--indexing specifically $j,$x,$y,$z-->
-  <!--FIXME Create a specific index? For the moment, index in Personal-name-->
-  <!--602$at    Subject:w,Subject:p,Subject-name-personal:w,Subject-name-personal:p,Personal-name:w,Personal-name:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="602" subfields="at">
-    <target_index>Personal-name:w</target_index>
-    <target_index>Personal-name:p</target_index>
-    <target_index>Subject-name-personal:w</target_index>
-    <target_index>Subject-name-personal:p</target_index>
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-  </index_subfields>
-  <!--602$j    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-genre-form:w,Subject-genre-form:p,Subject-name-personal:w,Subject-name-personal:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="602" subfields="j">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-genre-form:w</target_index>
-    <target_index>Subject-genre-form:p</target_index>
-    <target_index>Subject-name-personal:w</target_index>
-    <target_index>Subject-name-personal:p</target_index>
-  </index_subfields>
-  <!--602$x    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-name-personal:w,Subject-name-personal:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="602" subfields="x">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-name-personal:w</target_index>
-    <target_index>Subject-name-personal:p</target_index>
+  <index_subfields tag="601" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
   </index_subfields>
-  <!--602$y    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-name-geographical:w,Subject-name-geographical:p,Subject-name-personal:w,Subject-name-personal:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="602" subfields="y">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-name-geographical:w</target_index>
-    <target_index>Subject-name-geographical:p</target_index>
-    <target_index>Subject-name-personal:w</target_index>
-    <target_index>Subject-name-personal:p</target_index>
-  </index_subfields>
-  <!--602$z    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-chronological:w,Subject-chronological:p,Subject-name-personal:w,Subject-name-personal:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="602" subfields="z">
+  <index_data_field tag="601">
     <target_index>Subject:w</target_index>
     <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-chronological:w</target_index>
-    <target_index>Subject-chronological:p</target_index>
-    <target_index>Subject-name-personal:w</target_index>
-    <target_index>Subject-name-personal:p</target_index>
-  </index_subfields>
-  <!--604 : Name and title // see Marc21 600-->
-  <!--indexing a,t-->
-  <!--not indexing 2,3,5-->
-  <!--indexing specifically $j,$x,$y,$z-->
-  <!--604$at    Name-and-title,Name-and-title:p,Subject-title:w,Subject-title:p,Personal-name,Personal-name:p,Subject-name-personal:w,Subject-name-personal:p,Subject,Subject:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="604" subfields="at">
-    <target_index>Name-and-title:w</target_index>
-    <target_index>Name-and-title:p</target_index>
-    <target_index>Subject-title:w</target_index>
-    <target_index>Subject-title:p</target_index>
+  </index_data_field>
+  <!--602 - Familiy name-->
+  <index_subfields tag="602" subfields="a">
     <target_index>Personal-name:w</target_index>
     <target_index>Personal-name:p</target_index>
-    <target_index>Subject-name-personal:w</target_index>
-    <target_index>Subject-name-personal:p</target_index>
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-  </index_subfields>
-  <!--604$t    Name-and-title,Name-and-title:p,Subject-title:w,Subject-title:p,Subject-name-personal:w,Subject-name-personal:p,Subject,Subject:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="604" subfields="t">
-    <target_index>Name-and-title:w</target_index>
-    <target_index>Name-and-title:p</target_index>
-    <target_index>Subject-title:w</target_index>
-    <target_index>Subject-title:p</target_index>
-    <target_index>Subject-name-personal:w</target_index>
-    <target_index>Subject-name-personal:p</target_index>
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-  </index_subfields>
-  <!--604$j    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-genre-form:w,Subject-genre-form:p,Subject-title:w,Subject-title:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="604" subfields="j">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-genre-form:w</target_index>
-    <target_index>Subject-genre-form:p</target_index>
-    <target_index>Subject-title:w</target_index>
-    <target_index>Subject-title:p</target_index>
-  </index_subfields>
-  <!--604$x    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-title:w,Subject-title:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="604" subfields="x">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-title:w</target_index>
-    <target_index>Subject-title:p</target_index>
-  </index_subfields>
-  <!--604$y    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-name-geographical:w,Subject-name-geographical:p,Subject-title:w,Subject-title:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="604" subfields="y">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-name-geographical:w</target_index>
-    <target_index>Subject-name-geographical:p</target_index>
-    <target_index>Subject-title:w</target_index>
-    <target_index>Subject-title:p</target_index>
-  </index_subfields>
-  <!--604$z    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-chronological:w,Subject-chronological:p,Subject-title:w,Subject-title:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="604" subfields="z">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-chronological:w</target_index>
-    <target_index>Subject-chronological:p</target_index>
-    <target_index>Subject-title:w</target_index>
-    <target_index>Subject-title:p</target_index>
-  </index_subfields>
-  <!--605 : Title used as subject // see Marc21 630-->
-  <!--indexing all : a,h,i,k,l,m,n,q,r,s,u,w-->
-  <!--indexing specifically $j,$x,$y,$z-->
-  <!--605$ahiklmnqrsuw    Subject-title:w,Subject-title:p,Subject,Subject:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="605" subfields="ahiklmnqrsuw">
-    <target_index>Subject-title:w</target_index>
-    <target_index>Subject-title:p</target_index>
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-  </index_subfields>
-  <!--605$j    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-genre-form:w,Subject-genre-form:p,Subject-title:w,Subject-title:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="605" subfields="j">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-genre-form:w</target_index>
-    <target_index>Subject-genre-form:p</target_index>
-    <target_index>Subject-title:w</target_index>
-    <target_index>Subject-title:p</target_index>
-  </index_subfields>
-  <!--605$x    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-title:w,Subject-title:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="605" subfields="x">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-title:w</target_index>
-    <target_index>Subject-title:p</target_index>
-  </index_subfields>
-  <!--605$y    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-name-geographical:w,Subject-name-geographical:p,Subject-title:w,Subject-title:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="605" subfields="y">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-name-geographical:w</target_index>
-    <target_index>Subject-name-geographical:p</target_index>
-    <target_index>Subject-title:w</target_index>
-    <target_index>Subject-title:p</target_index>
-  </index_subfields>
-  <!--605$z    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-chronological:w,Subject-chronological:p,Subject-title:w,Subject-title:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="605" subfields="z">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-chronological:w</target_index>
-    <target_index>Subject-chronological:p</target_index>
-    <target_index>Subject-title:w</target_index>
-    <target_index>Subject-title:p</target_index>
-  </index_subfields>
-  <!--606 : Topical name used as subject // see Marc21 650-->
-  <!--indexing a-->
-  <!--indexing specifically $j,$x,$y,$z-->
-  <!--606$a    Subject-topical:w,Subject-topical:p,Subject,Subject:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="606" subfields="a">
-    <target_index>Subject-topical:w</target_index>
-    <target_index>Subject-topical:p</target_index>
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-  </index_subfields>
-  <!--606$j    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-genre-form:w,Subject-genre-form:p,Subject-topical:w,Subject-topical:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="606" subfields="j">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-genre-form:w</target_index>
-    <target_index>Subject-genre-form:p</target_index>
-    <target_index>Subject-topical:w</target_index>
-    <target_index>Subject-topical:p</target_index>
-  </index_subfields>
-  <!--606$x    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-topical:w,Subject-topical:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="606" subfields="x">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-topical:w</target_index>
-    <target_index>Subject-topical:p</target_index>
-  </index_subfields>
-  <!--606$y    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-name-geographical:w,Subject-name-geographical:p,Subject-topical:w,Subject-topical:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="606" subfields="y">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-name-geographical:w</target_index>
-    <target_index>Subject-name-geographical:p</target_index>
-    <target_index>Subject-topical:w</target_index>
-    <target_index>Subject-topical:p</target_index>
-  </index_subfields>
-  <!--606$z    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-chronological:w,Subject-chronological:p,Subject-topical:w,Subject-topical:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="606" subfields="z">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-chronological:w</target_index>
-    <target_index>Subject-chronological:p</target_index>
-    <target_index>Subject-topical:w</target_index>
-    <target_index>Subject-topical:p</target_index>
-  </index_subfields>
-  <!--607 : Geographical name used as subject // see Marc21 651-->
-  <!--indexing a-->
-  <!--indexing specificly $j,$x,$y,$z-->
-  <!--607$a    Name-geographic:w,Name-geographic:p,Subject-name-geographical:w,Subject-name-geographical:p,Subject,Subject:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="607" subfields="a">
-    <target_index>Name-geographic:w</target_index>
-    <target_index>Name-geographic:p</target_index>
-    <target_index>Subject-name-geographical:w</target_index>
-    <target_index>Subject-name-geographical:p</target_index>
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-  </index_subfields>
-  <!--607$j    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-genre-form:w,Subject-genre-form:p,Subject-name-geographical:w,Subject-name-geographical:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="607" subfields="j">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-genre-form:w</target_index>
-    <target_index>Subject-genre-form:p</target_index>
-    <target_index>Subject-name-geographical:w</target_index>
-    <target_index>Subject-name-geographical:p</target_index>
-  </index_subfields>
-  <!--607$x    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-name-geographical:w,Subject-name-geographical:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="607" subfields="x">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-name-geographical:w</target_index>
-    <target_index>Subject-name-geographical:p</target_index>
-  </index_subfields>
-  <!--607$y    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-name-geographical:w,Subject-name-geographical:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="607" subfields="y">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-name-geographical:w</target_index>
-    <target_index>Subject-name-geographical:p</target_index>
   </index_subfields>
-  <!--607$z    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-chronological:w,Subject-chronological:p,Subject-name-geographical:w,Subject-name-geographical:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="607" subfields="z">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-chronological:w</target_index>
-    <target_index>Subject-chronological:p</target_index>
-    <target_index>Subject-name-geographical:w</target_index>
-    <target_index>Subject-name-geographical:p</target_index>
-  </index_subfields>
-  <!--608 : Form, Genre or Physical Characteristics Heading-->
-  <!--indexing a-->
-  <!--indexing specifically $j,$x,$y,$z-->
-  <!--608$a    Subject-genre-form:w,Subject-genre-form:p,Subject,Subject:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="608" subfields="a">
-    <target_index>Subject-genre-form:w</target_index>
-    <target_index>Subject-genre-form:p</target_index>
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-  </index_subfields>
-  <!--608$j    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-genre-form:w,Subject-genre-form:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="608" subfields="j">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-genre-form:w</target_index>
-    <target_index>Subject-genre-form:p</target_index>
+  <index_subfields tag="602" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
   </index_subfields>
-  <!--608$x    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-genre-form:w,Subject-genre-form:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="608" subfields="x">
+  <index_data_field tag="602">
     <target_index>Subject:w</target_index>
     <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-genre-form:w</target_index>
-    <target_index>Subject-genre-form:p</target_index>
+  </index_data_field>
+  <!--604 - Title and author-->
+  <index_subfields tag="604" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
   </index_subfields>
-  <!--608$y    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-name-geographical:w,Subject-name-geographical:p,Subject-genre-form:w,Subject-genre-form:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="608" subfields="y">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-name-geographical:w</target_index>
-    <target_index>Subject-name-geographical:p</target_index>
-    <target_index>Subject-genre-form:w</target_index>
-    <target_index>Subject-genre-form:p</target_index>
-  </index_subfields>
-  <!--608$z    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-chronological:w,Subject-chronological:p,Subject-genre-form:w,Subject-genre-form:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="608" subfields="z">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-chronological:w</target_index>
-    <target_index>Subject-chronological:p</target_index>
-    <target_index>Subject-genre-form:w</target_index>
-    <target_index>Subject-genre-form:p</target_index>
-  </index_subfields>
-  <!--610 : Uncontroled subject terms // see Marc21 653-->
-  <!--FIXME maybe to index in att 1080    Subject-uncontrolled ?-->
-  <!--610$a    Subject,Subject:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="610" subfields="a">
+  <index_data_field tag="604">
     <target_index>Subject:w</target_index>
     <target_index>Subject:p</target_index>
+  </index_data_field>
+   <!--605 - Title-->
+  <index_subfields tag="605" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
   </index_subfields>
-  <!--615 : Subject category-->
-  <!--indexing a,x,n,m-->
-  <!--not indexing 2,3-->
-  <!--FIXME Create specific index?-->
-  <!--615$axnm   Subject,Subject:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="615" subfields="axnm">
+  <index_data_field tag="605">
     <target_index>Subject:w</target_index>
     <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--606 - Topic-->
+  <index_subfields tag="606" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
   </index_subfields>
-  <!--616 : Trademark-->
-  <!--indexing a-->
-  <!--not indexing c,f,2,3,5-->
-  <!--indexing specificly $j,$x,$y,$z-->
-  <!--FIXME Create specific index?-->
-  <!--melm 616$a    Subject,Subject:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="616" subfields="a">
+  <index_data_field tag="606">
     <target_index>Subject:w</target_index>
     <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--607 - Geographic-->
+  <index_subfields tag="607" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
   </index_subfields>
-  <!--616$j    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-genre-form:w,Subject-genre-form:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="616" subfields="j">
+  <index_data_field tag="607">
     <target_index>Subject:w</target_index>
     <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-genre-form:w</target_index>
-    <target_index>Subject-genre-form:p</target_index>
+  </index_data_field>
+  <!--608 - Form-Genre-->
+  <index_subfields tag="608" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
   </index_subfields>
-  <!--616$x    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="616" subfields="x">
+  <index_data_field tag="608">
     <target_index>Subject:w</target_index>
     <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
+  </index_data_field>
+  <!--610 - Free-->
+  <index_subfields tag="608" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
   </index_subfields>
-  <!--616$y    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-name-geographical:w,Subject-name-geographical:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="616" subfields="y">
+  <index_data_field tag="610">
     <target_index>Subject:w</target_index>
     <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-name-geographical:w</target_index>
-    <target_index>Subject-name-geographical:p</target_index>
+  </index_data_field>
+  <!--615 - Category-->
+  <index_subfields tag="615" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
   </index_subfields>
-  <!--616$z    Subject:w,Subject:p,Subject-subdivision:w,Subject-subdivision:p,Subject-chronological:w,Subject-chronological-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="616" subfields="z">
-    <target_index>Subject:w</target_index>
-    <target_index>Subject:p</target_index>
-    <target_index>Subject-subdivision:w</target_index>
-    <target_index>Subject-subdivision:p</target_index>
-    <target_index>Subject-chronological:w</target_index>
-    <target_index>Subject-chronological:w</target_index>
-  </index_subfields>
-  <!--617 : hierarchical geographical name // see Marc21 752-->
-  <!--indexing a,b,c,d,e,f,g,h,i,k,l,m,n,o-->
-  <!--not indexing 2,3-->
-  <!--FIXME Create specific index?-->
-  <!--melm 617$abcdefghiklmno    Subject,Subject:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="617" subfields="abcdefghiklmno">
+  <index_data_field tag="615">
     <target_index>Subject:w</target_index>
     <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--616 - Trademark-->
+  <index_subfields tag="616" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
   </index_subfields>
-  <!--620 : Place and date of publication/performance // see Marc21 752-->
-  <!--indexing a,b,c,d,e,f,g,h,i,k,l,m,n,o-->
-  <!--not indexing 2,3-->
-  <!--f-i are defined in French translation of Unimarc Manual-->
-  <!--FIXME Create specific index?-->
-  <!--melm 620$abcdefghiklmno    Subject,Subject:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="620" subfields="abcdefghiklmno">
+  <index_data_field tag="616">
     <target_index>Subject:w</target_index>
     <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--617 - Hierarchical geographical name-->
+  <index_subfields tag="617" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
   </index_subfields>
-  <!--621 : Place and date of provenance // see Marc21 752-->
-  <!--indexing a,b,c,d,e,f,g,h,i,k,l,m,n,o-->
-  <!--not indexing 2,3-->
-  <!--FIXME Create specific index?-->
-  <!--621$abcdefghiklmno   Subject,Subject:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="621" subfields="abcdefghiklmno">
+  <index_data_field tag="617">
     <target_index>Subject:w</target_index>
     <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--620 - Place and date access-->
+  <index_subfields tag="620" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
   </index_subfields>
-  <!--626 : Technical details access // see Marc21 753-->
-  <!--Note : obsolete field (use 337 field instead)-->
-  <!--660 : Geographic area code // see Marc21 043-->
-  <!-- Coded information on 7 bytes-->
-  <!--660$a     Subject,Subject:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="660" subfields="a">
+  <index_data_field tag="620">
     <target_index>Subject:w</target_index>
     <target_index>Subject:p</target_index>
+  </index_data_field>
+  <!--621 - Place and date of origin-->
+  <index_subfields tag="621" subfields="9">
+    <target_index>Koha-Auth-Number:w</target_index>
+    <target_index>Koha-Auth-Number:n</target_index>
   </index_subfields>
-  <!--661 : Chronological coverage code-->
-  <!--Coded information on 4 bytes-->
-  <!--661$a     Subject,Subject:p-->
-  <index_subfields xmlns="http://www.koha-community.org/schemas/index-defs" tag="661" subfields="a">
+  <index_data_field tag="621">
     <target_index>Subject:w</target_index>
     <target_index>Subject:p</target_index>
-  </index_subfields>
+  </index_data_field>
   <!--==== 67X/68X BLOCK OF CLASSIFICATIONS ====-->
   <!--record.abs line 471: melm 670            Subject-precis:w,Subject-precis:p-->
   <index_data_field tag="670">
index ef2ff9e..a8cde51 100644 (file)
@@ -1657,49 +1657,12 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
   </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('abdgt', @code)">
-        <z:index name="Personal-name:w Personal-name:p Subject-name-personal:w Subject-name-personal:p Subject:w Subject:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-genre-form:w Subject-genre-form:p Subject-name-personal:w Subject-name-personal: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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-name-personal:w Subject-name-personal:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-name-geographical:w Subject-name-geographical:p Subject-name-personal:w Subject-name-personal:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-chronological:w Subject-chronological:p Subject-name-personal:w Subject-name-personal:p">
+      <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">
@@ -1707,81 +1670,34 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
         </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('a', @code)">
-        <z:index name="Corporate-name:w Corporate-name:p Conference-name:w Conference-name:p Subject-name-conference:w Subject-name-conference:p Subject-name-corporate:w Subject-name-corporate:p Subject:w Subject:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-genre-form:w Subject-genre-form:p Subject-name-conference:w Subject-name-conference:p Subject-name-corporate:w Subject-name-corporate: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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-name-conference:w Subject-name-conference:p Subject-name-corporate:w Subject-name-corporate:p">
+        <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:for-each select="marc:subfield">
-      <xslo:if test="contains('y', @code)">
-        <z:index name="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-name-geographical:w Subject-name-geographical:p Subject-name-conference:w Subject-name-conference:p Subject-name-corporate:w Subject-name-corporate:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-chronological:w Subject-chronological:p Subject-name-conference:w Subject-name-conference:p Subject-name-corporate:w Subject-name-corporate: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:template>
+  <xslo:template mode="index_subfields" match="marc:datafield[@tag='602']">
     <xslo:for-each select="marc:subfield">
-      <xslo:if test="contains('at', @code)">
-        <z:index name="Personal-name:w Personal-name:p Subject-name-personal:w Subject-name-personal:p Subject:w Subject:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-genre-form:w Subject-genre-form:p Subject-name-personal:w Subject-name-personal: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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-name-personal:w Subject-name-personal:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-name-geographical:w Subject-name-geographical:p Subject-name-personal:w Subject-name-personal:p">
+      <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:for-each select="marc:subfield">
-      <xslo:if test="contains('z', @code)">
-        <z:index name="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-chronological:w Subject-chronological:p Subject-name-personal:w Subject-name-personal:p">
+      <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>
@@ -1795,48 +1711,6 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
         </z:index>
       </xslo:if>
     </xslo:for-each>
-    <xslo:for-each select="marc:subfield">
-      <xslo:if test="contains('at', @code)">
-        <z:index name="Name-and-title:w Name-and-title:p Subject-title:w Subject-title:p Personal-name:w Personal-name:p Subject-name-personal:w Subject-name-personal:p Subject:w Subject:p">
-          <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="Name-and-title:w Name-and-title:p Subject-title:w Subject-title:p Subject-name-personal:w Subject-name-personal:p Subject:w Subject:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-genre-form:w Subject-genre-form:p Subject-title:w Subject-title: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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-title:w Subject-title:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-name-geographical:w Subject-name-geographical:p Subject-title:w Subject-title:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-chronological:w Subject-chronological:p Subject-title:w Subject-title:p">
-          <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">
@@ -1846,41 +1720,6 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
         </z:index>
       </xslo:if>
     </xslo:for-each>
-    <xslo:for-each select="marc:subfield">
-      <xslo:if test="contains('ahiklmnqrsuw', @code)">
-        <z:index name="Subject-title:w Subject-title:p Subject:w Subject:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-genre-form:w Subject-genre-form:p Subject-title:w Subject-title: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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-title:w Subject-title:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-name-geographical:w Subject-name-geographical:p Subject-title:w Subject-title:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-chronological:w Subject-chronological:p Subject-title:w Subject-title:p">
-          <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">
@@ -1890,41 +1729,6 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
         </z:index>
       </xslo:if>
     </xslo:for-each>
-    <xslo:for-each select="marc:subfield">
-      <xslo:if test="contains('a', @code)">
-        <z:index name="Subject-topical:w Subject-topical:p Subject:w Subject:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-genre-form:w Subject-genre-form:p Subject-topical:w Subject-topical: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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-topical:w Subject-topical:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-name-geographical:w Subject-name-geographical:p Subject-topical:w Subject-topical:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-chronological:w Subject-chronological:p Subject-topical:w Subject-topical:p">
-          <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">
@@ -1934,41 +1738,6 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
         </z:index>
       </xslo:if>
     </xslo:for-each>
-    <xslo:for-each select="marc:subfield">
-      <xslo:if test="contains('a', @code)">
-        <z:index name="Name-geographic:w Name-geographic:p Subject-name-geographical:w Subject-name-geographical:p Subject:w Subject:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-genre-form:w Subject-genre-form:p Subject-name-geographical:w Subject-name-geographical: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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-name-geographical:w Subject-name-geographical:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-name-geographical:w Subject-name-geographical:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-chronological:w Subject-chronological:p Subject-name-geographical:w Subject-name-geographical:p">
-          <xslo:value-of select="."/>
-        </z:index>
-      </xslo:if>
-    </xslo:for-each>
   </xslo:template>
   <xslo:template mode="index_subfields" match="marc:datafield[@tag='608']">
     <xslo:for-each select="marc:subfield">
@@ -1979,56 +1748,12 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
       </xslo:if>
     </xslo:for-each>
     <xslo:for-each select="marc:subfield">
-      <xslo:if test="contains('a', @code)">
-        <z:index name="Subject-genre-form:w Subject-genre-form:p Subject:w Subject:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-genre-form:w Subject-genre-form: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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-genre-form:w Subject-genre-form:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-name-geographical:w Subject-name-geographical:p Subject-genre-form:w Subject-genre-form:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-chronological:w Subject-chronological:p Subject-genre-form:w Subject-genre-form:p">
-          <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:for-each select="marc:subfield">
-      <xslo:if test="contains('a', @code)">
-        <z:index name="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='615']">
     <xslo:for-each select="marc:subfield">
@@ -2038,13 +1763,6 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
         </z:index>
       </xslo:if>
     </xslo:for-each>
-    <xslo:for-each select="marc:subfield">
-      <xslo:if test="contains('axnm', @code)">
-        <z:index name="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='616']">
     <xslo:for-each select="marc:subfield">
@@ -2054,41 +1772,6 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
         </z:index>
       </xslo:if>
     </xslo:for-each>
-    <xslo:for-each select="marc:subfield">
-      <xslo:if test="contains('a', @code)">
-        <z:index name="Subject:w Subject:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-genre-form:w Subject-genre-form: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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-name-geographical:w Subject-name-geographical:p">
-          <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="Subject:w Subject:p Subject-subdivision:w Subject-subdivision:p Subject-chronological:w Subject-chronological:w">
-          <xslo:value-of select="."/>
-        </z:index>
-      </xslo:if>
-    </xslo:for-each>
   </xslo:template>
   <xslo:template mode="index_subfields" match="marc:datafield[@tag='617']">
     <xslo:for-each select="marc:subfield">
@@ -2098,13 +1781,6 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
         </z:index>
       </xslo:if>
     </xslo:for-each>
-    <xslo:for-each select="marc:subfield">
-      <xslo:if test="contains('abcdefghiklmno', @code)">
-        <z:index name="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='620']">
     <xslo:for-each select="marc:subfield">
@@ -2114,13 +1790,6 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
         </z:index>
       </xslo:if>
     </xslo:for-each>
-    <xslo:for-each select="marc:subfield">
-      <xslo:if test="contains('abcdefghiklmno', @code)">
-        <z:index name="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='621']">
     <xslo:for-each select="marc:subfield">
@@ -2130,103 +1799,6 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
         </z:index>
       </xslo:if>
     </xslo:for-each>
-    <xslo:for-each select="marc:subfield">
-      <xslo:if test="contains('abcdefghiklmno', @code)">
-        <z:index name="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='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='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='660']">
-    <xslo:for-each select="marc:subfield">
-      <xslo:if test="contains('a', @code)">
-        <z:index name="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='661']">
-    <xslo:for-each select="marc:subfield">
-      <xslo:if test="contains('a', @code)">
-        <z:index name="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='675']">
     <xslo:for-each select="marc:subfield">
@@ -2680,6 +2252,188 @@ definition file (probably something like {biblio,authority}-koha-indexdefs.xml)
       <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='608']">
+    <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='615']">
+    <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='616']">
+    <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='617']">
+    <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='620']">
+    <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='621']">
+    <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='670']">
     <z:index name="Subject-precis:w Subject-precis:p">
       <xslo:variable name="raw_heading">