Bugzilla – Attachment 21840 Details for
Bug 7421
UNIMARC authorities DOM indexing mode
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
[SIGNED-OFF] Bug 7421 Add UNIMARC DOM Filter
Bug-7421-Add-UNIMARC-DOM-Filter.patch (text/plain), 78.76 KB, created by
Katrin Fischer
on 2013-10-06 22:16:55 UTC
(
hide
)
Description:
[SIGNED-OFF] Bug 7421 Add UNIMARC DOM Filter
Filename:
MIME Type:
Creator:
Katrin Fischer
Created:
2013-10-06 22:16:55 UTC
Size:
78.76 KB
patch
obsolete
>From 577ae6dadc372c2c31a5248ec9583a4298fdc9ba Mon Sep 17 00:00:00 2001 >From: Mathieu Saby <mathieu.saby@univ-rennes2.fr> >Date: Mon, 9 Jan 2012 08:58:20 +0100 >Subject: [PATCH] Bug 7421 Add UNIMARC DOM Filter > >I took as a base the patch of F. Demians, but made a lot of changes, so I think it is more logical to create a new patch as the behavior is not the same as previous patch. >I tried to define DOM config files as a "miror" of record.abs, so the behavior be the same. >If it is OK, we will be able to improve indexing later, for example suppressing warns, managing indicators or subdivisions, etc. >I made some little changes to record.abs : >- comments >- 216 was indexed in Conference-name as well as Trademark. I supposes "Conference-name" is an error, so I indexed only in Trademark >- index 2 new notes : 340 / 356 > >The only difference between record.abs and DOM is that DOM config files does not index complete fields, but subfields. >Ex : >melm 200 ===> <kohaidx:index_subfields tag="200" subfields="abcdfgjxyz"> >I took all the subfields from the UNIMARC Authorities manual. The only subfields not indexed are numeric subfields : $7, $8 for language of record, and $0,2,3,5,6 for 4XX/5XX/7XX > >To test : >- index a set of bib and auth records with GRS-1 >- make some searches on different kind of authorities >- index the same records with DOM >- make the same searches >- You are not supposed to see differences > >Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> >As I am not a UNIMARC user it's hard for me to test this, but >while testing other authority related patches I noticed that I couldn't >index the UNIMARC authorities of the sample base. The files are obviously >missing and reindex_zebra.pl notes this. With this patch applied, >indexing works and authorities are searchable in my installation. > >Signed-off-by: Vitor Fernandes <fvernandes@keep.pt> >--- > .../authorities/authority-koha-indexdefs.xml | 683 ++++++++++++++++++++ > .../authorities/authority-zebra-indexdefs.xsl | 669 +++++++++++++++++++ > .../marc_defs/unimarc/authorities/record.abs | 71 +- > 3 files changed, 1401 insertions(+), 22 deletions(-) > create mode 100644 etc/zebradb/marc_defs/unimarc/authorities/authority-koha-indexdefs.xml > create mode 100644 etc/zebradb/marc_defs/unimarc/authorities/authority-zebra-indexdefs.xsl > >diff --git a/etc/zebradb/marc_defs/unimarc/authorities/authority-koha-indexdefs.xml b/etc/zebradb/marc_defs/unimarc/authorities/authority-koha-indexdefs.xml >new file mode 100644 >index 0000000..3dd486b >--- /dev/null >+++ b/etc/zebradb/marc_defs/unimarc/authorities/authority-koha-indexdefs.xml >@@ -0,0 +1,683 @@ >+<?xml version="1.0" encoding="UTF-8"?> >+<!-- This is the canonical source for the authority DOM indexing configuration >+for UNIMARC.. To generate the authority-zebra-indexdefs.xsl file that Zebra uses, >+run the following command: >+`xsltproc koha-indexdefs-to-zebra.xsl authority-koha-indexdefs.xml > >+authority-zebra-indexdefs.xsl` >+--> >+<kohaidx:index_defs xmlns:kohaidx="http://www.koha-community.org/schemas/index-defs"> >+ <id>marc:controlfield[@tag='001']</id> >+ <!-- Original record ID --> >+ <kohaidx:index_control_field tag="001"> >+ <kohaidx:target_index>Local-Number:w</kohaidx:target_index> >+ <kohaidx:target_index>Local-Number:s</kohaidx:target_index> >+ <kohaidx:target_index>Local-Number:n</kohaidx:target_index> >+ </kohaidx:index_control_field> >+ >+ <!-- Personal name headings --> >+ <kohaidx:index_subfields tag="200" subfields="abcdfgjxyz"> >+ <kohaidx:target_index>Personal-name:w</kohaidx:target_index> >+ <kohaidx:target_index>Personal-name:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="200" subfields="a"> >+ <kohaidx:target_index>Heading:s</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:s</kohaidx:target_index> >+ <kohaidx:target_index>Personal-name-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Personal-name-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Personal-name-heading:s</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="400" subfields="abcdfgjxyz"> >+ <kohaidx:target_index>Personal-name-see:w</kohaidx:target_index> >+ <kohaidx:target_index>Personal-name-see:p</kohaidx:target_index> >+ <kohaidx:target_index>See:w</kohaidx:target_index> >+ <kohaidx:target_index>See:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="500" subfields="abcdfgjxyz"> >+ <kohaidx:target_index>Personal-name-see-also:w</kohaidx:target_index> >+ <kohaidx:target_index>Personal-name-see-also:p</kohaidx:target_index> >+ <kohaidx:target_index>See-also:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="700" subfields="a"> >+ <kohaidx:target_index>Personal-name-parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Personal-name-parallel:s</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <!-- Corporate name headings --> >+ <kohaidx:index_subfields tag="210" subfields="abcdefgjxyz"> >+ <kohaidx:target_index>Corporate-name:w</kohaidx:target_index> >+ <kohaidx:target_index>Corporate-name:p</kohaidx:target_index> >+ <kohaidx:target_index>Conference-name:w</kohaidx:target_index> >+ <kohaidx:target_index>Conference-name:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="210" subfields="a"> >+ <kohaidx:target_index>Heading:s</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:s</kohaidx:target_index> >+ <kohaidx:target_index>Corporate-name-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Corporate-name-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Corporate-name-heading:s</kohaidx:target_index> >+ <kohaidx:target_index>Conference-name-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Conference-name-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Conference-name-heading:s</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="410" subfields="abcdefgjxyz"> >+ <kohaidx:target_index>Corporate-name-see:w</kohaidx:target_index> >+ <kohaidx:target_index>Corporate-name-see:p</kohaidx:target_index> >+ <kohaidx:target_index>Conference-name-see:w</kohaidx:target_index> >+ <kohaidx:target_index>Conference-name-see:p</kohaidx:target_index> >+ <kohaidx:target_index>See:w</kohaidx:target_index> >+ <kohaidx:target_index>See:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="510" subfields="abcdefgjxyz"> >+ <kohaidx:target_index>Corporate-name-see-also:w</kohaidx:target_index> >+ <kohaidx:target_index>Corporate-name-see-also:p</kohaidx:target_index> >+ <kohaidx:target_index>Conference-name-see-also:w</kohaidx:target_index> >+ <kohaidx:target_index>Conference-name-see-also:p</kohaidx:target_index> >+ <kohaidx:target_index>See-also:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="710" subfields="abcdefgjxyz"> >+ <kohaidx:target_index>Corporate-name-parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Corporate-name-parallel:s</kohaidx:target_index> >+ <kohaidx:target_index>Conference-name-parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Conference-name-parallel:s</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <!-- Geographic name --> >+ <kohaidx:index_subfields tag="215" subfields="ajxyz"> >+ <kohaidx:target_index>Name-geographic:w</kohaidx:target_index> >+ <kohaidx:target_index>Name-geographic:p</kohaidx:target_index> >+ <kohaidx:target_index>Name-geographic:s</kohaidx:target_index> >+ <kohaidx:target_index>Term-geographic:w</kohaidx:target_index> >+ <kohaidx:target_index>Term-geographic:p</kohaidx:target_index> >+ <kohaidx:target_index>Term-geographic:s</kohaidx:target_index> >+ <kohaidx:target_index>Heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading:s</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="215" subfields="a"> >+ <kohaidx:target_index>Heading-Main:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:s</kohaidx:target_index> >+ <kohaidx:target_index>Name-geographic-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Name-geographic-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Name-geographic-heading:s</kohaidx:target_index> >+ <kohaidx:target_index>Term-geographic-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Term-geographic-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Term-geographic-heading:s</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="415" subfields="ajxyz"> >+ <kohaidx:target_index>Name-geographic-see:w</kohaidx:target_index> >+ <kohaidx:target_index>Name-geographic-see:p</kohaidx:target_index> >+ <kohaidx:target_index>Term-geographic-see:w</kohaidx:target_index> >+ <kohaidx:target_index>Term-geographic-see:p</kohaidx:target_index> >+ <kohaidx:target_index>Term-geographic-see:s</kohaidx:target_index> >+ <kohaidx:target_index>See:w</kohaidx:target_index> >+ <kohaidx:target_index>See:p</kohaidx:target_index> >+ <kohaidx:target_index>See:s</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="515" subfields="ajxyz"> >+ <kohaidx:target_index>Name-geographic-see-also:w</kohaidx:target_index> >+ <kohaidx:target_index>Name-geographic-see-also:p</kohaidx:target_index> >+ <kohaidx:target_index>Term-geographic-see-also:w</kohaidx:target_index> >+ <kohaidx:target_index>Term-geographic-see-also:p</kohaidx:target_index> >+ <kohaidx:target_index>Term-geographic-see-also:s</kohaidx:target_index> >+ <kohaidx:target_index>See-also:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="715" subfields="ajxyz"> >+ <kohaidx:target_index>Name-geographic-parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Name-geographic-parallel:s</kohaidx:target_index> >+ <kohaidx:target_index>Term-geographic-parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Term-geographic-parallel:s</kohaidx:target_index> >+ <kohaidx:target_index>Term-geographic-parallel:p</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <!-- Trademark--> >+ <kohaidx:index_subfields tag="216" subfields="afcjxyz"> >+ <kohaidx:target_index>Trademark:w</kohaidx:target_index> >+ <kohaidx:target_index>Trademark:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="216" subfields="a"> >+ <kohaidx:target_index>Heading:s</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:s</kohaidx:target_index> >+ <kohaidx:target_index>Trademark-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Trademark-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Trademark-heading:s</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="416" subfields="afcjxyz"> >+ <kohaidx:target_index>Trademark-see:w</kohaidx:target_index> >+ <kohaidx:target_index>Trademark-see:p</kohaidx:target_index> >+ <kohaidx:target_index>See:w</kohaidx:target_index> >+ <kohaidx:target_index>See:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="516" subfields="afcjxyz"> >+ <kohaidx:target_index>Trademark-see-also:w</kohaidx:target_index> >+ <kohaidx:target_index>Trademark-see-also:p</kohaidx:target_index> >+ <kohaidx:target_index>See-also:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="716" subfields="afcjxyz"> >+ <kohaidx:target_index>Trademark-parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Trademark-parallel:s</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <!-- Family name--> >+ <kohaidx:index_subfields tag="220" subfields="afjxyz"> >+ <kohaidx:target_index>Name:w</kohaidx:target_index> >+ <kohaidx:target_index>Name:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="220" subfields="a"> >+ <kohaidx:target_index>Heading:s</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:s</kohaidx:target_index> >+ <kohaidx:target_index>Name-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Name-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Name-heading:s</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="420" subfields="afjxyz"> >+ <kohaidx:target_index>Name-see:w</kohaidx:target_index> >+ <kohaidx:target_index>Name-see:p</kohaidx:target_index> >+ <kohaidx:target_index>See:w</kohaidx:target_index> >+ <kohaidx:target_index>See:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="520" subfields="afjxyz"> >+ <kohaidx:target_index>Name-see-also:w</kohaidx:target_index> >+ <kohaidx:target_index>Name-see-also:p</kohaidx:target_index> >+ <kohaidx:target_index>See-also:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="720" subfields="afjxyz"> >+ <kohaidx:target_index>Name-parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Name-parallel:s</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <!-- Uniform title --> >+ <kohaidx:index_subfields tag="230" subfields="abhiklmnqrsuwjxyz"> >+ <kohaidx:target_index>Title-uniform:w</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="230" subfields="a"> >+ <kohaidx:target_index>Heading:s</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:s</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-heading:s</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="430" subfields="abhiklmnqrsuwjxyz"> >+ <kohaidx:target_index>Title-uniform-see:w</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-see:p</kohaidx:target_index> >+ <kohaidx:target_index>See:w</kohaidx:target_index> >+ <kohaidx:target_index>See:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="530" subfields="abhiklmnqrsuwjxyz"> >+ <kohaidx:target_index>Title-uniform-see-also:w</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-see-also:p</kohaidx:target_index> >+ <kohaidx:target_index>See-also:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="730" subfields="a"> >+ <kohaidx:target_index>Title-uniform-parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-parallel:s</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <!-- Collective Uniform title --> >+ <kohaidx:index_subfields tag="235" subfields="abekmrsuwjxyz"> >+ <kohaidx:target_index>Title-uniform:w</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="235" subfields="a"> >+ <kohaidx:target_index>Heading:s</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:s</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-heading:s</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="435" subfields="abekmrsuwjxyz"> >+ <kohaidx:target_index>Title-uniform-see:w</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-see:p</kohaidx:target_index> >+ <kohaidx:target_index>See:w</kohaidx:target_index> >+ <kohaidx:target_index>See:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="535" subfields="abekmrsuwjxyz"> >+ <kohaidx:target_index>Title-uniform-see-also:w</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-see-also:p</kohaidx:target_index> >+ <kohaidx:target_index>See-also:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="735" subfields="a"> >+ <kohaidx:target_index>Title-uniform-parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-parallel:s</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <!-- Name and title --> >+ <kohaidx:index_subfields tag="240" subfields="atjxyz"> >+ <kohaidx:target_index>Name-Title:w</kohaidx:target_index> >+ <kohaidx:target_index>Name-Title:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="240" subfields="a"> >+ <kohaidx:target_index>Heading:s</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:s</kohaidx:target_index> >+ <kohaidx:target_index>Name-Title-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Name-Title-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Name-Title-heading:s</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="440" subfields="atjxyz"> >+ <kohaidx:target_index>Name-Title-see:w</kohaidx:target_index> >+ <kohaidx:target_index>Name-Title-see:p</kohaidx:target_index> >+ <kohaidx:target_index>See:w</kohaidx:target_index> >+ <kohaidx:target_index>See:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="540" subfields="atjxyz"> >+ <kohaidx:target_index>Name-Title-see-also:w</kohaidx:target_index> >+ <kohaidx:target_index>Name-Title-see-also:p</kohaidx:target_index> >+ <kohaidx:target_index>See-also:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="740" subfields="a"> >+ <kohaidx:target_index>Name-Title-parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Name-Title-parallel:s</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <!-- Name and collective title --> >+ <kohaidx:index_subfields tag="245" subfields="atjxyz"> >+ <kohaidx:target_index>Title-uniform:w</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="245" subfields="a"> >+ <kohaidx:target_index>Heading:s</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:s</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-heading:s</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="445" subfields="atjxyz"> >+ <kohaidx:target_index>Title-uniform-see:w</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-see:p</kohaidx:target_index> >+ <kohaidx:target_index>See:w</kohaidx:target_index> >+ <kohaidx:target_index>See:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="545" subfields="atjxyz"> >+ <kohaidx:target_index>Title-uniform-see-also:w</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-see-also:p</kohaidx:target_index> >+ <kohaidx:target_index>See-also:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="745" subfields="a"> >+ <kohaidx:target_index>Title-uniform-parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-parallel:s</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <!-- Topical term --> >+ <kohaidx:index_subfields tag="250" subfields="ajxyz"> >+ <kohaidx:target_index>Subject:w</kohaidx:target_index> >+ <kohaidx:target_index>Subject:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Subject-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Subject-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Subject-heading:s</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="250" subfields="a"> >+ <kohaidx:target_index>Heading:s</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:s</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="450" subfields="ajxyz"> >+ <kohaidx:target_index>Subject-see:w</kohaidx:target_index> >+ <kohaidx:target_index>Subject-see:p</kohaidx:target_index> >+ <kohaidx:target_index>See:w</kohaidx:target_index> >+ <kohaidx:target_index>See:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="550" subfields="ajxyz"> >+ <kohaidx:target_index>Subject-see-also:w</kohaidx:target_index> >+ <kohaidx:target_index>Subject-see-also:p</kohaidx:target_index> >+ <kohaidx:target_index>See-also:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="750" subfields="a"> >+ <kohaidx:target_index>Subject-parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Subject-parallel:s</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <!-- Place --> >+ <kohaidx:index_subfields tag="260" subfields="abcdjxyz"> >+ <kohaidx:target_index>Place:w</kohaidx:target_index> >+ <kohaidx:target_index>Place:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Place-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Place-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Place-heading:s</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="260" subfields="a"> >+ <kohaidx:target_index>Heading:s</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:s</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="460" subfields="abcdjxyz"> >+ <kohaidx:target_index>Place-see:w</kohaidx:target_index> >+ <kohaidx:target_index>Place-see:p</kohaidx:target_index> >+ <kohaidx:target_index>See:w</kohaidx:target_index> >+ <kohaidx:target_index>See:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="560" subfields="abcdjxyz"> >+ <kohaidx:target_index>Place-see-also:w</kohaidx:target_index> >+ <kohaidx:target_index>Place-see-also:p</kohaidx:target_index> >+ <kohaidx:target_index>See-also:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="760" subfields="a"> >+ <kohaidx:target_index>Place-parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Place-parallel:s</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <!-- Genre/form --> >+ <kohaidx:index_subfields tag="280" subfields="ajxyz"> >+ <kohaidx:target_index>Form:w</kohaidx:target_index> >+ <kohaidx:target_index>Form:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Form-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Form-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Form-heading:s</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="280" subfields="a"> >+ <kohaidx:target_index>Heading:s</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading-Main:s</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="480" subfields="ajxyz"> >+ <kohaidx:target_index>Form-see:w</kohaidx:target_index> >+ <kohaidx:target_index>Form-see:p</kohaidx:target_index> >+ <kohaidx:target_index>See:w</kohaidx:target_index> >+ <kohaidx:target_index>See:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:w</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-form:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="580" subfields="ajxyz"> >+ <kohaidx:target_index>Form-see-also:w</kohaidx:target_index> >+ <kohaidx:target_index>Form-see-also:p</kohaidx:target_index> >+ <kohaidx:target_index>See-also:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <kohaidx:index_subfields tag="780" subfields="a"> >+ <kohaidx:target_index>Form-parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Form-parallel:s</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:w</kohaidx:target_index> >+ <kohaidx:target_index>Parallel:p</kohaidx:target_index> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <!-- Notes 300, 305, 310, 320, 330, 340, 356--> >+ <kohaidx:index_subfields tag="300" subfields="a"> >+ <kohaidx:target_index>Note:w</kohaidx:target_index> >+ <kohaidx:target_index>Note:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="305" subfields="a"> >+ <kohaidx:target_index>Note:w</kohaidx:target_index> >+ <kohaidx:target_index>Note:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="310" subfields="a"> >+ <kohaidx:target_index>Note:w</kohaidx:target_index> >+ <kohaidx:target_index>Note:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="320" subfields="a"> >+ <kohaidx:target_index>Note:w</kohaidx:target_index> >+ <kohaidx:target_index>Note:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="330" subfields="a"> >+ <kohaidx:target_index>Note:w</kohaidx:target_index> >+ <kohaidx:target_index>Note:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="340" subfields="a"> >+ <kohaidx:target_index>Note:w</kohaidx:target_index> >+ <kohaidx:target_index>Note:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="356" subfields="a"> >+ <kohaidx:target_index>Note:w</kohaidx:target_index> >+ <kohaidx:target_index>Note:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <!-- authtype--> >+ <kohaidx:index_subfields tag="152" subfields="b"> >+ <kohaidx:target_index>authtype:w</kohaidx:target_index> >+ <kohaidx:target_index>authtype:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_subfields tag="942" subfields="a"> >+ <kohaidx:target_index>authtype:w</kohaidx:target_index> >+ </kohaidx:index_subfields> >+</kohaidx:index_defs> >diff --git a/etc/zebradb/marc_defs/unimarc/authorities/authority-zebra-indexdefs.xsl b/etc/zebradb/marc_defs/unimarc/authorities/authority-zebra-indexdefs.xsl >new file mode 100644 >index 0000000..0b84c34 >--- /dev/null >+++ b/etc/zebradb/marc_defs/unimarc/authorities/authority-zebra-indexdefs.xsl >@@ -0,0 +1,669 @@ >+<?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_heading_conditional"/> >+ <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="idfield" select="normalize-space(marc:controlfield[@tag='001'])"/> >+ <z:record type="update"> >+ <xslo:attribute name="z:id"> >+ <xslo:value-of select="$idfield"/> >+ </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_heading_conditional"/> >+ <xslo:apply-templates mode="index_match_heading"/> >+ <xslo:apply-templates mode="index_subject_thesaurus"/> >+ <xslo:apply-templates mode="index_all"/> >+ </z:record> >+ </xslo:template> >+ <xslo:template match="marc:controlfield[@tag='001']"> >+ <z:index name="Local-Number:w Local-Number:s Local-Number:n"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='200']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abcdfgjxyz', @code)"> >+ <z:index name="Personal-name:w Personal-name:p Heading:w Heading:p Match:w Match:p Match-heading:w Match-heading: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="Heading:s Heading-Main:w Heading-Main:p Heading-Main:s Personal-name-heading:w Personal-name-heading:p Personal-name-heading:s"> >+ <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('abcdfgjxyz', @code)"> >+ <z:index name="Personal-name-see:w Personal-name-see:p See:w See:p Match:w Match:p Match-heading-see-form:w Match-heading-see-form: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('abcdfgjxyz', @code)"> >+ <z:index name="Personal-name-see-also:w Personal-name-see-also:p See-also:w See-also:p Match:w Match:p"> >+ <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('a', @code)"> >+ <z:index name="Personal-name-parallel:w Personal-name-parallel:s Parallel:w Parallel:p Match:w Match:p"> >+ <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('abcdefgjxyz', @code)"> >+ <z:index name="Corporate-name:w Corporate-name:p Conference-name:w Conference-name:p Heading:w Heading:p Match:w Match:p Match-heading:w Match-heading: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="Heading:s Heading-Main:w Heading-Main:p Heading-Main:s Corporate-name-heading:w Corporate-name-heading:p Corporate-name-heading:s Conference-name-heading:w Conference-name-heading:p Conference-name-heading:s"> >+ <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('abcdefgjxyz', @code)"> >+ <z:index name="Corporate-name-see:w Corporate-name-see:p Conference-name-see:w Conference-name-see:p See:w See:p Match:w Match:p Match-heading-see-form:w Match-heading-see-form:p"> >+ <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('abcdefgjxyz', @code)"> >+ <z:index name="Corporate-name-see-also:w Corporate-name-see-also:p Conference-name-see-also:w Conference-name-see-also:p See-also:w See-also:p Match:w Match:p"> >+ <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('abcdefgjxyz', @code)"> >+ <z:index name="Corporate-name-parallel:w Corporate-name-parallel:s Conference-name-parallel:w Conference-name-parallel:s Parallel:w Parallel:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='215']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)"> >+ <z:index name="Name-geographic:w Name-geographic:p Name-geographic:s Term-geographic:w Term-geographic:p Term-geographic:s Heading:w Heading:p Heading:s Match:w Match:p Match-heading:w Match-heading: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="Heading-Main:w Heading-Main:p Heading-Main:s Name-geographic-heading:w Name-geographic-heading:p Name-geographic-heading:s Term-geographic-heading:w Term-geographic-heading:p Term-geographic-heading:s"> >+ <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('ajxyz', @code)"> >+ <z:index name="Name-geographic-see:w Name-geographic-see:p Term-geographic-see:w Term-geographic-see:p Term-geographic-see:s See:w See:p See:s Match:w Match:p Match-heading-see-form:w Match-heading-see-form:p"> >+ <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('ajxyz', @code)"> >+ <z:index name="Name-geographic-see-also:w Name-geographic-see-also:p Term-geographic-see-also:w Term-geographic-see-also:p Term-geographic-see-also:s See-also:w See-also:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='715']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)"> >+ <z:index name="Name-geographic-parallel:w Name-geographic-parallel:s Term-geographic-parallel:w Term-geographic-parallel:s Term-geographic-parallel:p Parallel:w Parallel:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='216']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('afcjxyz', @code)"> >+ <z:index name="Trademark:w Trademark:p Heading:w Heading:p Match:w Match:p Match-heading:w Match-heading: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="Heading:s Heading-Main:w Heading-Main:p Heading-Main:s Trademark-heading:w Trademark-heading:p Trademark-heading:s"> >+ <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('afcjxyz', @code)"> >+ <z:index name="Trademark-see:w Trademark-see:p See:w See:p Match:w Match:p Match-heading-see-form:w Match-heading-see-form:p"> >+ <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('afcjxyz', @code)"> >+ <z:index name="Trademark-see-also:w Trademark-see-also:p See-also:w See-also:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='716']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('afcjxyz', @code)"> >+ <z:index name="Trademark-parallel:w Trademark-parallel:s Parallel:w Parallel:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='220']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('afjxyz', @code)"> >+ <z:index name="Name:w Name:p Heading:w Heading:p Match:w Match:p Match-heading:w Match-heading: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="Heading:s Heading-Main:w Heading-Main:p Heading-Main:s Name-heading:w Name-heading:p Name-heading:s"> >+ <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('afjxyz', @code)"> >+ <z:index name="Name-see:w Name-see:p See:w See:p Match:w Match:p Match-heading-see-form:w Match-heading-see-form:p"> >+ <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('afjxyz', @code)"> >+ <z:index name="Name-see-also:w Name-see-also:p See-also:w See-also:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='720']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('afjxyz', @code)"> >+ <z:index name="Name-parallel:w Name-parallel:s Parallel:w Parallel:p Match:w Match:p"> >+ <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('abhiklmnqrsuwjxyz', @code)"> >+ <z:index name="Title-uniform:w Title-uniform:p Heading:w Heading:p Match:w Match:p Match-heading:w Match-heading: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="Heading:s Heading-Main:w Heading-Main:p Heading-Main:s Title-uniform-heading:w Title-uniform-heading:p Title-uniform-heading:s"> >+ <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('abhiklmnqrsuwjxyz', @code)"> >+ <z:index name="Title-uniform-see:w Title-uniform-see:p See:w See:p Match:w Match:p Match-heading-see-form:w Match-heading-see-form:p"> >+ <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('abhiklmnqrsuwjxyz', @code)"> >+ <z:index name="Title-uniform-see-also:w Title-uniform-see-also:p See-also:w See-also:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='730']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('a', @code)"> >+ <z:index name="Title-uniform-parallel:w Title-uniform-parallel:s Parallel:w Parallel:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='235']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abekmrsuwjxyz', @code)"> >+ <z:index name="Title-uniform:w Title-uniform:p Heading:w Heading:p Match:w Match:p Match-heading:w Match-heading: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="Heading:s Heading-Main:w Heading-Main:p Heading-Main:s Title-uniform-heading:w Title-uniform-heading:p Title-uniform-heading:s"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='435']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abekmrsuwjxyz', @code)"> >+ <z:index name="Title-uniform-see:w Title-uniform-see:p See:w See:p Match:w Match:p Match-heading-see-form:w Match-heading-see-form:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='535']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abekmrsuwjxyz', @code)"> >+ <z:index name="Title-uniform-see-also:w Title-uniform-see-also:p See-also:w See-also:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='735']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('a', @code)"> >+ <z:index name="Title-uniform-parallel:w Title-uniform-parallel:s Parallel:w Parallel:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='240']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('atjxyz', @code)"> >+ <z:index name="Name-Title:w Name-Title:p Heading:w Heading:p Match:w Match:p Match-heading:w Match-heading: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="Heading:s Heading-Main:w Heading-Main:p Heading-Main:s Name-Title-heading:w Name-Title-heading:p Name-Title-heading:s"> >+ <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('atjxyz', @code)"> >+ <z:index name="Name-Title-see:w Name-Title-see:p See:w See:p Match:w Match:p Match-heading-see-form:w Match-heading-see-form:p"> >+ <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('atjxyz', @code)"> >+ <z:index name="Name-Title-see-also:w Name-Title-see-also:p See-also:w See-also:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='740']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('a', @code)"> >+ <z:index name="Name-Title-parallel:w Name-Title-parallel:s Parallel:w Parallel:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='245']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('atjxyz', @code)"> >+ <z:index name="Title-uniform:w Title-uniform:p Heading:w Heading:p Match:w Match:p Match-heading:w Match-heading: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="Heading:s Heading-Main:w Heading-Main:p Heading-Main:s Title-uniform-heading:w Title-uniform-heading:p Title-uniform-heading:s"> >+ <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('atjxyz', @code)"> >+ <z:index name="Title-uniform-see:w Title-uniform-see:p See:w See:p Match:w Match:p Match-heading-see-form:w Match-heading-see-form:p"> >+ <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('atjxyz', @code)"> >+ <z:index name="Title-uniform-see-also:w Title-uniform-see-also:p See-also:w See-also:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='745']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('a', @code)"> >+ <z:index name="Title-uniform-parallel:w Title-uniform-parallel:s Parallel:w Parallel:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='250']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)"> >+ <z:index name="Subject:w Subject:p Heading:w Heading:p Match:w Match:p Match-heading:w Match-heading:p Subject-heading:w Subject-heading:p Subject-heading:s"> >+ <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="Heading:s Heading-Main:w Heading-Main:p Heading-Main:s"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='450']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)"> >+ <z:index name="Subject-see:w Subject-see:p See:w See:p Match:w Match:p Match-heading-see-form:w Match-heading-see-form:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='550']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)"> >+ <z:index name="Subject-see-also:w Subject-see-also:p See-also:w See-also:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='750']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('a', @code)"> >+ <z:index name="Subject-parallel:w Subject-parallel:s Parallel:w Parallel:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='260']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abcdjxyz', @code)"> >+ <z:index name="Place:w Place:p Heading:w Heading:p Match:w Match:p Match-heading:w Match-heading:p Place-heading:w Place-heading:p Place-heading:s"> >+ <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="Heading:s Heading-Main:w Heading-Main:p Heading-Main:s"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='460']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abcdjxyz', @code)"> >+ <z:index name="Place-see:w Place-see:p See:w See:p Match:w Match:p Match-heading-see-form:w Match-heading-see-form:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='560']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abcdjxyz', @code)"> >+ <z:index name="Place-see-also:w Place-see-also:p See-also:w See-also:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='760']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('a', @code)"> >+ <z:index name="Place-parallel:w Place-parallel:s Parallel:w Parallel:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='280']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)"> >+ <z:index name="Form:w Form:p Heading:w Heading:p Match:w Match:p Match-heading:w Match-heading:p Form-heading:w Form-heading:p Form-heading:s"> >+ <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="Heading:s Heading-Main:w Heading-Main:p Heading-Main:s"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='480']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)"> >+ <z:index name="Form-see:w Form-see:p See:w See:p Match:w Match:p Match-heading-see-form:w Match-heading-see-form:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='580']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)"> >+ <z:index name="Form-see-also:w Form-see-also:p See-also:w See-also:p Match:w Match:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='780']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('a', @code)"> >+ <z:index name="Form-parallel:w Form-parallel:s Parallel:w Parallel:p Match:w Match:p"> >+ <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='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='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='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='330']"> >+ <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='340']"> >+ <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='356']"> >+ <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='152']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('b', @code)"> >+ <z:index name="authtype:w authtype:p"> >+ <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('a', @code)"> >+ <z:index name="authtype:w"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_all" match="text()"> >+ <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> >diff --git a/etc/zebradb/marc_defs/unimarc/authorities/record.abs b/etc/zebradb/marc_defs/unimarc/authorities/record.abs >index 5c992a8..b2a1559 100644 >--- a/etc/zebradb/marc_defs/unimarc/authorities/record.abs >+++ b/etc/zebradb/marc_defs/unimarc/authorities/record.abs >@@ -1,3 +1,11 @@ >+# >+# NOTE: If you are using the DOM index filter, this configuration file is >+# *not* used. To update the index definitions for the DOM filter, >+# edit authority-koha-indexdefs.xml and run >+# xsltproc ../../../xsl/koha-indexdefs-to-zebra.xsl \ >+# authority-koha-indexdefs.xml \ >+# > authority-zebra-indexdefs.xsl >+# > # This is a fairly simple set of UNIMARC Authority indexing rules > encoding utf-8 > name authorities >@@ -12,9 +20,14 @@ xpath enable > > all any > melm 001 Local-Number,Local-Number:n,Local-Number:s >+#FIXME check if 942 is used > melm 942$a authtype > melm 152$b authtype:w,authtype:p > >+#FIXME index some coded fields and leader positions? >+#FIXME why only $a indexed for some 7XX and not for others (710, 715, 716, 720)? >+#FIXME why 250/260/280 indexed as Subject-heading, Place-heading and Form-heading (not only 250/260/280$a) ? >+ > # Personal Name > melm 200$a Personal-name-heading:w,Personal-name-heading:p,Personal-name-heading:s,Personal-name:w,Personal-name:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s,Match:w,Match:p,Match-heading:w,Match-heading:p > melm 200 Personal-name:w,Personal-name:p,Heading:w,Heading:p,Match:w,Match:p,Match-heading:w,Match-heading:p >@@ -22,15 +35,17 @@ melm 400 Personal-name-see:w,Personal-name-see:p,See:w,See:p,Match:w,Match:p,Mat > melm 500 Personal-name-see-also:w,Personal-name-see-also:p,See-also:w,See-also:p,Match:w,Match:p > melm 700$a Personal-name-parallel:w,Personal-name-parallel:p,Parallel:w,Parallel:p,Match:w,Match:p > >-# Corporate Name >+# Corporate Name and conference Name >+# with GRS-1, no way to make the difference >+# with DOM, possible > melm 210$a Corporate-name-heading:w,Corporate-name-heading:p,Corporate-name-heading:s,Corporate-name:w,Corporate-name:p,Conference-name-heading:w,Conference-name-heading:p,Conference-name-heading:s,Conference-name:w,Conference-name:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s,Match:w,Match:p,Match-heading:w,Match-heading:p > melm 210 Corporate-name:w,Corporate-name:p,Conference-name:w,Conference-name:p,Heading:w,Heading:p,Match:w,Match:p,Match-heading:w,Match-heading:p > melm 410 Corporate-name-see:w,Corporate-name-see:p,Conference-name-see:w,Conference-name-see:p,See:w,See:p,Match:w,Match:p,Match-heading-see-from:w,Match-heading-see-from:p > melm 510 Corporate-name-see-also:w,Corporate-name-see-also:p,Conference-name-see-also:w,Conference-name-see-also:p,See-also:w,See-also:p,Match:w,Match:p > melm 710 Corporate-name-parallel:w,Corporate-name-parallel:p,Parallel:w,Parallel:p,Match:w,Match:p > >- >-# Geographic & Geographic Name >+# Geographic Name >+# FIXME : what is Term-geographic? > melm 215$a Name-geographic-heading:w,Name-geographic-heading:w,Name-geographic-heading:s,Name-geographic:w,Name-geographic:p,Term-geographic-heading:w,Term-geographic-heading:p,Term-geographic-heading:s,Term-geographic:w,Term-geographic:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s,Match:w,Match:p,Match-heading:w,Match-heading:p > melm 215 Name-geographic-heading:w,Name-geographic-heading:w,Name-geographic-heading:s,Name-geographic:w,Name-geographic:p,Term-geographic:w,Term-geographic:p,Term-geographic:s,Heading:w,Heading:p,Heading:s,Match:w,Match:p,Match-heading:w,Match-heading:p > melm 415 Name-geographic-see:w,Name-geographic-see:p,Term-geographic-see:w,Term-geographic-see:p,Term-geographic-see:s,See:w,See:p,See:s,Match:w,Match:p,Match-heading-see-from:w,Match-heading-see-from:p >@@ -38,10 +53,10 @@ melm 515 Name-geographic-see-also:w,Name-geographic-see-also:p,Term-geographic-s > melm 715 Name-geographic-parallel:w,Name-geographic-parallel:p,Term-geographic-parallel:w,Term-geographic-parallel:p,Term-geographic-parallel:s,Parallel:w,Parallel:p,Parallel:s,Match:w,Match:p > > # Trademark >-melm 216$a Trademark-heading:w,Trademark-heading:p,Trademark-heading:s,Trademark:w,Trademark:p,Conference-name-heading:w,Conference-name-heading:p,Conference-name-heading:s,Conference-name:w,Conference-name:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s,Match:w,Match:p,Match-heading:w,Match-heading:p >-melm 216 Trademark:w,Trademark:p,Conference-name:w,Conference-name:p,Heading:w,Heading:p,Match:w,Match:p,Match-heading:w,Match-heading:p >-melm 416 Trademark-see:w,Trademark-see:p,Conference-name-see:w,Conference-name-see:p,See:w,See:p,Match:w,Match:p,Match-heading-see-from:w,Match-heading-see-from:p >-melm 516 Trademark-see-also:w,Trademark-see-also:p,Conference-name-see-also:w,Conference-name-see-also:p,See-also:w,See-also:p,Match:w,Match:p >+melm 216$a Trademark-heading:w,Trademark-heading:p,Trademark-heading:s,Trademark:w,Trademark:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s,Match:w,Match:p,Match-heading:w,Match-heading:p >+melm 216 Trademark:w,Trademark:p,Heading:w,Heading:p,Match:w,Match:p,Match-heading:w,Match-heading:p >+melm 416 Trademark-see:w,Trademark-see:p,See:w,See:p,Match:w,Match:p,Match-heading-see-from:w,Match-heading-see-from:p >+melm 516 Trademark-see-also:w,Trademark-see-also:p,See-also:w,See-also:p,Match:w,Match:p > melm 716 Trademark-parallel:w,Trademark-parallel:p,Parallel:w,Parallel:p,Match:w,Match:p > > # Family Name >@@ -58,21 +73,22 @@ melm 430 Title-uniform-see:w,Title-uniform-see:p,See:w,See:p,Match:w,Match:p,Mat > melm 530 Title-uniform-see-also:w,Title-uniform-see-also:p,See-also:w,See-also:p,Match:w,Match:p > melm 730$a Title-uniform-parallel:w,Title-uniform-parallel:p,Parallel:w,Parallel:p,Match:w,Match:p > >-# Second area for uniform titles in UNIMARC? >+# Collective Uniform Title > melm 235$a Title-uniform-heading:w,Title-uniform-heading:p,Title-uniform-heading:s,Title-uniform:w,Title-uniform:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s,Match:w,Match:p,Match-heading:w,Match-heading:p > melm 235 Title-uniform:w,Title-uniform:p,Heading:w,Heading:p,Match:w,Match:p,Match-heading:w,Match-heading:p > melm 435 Title-uniform-see:w,Title-uniform-see:p,See:w,See:p,Match:w,Match:p,Match-heading-see-from:w,Match-heading-see-from:p > melm 535 Title-uniform-see-also:w,Title-uniform-see-also:p,See-also:w,See-also:p,Match:w,Match:p > melm 735$a Title-uniform-parallel:w,Title-uniform-parallel:p,Parallel:w,Parallel:p,Match:w,Match:p > >-# Uniform Title >+# Name and Title > melm 240$a Name-Title-heading:w,Name-Title-heading:p,Name-Title-heading:s,Name-Title:w,Name-Title:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s,Match:w,Match:p,Match-heading:w,Match-heading:p > melm 240 Name-Title:w,Name-Title:p,Heading:w,Heading:p,Match:w,Match:p,Match-heading:w,Match-heading:p > melm 440 Name-Title-see:w,Name-Title-see:p,See:w,See:p,Match:w,Match:p,Match-heading-see-from:w,Match-heading-see-from:p > melm 540 Name-Title-see-also:w,Name-Title-see-also:p,See-also:w,See-also:p,Match:w,Match:p > melm 740$a Name-Title-parallel:w,Name-Title-parallel:p,Parallel:w,Parallel:p,Match:w,Match:p > >-# Second area for uniform titles in UNIMARC? >+# Name and Collective Title >+# FIXME maybe use Name-Title index? > melm 245$a Title-uniform-heading:w,Title-uniform-heading:p,Title-uniform-heading:s,Title-uniform:w,Title-uniform:p,Heading:w,Heading:p,Heading:s,Heading-Main:w,Heading-Main:p,Heading-Main:s,Match:w,Match:p,Match-heading:w,Match-heading:p > melm 245 Title-uniform:w,Title-uniform:p,Heading:w,Heading:p,Match:w,Match:p,Match-heading:w,Match-heading:p > melm 445 Title-uniform-see:w,Title-uniform-see:p,See:w,See:p,Match:w,Match:p,Match-heading-see-from:w,Match-heading-see-from:p >@@ -101,26 +117,39 @@ melm 580 Form-see-also:w,Form-see-also:p,See-also:w,See-also:p,Match:w,Match:p > melm 780$a Form-parallel:w,Form-parallel:p,Parallel:w,Parallel:p,Match:w,Match:p > > >-# NOTE: subdivisions management missing from Koha >-# Not in UNIMARC? >+# FIXME: manage subdivisions ($j,$x,$y,$z) > # General Subdivision >-# melm 180 Subject-subdivision,Heading:w,Heading:p,Heading:s >+# Subject-subdivision,Heading:w,Heading:p,Heading:s > # Geographic Subdivision >-# melm 181 Geographic-subdivision,Heading:w,Heading:p,Heading:s >+# Geographic-subdivision,Heading:w,Heading:p,Heading:s > # Chronological Subdivision >-# melm 182 Chronological-subdivision,Heading:w,Heading:p,Heading:s >+# Chronological-subdivision,Heading:w,Heading:p,Heading:s > # Form Subdivision >-# melm 185 Form-subdivision,Heading:w,Heading:p,Heading:s >-melm 300$a Note >+# Form-subdivision,Heading:w,Heading:p,Heading:s >+ >+# 300 Information note >+melm 300$a Note:w,Note:p >+# 305 "See also" reference note >+melm 305$a Note:w,Note:p >+# 310 "See" reference note >+melm 310$a Note:w,Note:p >+# 320 General explanatory reference note >+melm 320$a Note:w,Note:p >+# 330 General scope note >+melm 330$a Note:w,Note:p >+# 340 Biography and activity note >+melm 340$a Note:w,Note:p >+# 356 Geographical note >+melm 356$a Note:w,Note:p >+ >+#FIXME Notes not defined in format. Keeping them for the moment > melm 301$a Note > melm 302$a Note > melm 303$a Note > melm 304$a Note >-melm 305$a Note > melm 306$a Note > melm 307$a Note > melm 308$a Note >-melm 310$a Note > melm 311$a Note > melm 312$a Note > melm 313$a Note >@@ -129,7 +158,6 @@ melm 315$a Note > melm 316$a Note > melm 317$a Note > melm 318$a Note >-melm 320$a Note > melm 321$a Note > melm 322$a Note > melm 323$a Note >@@ -138,9 +166,8 @@ melm 325$a Note > melm 326$a Note > melm 327$a Note > melm 328$a Note >-melm 330$a Note > melm 332$a Note > melm 333$a Note > melm 336$a Note > melm 337$a Note >-melm 345$a Note >+melm 345$a Note >\ No newline at end of file >-- >1.7.9.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 7421
:
7089
|
10559
|
10881
|
12852
|
13037
|
13051
|
17261
|
20876
| 21840 |
21956
|
21957