Bugzilla – Attachment 12852 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]
Add UNIMARC DOM Filter
0001-Bug-7421-Add-UNIMARC-DOM-Filter.patch (text/plain), 140.87 KB, created by
Frédéric Demians
on 2012-10-16 15:28:08 UTC
(
hide
)
Description:
Add UNIMARC DOM Filter
Filename:
MIME Type:
Creator:
Frédéric Demians
Created:
2012-10-16 15:28:08 UTC
Size:
140.87 KB
patch
obsolete
>From 97381346e2dd7157dbfad2fc59940404cea85825 Mon Sep 17 00:00:00 2001 >From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Demians?= <f.demians@tamil.fr> >Date: Mon, 9 Jan 2012 08:58:20 +0100 >Subject: [PATCH] Bug 7421 Add UNIMARC DOM Filter > >--- > .../authorities/authority-koha-indexdefs.xml | 584 +++++ > .../authorities/authority-zebra-indexdefs.xsl | 2261 ++++++++++++++++++++ > 2 files changed, 2845 insertions(+) > 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..0e6fa4f >--- /dev/null >+++ b/etc/zebradb/marc_defs/unimarc/authorities/authority-koha-indexdefs.xml >@@ -0,0 +1,584 @@ >+<?xml version="1.0" encoding="UTF-8"?> >+<!-- This is the canonical source for the authority DOM indexing configuration >+for MARC21. 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"> >+ <!-- variables --> >+ <kohaidx:var name="form_subdivision_subfield">j</kohaidx:var> >+ <kohaidx:var name="general_subdivision_subfield">x</kohaidx:var> >+ <kohaidx:var name="chronological_subdivision_subfield">z</kohaidx:var> >+ <kohaidx:var name="geographic_subdivision_subfield">y</kohaidx:var> >+ >+ <!-- Leader --> >+ <kohaidx:index_leader offset="5" length="1"> >+ <kohaidx:target_index>Record-status:w</kohaidx:target_index> >+ </kohaidx:index_leader> >+ <kohaidx:index_leader offset="17" length="1"> >+ <kohaidx:target_index>Encoding-level:w</kohaidx:target_index> >+ </kohaidx:index_leader> >+ >+ <!-- 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:index_control_field> >+ >+ <!-- 008 --> >+ <kohaidx:index_control_field tag="008" offset="9" length="1"> >+ <kohaidx:target_index>Kind-of-record:w</kohaidx:target_index> >+ </kohaidx:index_control_field> >+ <kohaidx:index_control_field tag="008" offset="10" length="1"> >+ <kohaidx:target_index>Descriptive-cataloging-rules:w</kohaidx:target_index> >+ </kohaidx:index_control_field> >+ <kohaidx:index_subject_thesaurus tag="008" offset="11" length="1" detail_tag="040" detail_subfields="f"> >+ <kohaidx:target_index>Subject-heading-thesaurus:w</kohaidx:target_index> >+ </kohaidx:index_subject_thesaurus> >+ <kohaidx:index_control_field tag="008" offset="14" length="1"> >+ <kohaidx:target_index>Heading-use-main-or-added-entry:w</kohaidx:target_index> >+ </kohaidx:index_control_field> >+ <kohaidx:index_control_field tag="008" offset="15" length="1"> >+ <kohaidx:target_index>Heading-use-subject-added-entry:w</kohaidx:target_index> >+ </kohaidx:index_control_field> >+ <kohaidx:index_control_field tag="008" offset="16" length="1"> >+ <kohaidx:target_index>Heading-use-series-added-entry:w</kohaidx:target_index> >+ </kohaidx:index_control_field> >+ >+ <!-- 010 LC Number --> >+ <kohaidx:index_subfields tag="010" subfields="az"> >+ <kohaidx:target_index>LC-card-number:w</kohaidx:target_index> >+ <kohaidx:target_index>LC-card-number:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ <!-- 040 cataloging agencies --> >+ <kohaidx:index_subfields tag="040" subfields="acd"> >+ <kohaidx:target_index>Record-source:w</kohaidx:target_index> >+ <kohaidx:target_index>Record-source:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ >+ >+ <!-- Personal name headings --> >+ <kohaidx:index_subfields tag="200" subfields="abcdefghjklmnopqrstvxyz"> >+ <kohaidx:target_index>Personal-name:w</kohaidx:target_index> >+ <kohaidx:target_index>Personal-name:p</kohaidx:target_index> >+ <kohaidx:target_index>Personal-name:s</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_heading tag="200" subfields="abcdefghjklmnopqrstvxyz" subdivisions="jxyz"> >+ <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:target_index>Heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_heading tag="200" 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:index_heading> >+ <kohaidx:index_match_heading tag="100" subfields="abcdefghjklmnopqrstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="400" subfields="abcdefghjklmnopqrstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Personal-name-see-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Personal-name-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Personal-name-see-from:s</kohaidx:target_index> >+ <kohaidx:target_index>See-from:w</kohaidx:target_index> >+ <kohaidx:target_index>See-from:p</kohaidx:target_index> >+ <kohaidx:target_index>See-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="400" subfields="abcdefghjklmnopqrstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-from:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="500" subfields="abcdefghjklmnopqrstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Personal-name-see-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Personal-name-see-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Personal-name-see-also-from:s</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="500" subfields="abcdefghjklmnopqrstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <!-- Corporate name headings --> >+ <kohaidx:index_subfields tag="210" subfields="abcdefghklmnoprstvxyz"> >+ <kohaidx:target_index>Corporate-name:w</kohaidx:target_index> >+ <kohaidx:target_index>Corporate-name:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_heading tag="210" subfields="abcdefghklmnoprstvxyz" subdivisions="jxyz"> >+ <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>Heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_heading tag="210" 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:index_heading> >+ <kohaidx:index_match_heading tag="210" subfields="abcdefghklmnoprstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="410" subfields="abcdefghklmnoprstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Corporate-name-see-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Corporate-name-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Corporate-name-see-from:s</kohaidx:target_index> >+ <kohaidx:target_index>See-from:w</kohaidx:target_index> >+ <kohaidx:target_index>See-from:p</kohaidx:target_index> >+ <kohaidx:target_index>See-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="410" subfields="abcdefghklmnoprstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-from:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="510" subfields="abcdefghklmnoprstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Corporate-name-see-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Corporate-name-see-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Corporate-name-see-also-from:s</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="510" subfields="abcdefghklmnoprstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <!-- Meeting name --> >+ <kohaidx:index_subfields tag="211" subfields="acdefghjklnpqstvxyz"> >+ <kohaidx:target_index>Meeting-name:w</kohaidx:target_index> >+ <kohaidx:target_index>Meeting-name:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_heading tag="211" subfields="acdefghjklnpqstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Meeting-name-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Meeting-name-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Meeting-name-heading: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:index_heading> >+ <kohaidx:index_heading tag="211" 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:index_heading> >+ <kohaidx:index_match_heading tag="211" subfields="acdefghjklnpqstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="411" subfields="acdefghjklnpqstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Meeting-name-see-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Meeting-name-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Meeting-name-see-from:s</kohaidx:target_index> >+ <kohaidx:target_index>See-from:w</kohaidx:target_index> >+ <kohaidx:target_index>See-from:p</kohaidx:target_index> >+ <kohaidx:target_index>See-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="411" subfields="acdefghjklnpqstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-from:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="511" subfields="acdefghjklnpqstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Meeting-name-see-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Meeting-name-see-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Meeting-name-see-also-from:s</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="511" subfields="acdefghjklnpqstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <!-- Uniform title --> >+ <kohaidx:index_subfields tag="230" subfields="adfghklmnoprstvxyz"> >+ <kohaidx:target_index>Title-uniform:w</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_heading tag="230" subfields="adfghklmnoprstvxyz" subdivisions="jxyz"> >+ <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:target_index>Heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_heading tag="230" 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:index_heading> >+ <kohaidx:index_match_heading tag="230" subfields="adfghklmnoprstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="430" subfields="adfghklmnoprstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Title-uniform-see-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-see-from:s</kohaidx:target_index> >+ <kohaidx:target_index>See-from:w</kohaidx:target_index> >+ <kohaidx:target_index>See-from:p</kohaidx:target_index> >+ <kohaidx:target_index>See-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="430" subfields="adfghklmnoprstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-from:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="530" subfields="adfghklmnoprstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Title-uniform-see-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-see-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Title-uniform-see-also-from:s</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="530" subfields="adfghklmnoprstvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <!-- Topical term --> >+ <kohaidx:index_subfields tag="250" subfields="abjxyz"> >+ <kohaidx:target_index>Subject-topical:w</kohaidx:target_index> >+ <kohaidx:target_index>Subject-topical:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_heading tag="250" subfields="abjxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Subject-topical-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Subject-topical-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Subject-topical-heading: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:index_heading> >+ <kohaidx:index_heading tag="250" 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:index_heading> >+ <kohaidx:index_match_heading tag="250" subfields="abjxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="450" subfields="abvjyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Subject-topical-see-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Subject-topical-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Subject-topical-see-from:s</kohaidx:target_index> >+ <kohaidx:target_index>See-from:w</kohaidx:target_index> >+ <kohaidx:target_index>See-from:p</kohaidx:target_index> >+ <kohaidx:target_index>See-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_heading_conditional tag="450" test="substring(marc:subfield[@code='w']/text(), 2, 1)" subfields="abvxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Previous-heading-see-from:p</kohaidx:target_index> >+ </kohaidx:index_heading_conditional> >+ <kohaidx:index_match_heading tag="450" subfields="abjxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-from:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="550" subfields="abjxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Subject-topical-see-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Subject-topical-see-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Subject-topical-see-also-from:s</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="550" subfields="abjxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <!-- Geographic name --> >+ <kohaidx:index_subfields tag="251" subfields="ajxyz"> >+ <kohaidx:target_index>Name-geographic:w</kohaidx:target_index> >+ <kohaidx:target_index>Name-geographic:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_heading tag="251" subfields="ajxyz" subdivisions="jxyz"> >+ <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>Heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Heading:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_heading tag="251" 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:index_heading> >+ <kohaidx:index_match_heading tag="251" subfields="ajxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="451" subfields="ajxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Name-geographic-see-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Name-geographic-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Name-geographic-see-from:s</kohaidx:target_index> >+ <kohaidx:target_index>See-from:w</kohaidx:target_index> >+ <kohaidx:target_index>See-from:p</kohaidx:target_index> >+ <kohaidx:target_index>See-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="451" subfields="ajxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-from:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="551" subfields="ajxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Name-geographic-see-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Name-geographic-see-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Name-geographic-see-also-from:s</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="551" subfields="ajxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <!-- Genre/form term --> >+ <kohaidx:index_subfields tag="155" subfields="ajxyz"> >+ <kohaidx:target_index>Term-genre-form:w</kohaidx:target_index> >+ <kohaidx:target_index>Term-genre-form:p</kohaidx:target_index> >+ </kohaidx:index_subfields> >+ <kohaidx:index_heading tag="155" subfields="ajxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Term-genre-form-heading:w</kohaidx:target_index> >+ <kohaidx:target_index>Term-genre-form-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Term-genre-form-heading: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:index_heading> >+ <kohaidx:index_heading tag="155" 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:index_heading> >+ <kohaidx:index_match_heading tag="155" subfields="ajxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="455" subfields="ajxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Term-genre-form-see-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Term-genre-form-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Term-genre-form-see-from:s</kohaidx:target_index> >+ <kohaidx:target_index>See-from:w</kohaidx:target_index> >+ <kohaidx:target_index>See-from:p</kohaidx:target_index> >+ <kohaidx:target_index>See-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="455" subfields="ajxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-heading-see-from:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="555" subfields="ajxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Term-genre-form-see-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Term-genre-form-see-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Term-genre-form-see-also-from:s</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>See-also-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="555" subfields="ajxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match:w</kohaidx:target_index> >+ <kohaidx:target_index>Match:p</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <!-- General subdivision --> >+ <kohaidx:index_heading tag="280" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>General-subdivision:w</kohaidx:target_index> >+ <kohaidx:target_index>General-subdivision:p</kohaidx:target_index> >+ <kohaidx:target_index>General-subdivision:s</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision:w</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision:p</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="280" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match-subdivision:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-subdivision:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="480" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>General-subdivision-see-from:w</kohaidx:target_index> >+ <kohaidx:target_index>General-subdivision-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>General-subdivision-see-from:s</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="480" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match-subdivision-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-subdivision-see-from:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="580" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>General-subdivision-see-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>General-subdivision-see-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>General-subdivision-see-also-from:s</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-also-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ >+ <!-- Geographic subdivision --> >+ <kohaidx:index_heading tag="281" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Geographic-subdivision:w</kohaidx:target_index> >+ <kohaidx:target_index>Geographic-subdivision:p</kohaidx:target_index> >+ <kohaidx:target_index>Geographic-subdivision:s</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision:w</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision:p</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="181" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match-subdivision:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-subdivision:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="481" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Geographic-subdivision-see-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Geographic-subdivision-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Geographic-subdivision-see-from:s</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="481" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match-subdivision-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-subdivision-see-from:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="581" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Geographic-subdivision-see-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Geographic-subdivision-see-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Geographic-subdivision-see-also-from:s</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-also-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ >+ <!-- Chronological subdivision --> >+ <kohaidx:index_heading tag="282" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Chronological-subdivision:w</kohaidx:target_index> >+ <kohaidx:target_index>Chronological-subdivision:p</kohaidx:target_index> >+ <kohaidx:target_index>Chronological-subdivision:s</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision:w</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision:p</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="282" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match-subdivision:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-subdivision:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="482" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Chronological-subdivision-see-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Chronological-subdivision-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Chronological-subdivision-see-from:s</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="482" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match-subdivision-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-subdivision-see-from:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="582" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Chronological-subdivision-see-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Chronological-subdivision-see-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Chronological-subdivision-see-also-from:s</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-also-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ >+ <!-- Form subdivision --> >+ <kohaidx:index_heading tag="185" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Form-subdivision:w</kohaidx:target_index> >+ <kohaidx:target_index>Form-subdivision:p</kohaidx:target_index> >+ <kohaidx:target_index>Form-subdivision:s</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision:w</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision:p</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="485" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match-subdivision:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-subdivision:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="485" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Form-subdivision-see-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Form-subdivision-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Form-subdivision-see-from:s</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ <kohaidx:index_match_heading tag="185" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Match-subdivision-see-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Match-subdivision-see-from:s</kohaidx:target_index> >+ </kohaidx:index_match_heading> >+ >+ <kohaidx:index_heading tag="585" subfields="jxyz" subdivisions="jxyz"> >+ <kohaidx:target_index>Form-subdivision-see-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Form-subdivision-see-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Form-subdivision-see-also-from:s</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-also-from:w</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-also-from:p</kohaidx:target_index> >+ <kohaidx:target_index>Subdivision-see-also-from:s</kohaidx:target_index> >+ </kohaidx:index_heading> >+ >+ <kohaidx:index_subfields tag="152" subfields="b"> >+ <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..686eb5b >--- /dev/null >+++ b/etc/zebradb/marc_defs/unimarc/authorities/authority-zebra-indexdefs.xsl >@@ -0,0 +1,2261 @@ >+<?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="controlField001" select="normalize-space(marc:controlfield[@tag='001'])"/> >+ <z:record type="update"> >+ <xslo:attribute name="z:id"> >+ <xslo:value-of select="$controlField001"/> >+ </xslo:attribute> >+ <xslo:apply-templates/> >+ <xslo:apply-templates mode="index_subfields"/> >+ <xslo:apply-templates mode="index_data_field"/> >+ <xslo:apply-templates mode="index_heading"/> >+ <xslo:apply-templates mode="index_heading_conditional"/> >+ <xslo:apply-templates mode="index_match_heading"/> >+ <xslo:apply-templates mode="index_subject_thesaurus"/> >+ </z:record> >+ </xslo:template> >+ <xslo:template match="marc:leader"> >+ <z:index name="Record-status:w"> >+ <xslo:value-of select="substring(., 6, 1)"/> >+ </z:index> >+ <z:index name="Encoding-level:w"> >+ <xslo:value-of select="substring(., 18, 1)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template match="marc:controlfield[@tag='001']"> >+ <z:index name="Local-Number:w Local-Number:s"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:template> >+ <xslo:template match="marc:controlfield[@tag='008']"> >+ <z:index name="Kind-of-record:w"> >+ <xslo:value-of select="substring(., 10, 1)"/> >+ </z:index> >+ <z:index name="Descriptive-cataloging-rules:w"> >+ <xslo:value-of select="substring(., 11, 1)"/> >+ </z:index> >+ <z:index name="Heading-use-main-or-added-entry:w"> >+ <xslo:value-of select="substring(., 15, 1)"/> >+ </z:index> >+ <z:index name="Heading-use-subject-added-entry:w"> >+ <xslo:value-of select="substring(., 16, 1)"/> >+ </z:index> >+ <z:index name="Heading-use-series-added-entry:w"> >+ <xslo:value-of select="substring(., 17, 1)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='010']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('az', @code)"> >+ <z:index name="LC-card-number:w LC-card-number:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='040']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('acd', @code)"> >+ <z:index name="Record-source:w Record-source:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='200']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abcdefghjklmnopqrstvxyz', @code)"> >+ <z:index name="Personal-name:w Personal-name:p Personal-name:s"> >+ <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('abcdefghklmnoprstvxyz', @code)"> >+ <z:index name="Corporate-name:w Corporate-name:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='211']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('acdefghjklnpqstvxyz', @code)"> >+ <z:index name="Meeting-name:w Meeting-name: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('adfghklmnoprstvxyz', @code)"> >+ <z:index name="Title-uniform:w Title-uniform: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('abjxyz', @code)"> >+ <z:index name="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='251']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)"> >+ <z:index name="Name-geographic:w Name-geographic:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_subfields" match="marc:datafield[@tag='155']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)"> >+ <z:index name="Term-genre-form:w Term-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='152']"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('b', @code)"> >+ <z:index name="authtype:w"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='200']"> >+ <z:index name="Personal-name-heading:w Personal-name-heading:p Personal-name-heading:s Heading:w Heading:p Heading:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abcdefghjklmnopqrstvxyz', @code)" name="Personal-name-heading:w Personal-name-heading:p Personal-name-heading:s Heading:w Heading:p Heading:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ <z:index name="Heading-Main:w Heading-Main:p Heading-Main:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('a', @code)" name="Heading-Main:w Heading-Main:p Heading-Main:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='400']"> >+ <z:index name="Personal-name-see-from:w Personal-name-see-from:p Personal-name-see-from:s See-from:w See-from:p See-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abcdefghjklmnopqrstvxyz', @code)" name="Personal-name-see-from:w Personal-name-see-from:p Personal-name-see-from:s See-from:w See-from:p See-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='500']"> >+ <z:index name="Personal-name-see-also-from:w Personal-name-see-also-from:p Personal-name-see-also-from:s See-also-from:w See-also-from:p See-also-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abcdefghjklmnopqrstvxyz', @code)" name="Personal-name-see-also-from:w Personal-name-see-also-from:p Personal-name-see-also-from:s See-also-from:w See-also-from:p See-also-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='210']"> >+ <z:index name="Corporate-name-heading:w Corporate-name-heading:p Corporate-name-heading:s Heading:w Heading:p Heading:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abcdefghklmnoprstvxyz', @code)" name="Corporate-name-heading:w Corporate-name-heading:p Corporate-name-heading:s Heading:w Heading:p Heading:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ <z:index name="Heading-Main:w Heading-Main:p Heading-Main:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('a', @code)" name="Heading-Main:w Heading-Main:p Heading-Main:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='410']"> >+ <z:index name="Corporate-name-see-from:w Corporate-name-see-from:p Corporate-name-see-from:s See-from:w See-from:p See-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abcdefghklmnoprstvxyz', @code)" name="Corporate-name-see-from:w Corporate-name-see-from:p Corporate-name-see-from:s See-from:w See-from:p See-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='510']"> >+ <z:index name="Corporate-name-see-also-from:w Corporate-name-see-also-from:p Corporate-name-see-also-from:s See-also-from:w See-also-from:p See-also-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abcdefghklmnoprstvxyz', @code)" name="Corporate-name-see-also-from:w Corporate-name-see-also-from:p Corporate-name-see-also-from:s See-also-from:w See-also-from:p See-also-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='211']"> >+ <z:index name="Meeting-name-heading:w Meeting-name-heading:p Meeting-name-heading:s Heading:w Heading:p Heading:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('acdefghjklnpqstvxyz', @code)" name="Meeting-name-heading:w Meeting-name-heading:p Meeting-name-heading:s Heading:w Heading:p Heading:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ <z:index name="Heading-Main:w Heading-Main:p Heading-Main:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('a', @code)" name="Heading-Main:w Heading-Main:p Heading-Main:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='411']"> >+ <z:index name="Meeting-name-see-from:w Meeting-name-see-from:p Meeting-name-see-from:s See-from:w See-from:p See-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('acdefghjklnpqstvxyz', @code)" name="Meeting-name-see-from:w Meeting-name-see-from:p Meeting-name-see-from:s See-from:w See-from:p See-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='511']"> >+ <z:index name="Meeting-name-see-also-from:w Meeting-name-see-also-from:p Meeting-name-see-also-from:s See-also-from:w See-also-from:p See-also-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('acdefghjklnpqstvxyz', @code)" name="Meeting-name-see-also-from:w Meeting-name-see-also-from:p Meeting-name-see-also-from:s See-also-from:w See-also-from:p See-also-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='230']"> >+ <z:index name="Title-uniform-heading:w Title-uniform-heading:p Title-uniform-heading:s Heading:w Heading:p Heading:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('adfghklmnoprstvxyz', @code)" name="Title-uniform-heading:w Title-uniform-heading:p Title-uniform-heading:s Heading:w Heading:p Heading:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ <z:index name="Heading-Main:w Heading-Main:p Heading-Main:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('a', @code)" name="Heading-Main:w Heading-Main:p Heading-Main:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='430']"> >+ <z:index name="Title-uniform-see-from:w Title-uniform-see-from:p Title-uniform-see-from:s See-from:w See-from:p See-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('adfghklmnoprstvxyz', @code)" name="Title-uniform-see-from:w Title-uniform-see-from:p Title-uniform-see-from:s See-from:w See-from:p See-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='530']"> >+ <z:index name="Title-uniform-see-also-from:w Title-uniform-see-also-from:p Title-uniform-see-also-from:s See-also-from:w See-also-from:p See-also-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('adfghklmnoprstvxyz', @code)" name="Title-uniform-see-also-from:w Title-uniform-see-also-from:p Title-uniform-see-also-from:s See-also-from:w See-also-from:p See-also-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='250']"> >+ <z:index name="Subject-topical-heading:w Subject-topical-heading:p Subject-topical-heading:s Heading:w Heading:p Heading:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abjxyz', @code)" name="Subject-topical-heading:w Subject-topical-heading:p Subject-topical-heading:s Heading:w Heading:p Heading:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ <z:index name="Heading-Main:w Heading-Main:p Heading-Main:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('a', @code)" name="Heading-Main:w Heading-Main:p Heading-Main:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='450']"> >+ <z:index name="Subject-topical-see-from:w Subject-topical-see-from:p Subject-topical-see-from:s See-from:w See-from:p See-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abvjyz', @code)" name="Subject-topical-see-from:w Subject-topical-see-from:p Subject-topical-see-from:s See-from:w See-from:p See-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='550']"> >+ <z:index name="Subject-topical-see-also-from:w Subject-topical-see-also-from:p Subject-topical-see-also-from:s See-also-from:w See-also-from:p See-also-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abjxyz', @code)" name="Subject-topical-see-also-from:w Subject-topical-see-also-from:p Subject-topical-see-also-from:s See-also-from:w See-also-from:p See-also-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='251']"> >+ <z:index name="Name-geographic-heading:w Name-geographic-heading:p Name-geographic-heading:s Heading:w Heading:p Heading:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)" name="Name-geographic-heading:w Name-geographic-heading:p Name-geographic-heading:s Heading:w Heading:p Heading:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ <z:index name="Heading-Main:w Heading-Main:p Heading-Main:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('a', @code)" name="Heading-Main:w Heading-Main:p Heading-Main:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='451']"> >+ <z:index name="Name-geographic-see-from:w Name-geographic-see-from:p Name-geographic-see-from:s See-from:w See-from:p See-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)" name="Name-geographic-see-from:w Name-geographic-see-from:p Name-geographic-see-from:s See-from:w See-from:p See-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='551']"> >+ <z:index name="Name-geographic-see-also-from:w Name-geographic-see-also-from:p Name-geographic-see-also-from:s See-also-from:w See-also-from:p See-also-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)" name="Name-geographic-see-also-from:w Name-geographic-see-also-from:p Name-geographic-see-also-from:s See-also-from:w See-also-from:p See-also-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='155']"> >+ <z:index name="Term-genre-form-heading:w Term-genre-form-heading:p Term-genre-form-heading:s Heading:w Heading:p Heading:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)" name="Term-genre-form-heading:w Term-genre-form-heading:p Term-genre-form-heading:s Heading:w Heading:p Heading:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ <z:index name="Heading-Main:w Heading-Main:p Heading-Main:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('a', @code)" name="Heading-Main:w Heading-Main:p Heading-Main:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='455']"> >+ <z:index name="Term-genre-form-see-from:w Term-genre-form-see-from:p Term-genre-form-see-from:s See-from:w See-from:p See-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)" name="Term-genre-form-see-from:w Term-genre-form-see-from:p Term-genre-form-see-from:s See-from:w See-from:p See-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='555']"> >+ <z:index name="Term-genre-form-see-also-from:w Term-genre-form-see-also-from:p Term-genre-form-see-also-from:s See-also-from:w See-also-from:p See-also-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)" name="Term-genre-form-see-also-from:w Term-genre-form-see-also-from:p Term-genre-form-see-also-from:s See-also-from:w See-also-from:p See-also-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='280']"> >+ <z:index name="General-subdivision:w General-subdivision:p General-subdivision:s Subdivision:w Subdivision:p Subdivision:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="General-subdivision:w General-subdivision:p General-subdivision:s Subdivision:w Subdivision:p Subdivision:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='480']"> >+ <z:index name="General-subdivision-see-from:w General-subdivision-see-from:p General-subdivision-see-from:s Subdivision-see-from:w Subdivision-see-from:p Subdivision-see-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="General-subdivision-see-from:w General-subdivision-see-from:p General-subdivision-see-from:s Subdivision-see-from:w Subdivision-see-from:p Subdivision-see-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='580']"> >+ <z:index name="General-subdivision-see-also-from:w General-subdivision-see-also-from:p General-subdivision-see-also-from:s Subdivision-see-also-from:w Subdivision-see-also-from:p Subdivision-see-also-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="General-subdivision-see-also-from:w General-subdivision-see-also-from:p General-subdivision-see-also-from:s Subdivision-see-also-from:w Subdivision-see-also-from:p Subdivision-see-also-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='281']"> >+ <z:index name="Geographic-subdivision:w Geographic-subdivision:p Geographic-subdivision:s Subdivision:w Subdivision:p Subdivision:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="Geographic-subdivision:w Geographic-subdivision:p Geographic-subdivision:s Subdivision:w Subdivision:p Subdivision:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='481']"> >+ <z:index name="Geographic-subdivision-see-from:w Geographic-subdivision-see-from:p Geographic-subdivision-see-from:s Subdivision-see-from:w Subdivision-see-from:p Subdivision-see-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="Geographic-subdivision-see-from:w Geographic-subdivision-see-from:p Geographic-subdivision-see-from:s Subdivision-see-from:w Subdivision-see-from:p Subdivision-see-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='581']"> >+ <z:index name="Geographic-subdivision-see-also-from:w Geographic-subdivision-see-also-from:p Geographic-subdivision-see-also-from:s Subdivision-see-also-from:w Subdivision-see-also-from:p Subdivision-see-also-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="Geographic-subdivision-see-also-from:w Geographic-subdivision-see-also-from:p Geographic-subdivision-see-also-from:s Subdivision-see-also-from:w Subdivision-see-also-from:p Subdivision-see-also-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='282']"> >+ <z:index name="Chronological-subdivision:w Chronological-subdivision:p Chronological-subdivision:s Subdivision:w Subdivision:p Subdivision:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="Chronological-subdivision:w Chronological-subdivision:p Chronological-subdivision:s Subdivision:w Subdivision:p Subdivision:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='482']"> >+ <z:index name="Chronological-subdivision-see-from:w Chronological-subdivision-see-from:p Chronological-subdivision-see-from:s Subdivision-see-from:w Subdivision-see-from:p Subdivision-see-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="Chronological-subdivision-see-from:w Chronological-subdivision-see-from:p Chronological-subdivision-see-from:s Subdivision-see-from:w Subdivision-see-from:p Subdivision-see-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='582']"> >+ <z:index name="Chronological-subdivision-see-also-from:w Chronological-subdivision-see-also-from:p Chronological-subdivision-see-also-from:s Subdivision-see-also-from:w Subdivision-see-also-from:p Subdivision-see-also-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="Chronological-subdivision-see-also-from:w Chronological-subdivision-see-also-from:p Chronological-subdivision-see-also-from:s Subdivision-see-also-from:w Subdivision-see-also-from:p Subdivision-see-also-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='185']"> >+ <z:index name="Form-subdivision:w Form-subdivision:p Form-subdivision:s Subdivision:w Subdivision:p Subdivision:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="Form-subdivision:w Form-subdivision:p Form-subdivision:s Subdivision:w Subdivision:p Subdivision:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='485']"> >+ <z:index name="Form-subdivision-see-from:w Form-subdivision-see-from:p Form-subdivision-see-from:s Subdivision-see-from:w Subdivision-see-from:p Subdivision-see-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="Form-subdivision-see-from:w Form-subdivision-see-from:p Form-subdivision-see-from:s Subdivision-see-from:w Subdivision-see-from:p Subdivision-see-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading" match="marc:datafield[@tag='585']"> >+ <z:index name="Form-subdivision-see-also-from:w Form-subdivision-see-also-from:p Form-subdivision-see-also-from:s Subdivision-see-also-from:w Subdivision-see-also-from:p Subdivision-see-also-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="Form-subdivision-see-also-from:w Form-subdivision-see-also-from:p Form-subdivision-see-also-from:s Subdivision-see-also-from:w Subdivision-see-also-from:p Subdivision-see-also-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_heading_conditional"> >+ <xslo:if test="substring(marc:subfield[@code='w']/text(), 2, 1)"> >+ <z:index name="Previous-heading-see-from:p"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abvxyz', @code)" name="Previous-heading-see-from:p"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:text>--</xslo:text> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:value-of select="."/> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:if> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='100']"> >+ <z:index name="Match:w Match:p Match-heading:p Match-heading:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abcdefghjklmnopqrstvxyz', @code)" name="Match:w Match:p Match-heading:p Match-heading:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='400']"> >+ <z:index name="Match:w Match:p Match-heading-see-from:p Match-heading-see-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abcdefghjklmnopqrstvxyz', @code)" name="Match:w Match:p Match-heading-see-from:p Match-heading-see-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='500']"> >+ <z:index name="Match:w Match:p"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abcdefghjklmnopqrstvxyz', @code)" name="Match:w Match:p"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='210']"> >+ <z:index name="Match:w Match:p Match-heading:p Match-heading:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abcdefghklmnoprstvxyz', @code)" name="Match:w Match:p Match-heading:p Match-heading:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='410']"> >+ <z:index name="Match:w Match:p Match-heading-see-from:p Match-heading-see-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abcdefghklmnoprstvxyz', @code)" name="Match:w Match:p Match-heading-see-from:p Match-heading-see-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='510']"> >+ <z:index name="Match:w Match:p"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abcdefghklmnoprstvxyz', @code)" name="Match:w Match:p"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='211']"> >+ <z:index name="Match:w Match:p Match-heading:p Match-heading:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('acdefghjklnpqstvxyz', @code)" name="Match:w Match:p Match-heading:p Match-heading:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='411']"> >+ <z:index name="Match:w Match:p Match-heading-see-from:p Match-heading-see-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('acdefghjklnpqstvxyz', @code)" name="Match:w Match:p Match-heading-see-from:p Match-heading-see-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='511']"> >+ <z:index name="Match:w Match:p"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('acdefghjklnpqstvxyz', @code)" name="Match:w Match:p"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='230']"> >+ <z:index name="Match:w Match:p Match-heading:p Match-heading:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('adfghklmnoprstvxyz', @code)" name="Match:w Match:p Match-heading:p Match-heading:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='430']"> >+ <z:index name="Match:w Match:p Match-heading-see-from:p Match-heading-see-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('adfghklmnoprstvxyz', @code)" name="Match:w Match:p Match-heading-see-from:p Match-heading-see-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='530']"> >+ <z:index name="Match:w Match:p"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('adfghklmnoprstvxyz', @code)" name="Match:w Match:p"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='250']"> >+ <z:index name="Match:w Match:p Match-heading:p Match-heading:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abjxyz', @code)" name="Match:w Match:p Match-heading:p Match-heading:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='450']"> >+ <z:index name="Match:w Match:p Match-heading-see-from:p Match-heading-see-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abjxyz', @code)" name="Match:w Match:p Match-heading-see-from:p Match-heading-see-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='550']"> >+ <z:index name="Match:w Match:p"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('abjxyz', @code)" name="Match:w Match:p"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='251']"> >+ <z:index name="Match:w Match:p Match-heading:p Match-heading:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)" name="Match:w Match:p Match-heading:p Match-heading:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='451']"> >+ <z:index name="Match:w Match:p Match-heading-see-from:p Match-heading-see-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)" name="Match:w Match:p Match-heading-see-from:p Match-heading-see-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='551']"> >+ <z:index name="Match:w Match:p"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)" name="Match:w Match:p"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='155']"> >+ <z:index name="Match:w Match:p Match-heading:p Match-heading:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)" name="Match:w Match:p Match-heading:p Match-heading:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='455']"> >+ <z:index name="Match:w Match:p Match-heading-see-from:p Match-heading-see-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)" name="Match:w Match:p Match-heading-see-from:p Match-heading-see-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='555']"> >+ <z:index name="Match:w Match:p"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('ajxyz', @code)" name="Match:w Match:p"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='280']"> >+ <z:index name="Match-subdivision:p Match-subdivision:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="Match-subdivision:p Match-subdivision:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='480']"> >+ <z:index name="Match-subdivision-see-from:p Match-subdivision-see-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="Match-subdivision-see-from:p Match-subdivision-see-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='181']"> >+ <z:index name="Match-subdivision:p Match-subdivision:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="Match-subdivision:p Match-subdivision:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='481']"> >+ <z:index name="Match-subdivision-see-from:p Match-subdivision-see-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="Match-subdivision-see-from:p Match-subdivision-see-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='282']"> >+ <z:index name="Match-subdivision:p Match-subdivision:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="Match-subdivision:p Match-subdivision:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='482']"> >+ <z:index name="Match-subdivision-see-from:p Match-subdivision-see-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="Match-subdivision-see-from:p Match-subdivision-see-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='485']"> >+ <z:index name="Match-subdivision:p Match-subdivision:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="Match-subdivision:p Match-subdivision:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template mode="index_match_heading" match="marc:datafield[@tag='185']"> >+ <z:index name="Match-subdivision-see-from:p Match-subdivision-see-from:s"> >+ <xslo:variable name="raw_heading"> >+ <xslo:for-each select="marc:subfield"> >+ <xslo:if test="contains('jxyz', @code)" name="Match-subdivision-see-from:p Match-subdivision-see-from:s"> >+ <xslo:if test="position() > 1"> >+ <xslo:choose> >+ <xslo:when test="contains('jxyz', @code)"> >+ <xslo:choose> >+ <xslo:when test="@code = $general_subdivision_subfield"> >+ <xslo:text> generalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $form_subdivision_subfield"> >+ <xslo:text> formsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $chronological_subdivision_subfield"> >+ <xslo:text> chronologicalsubdiv </xslo:text> >+ </xslo:when> >+ <xslo:when test="@code = $geographic_subdivision_subfield"> >+ <xslo:text> geographicsubdiv </xslo:text> >+ </xslo:when> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:value-of select="substring(' ', 1, 1)"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:if> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString"> >+ <xslo:value-of select="."/> >+ </xslo:with-param> >+ </xslo:call-template> >+ </xslo:if> >+ </xslo:for-each> >+ </xslo:variable> >+ <xslo:value-of select="normalize-space($raw_heading)"/> >+ </z:index> >+ </xslo:template> >+ <xslo:variable name="form_subdivision_subfield">j</xslo:variable> >+ <xslo:variable name="general_subdivision_subfield">x</xslo:variable> >+ <xslo:variable name="chronological_subdivision_subfield">z</xslo:variable> >+ <xslo:variable name="geographic_subdivision_subfield">y</xslo:variable> >+ <xslo:template mode="index_subject_thesaurus" match="marc:controlfield[@tag='008']"> >+ <xslo:variable name="thesaurus_code1" select="substring(., 12, 1)"/> >+ <xslo:variable name="full_thesaurus_code"> >+ <xslo:choose> >+ <xslo:when test="$thesaurus_code1 = 'a'"> >+ <xslo:text>lcsh</xslo:text> >+ </xslo:when> >+ <xslo:when test="$thesaurus_code1 = 'b'"> >+ <xslo:text>lcac</xslo:text> >+ </xslo:when> >+ <xslo:when test="$thesaurus_code1 = 'c'"> >+ <xslo:text>mesh</xslo:text> >+ </xslo:when> >+ <xslo:when test="$thesaurus_code1 = 'd'"> >+ <xslo:text>nal</xslo:text> >+ </xslo:when> >+ <xslo:when test="$thesaurus_code1 = 'k'"> >+ <xslo:text>cash</xslo:text> >+ </xslo:when> >+ <xslo:when test="$thesaurus_code1 = 'n'"> >+ <xslo:text>notapplicable</xslo:text> >+ </xslo:when> >+ <xslo:when test="$thesaurus_code1 = 'r'"> >+ <xslo:text>aat</xslo:text> >+ </xslo:when> >+ <xslo:when test="$thesaurus_code1 = 's'"> >+ <xslo:text>sears</xslo:text> >+ </xslo:when> >+ <xslo:when test="$thesaurus_code1 = 'v'"> >+ <xslo:text>rvm</xslo:text> >+ </xslo:when> >+ <xslo:when test="$thesaurus_code1 = 'z'"> >+ <xslo:choose> >+ <xslo:when test="//marc:datafield[@tag='040']/marc:subfield[@code='f']"> >+ <xslo:value-of select="//marc:datafield[@tag='040']/marc:subfield[@code='f']"/> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:text>notdefined</xslo:text> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:when> >+ <xslo:otherwise> >+ <xslo:text>notdefined</xslo:text> >+ </xslo:otherwise> >+ </xslo:choose> >+ </xslo:variable> >+ <z:index name="Subject-heading-thesaurus:w"> >+ <xslo:value-of select="$full_thesaurus_code"/> >+ </z:index> >+ </xslo:template> >+ <xslo:template match="*"> >+ <z:index name="Any:w Any:p"> >+ <xslo:value-of select="."/> >+ </z:index> >+ </xslo:template> >+ <xslo:template name="chopPunctuation"> >+ <xslo:param name="chopString"/> >+ <xslo:variable name="length" select="string-length($chopString)"/> >+ <xslo:choose> >+ <xslo:when test="$length=0"/> >+ <xslo:when test="contains('-,.:=;!%/', substring($chopString,$length,1))"> >+ <xslo:call-template name="chopPunctuation"> >+ <xslo:with-param name="chopString" select="substring($chopString,1,$length - 1)"/> >+ </xslo:call-template> >+ </xslo:when> >+ <xslo:when test="not($chopString)"/> >+ <xslo:otherwise> >+ <xslo:value-of select="$chopString"/> >+ </xslo:otherwise> >+ </xslo:choose> >+ <xslo:text/> >+ </xslo:template> >+</xslo:stylesheet> >-- >1.7.12.3 >
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