1 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
3 <!-- $Id: marc_indexing.sgml,v 1.1 2003-03-10 13:27:38 oleg Exp $ -->
7 <title>Indexing of MARC records by Zebra</title>
9 <simpara>Zebra is suitable for distribution of MARC records via Z39.50. We
10 have a several possibilities to describe the indexing process of MARC records.
11 This document shows these possibilities.
17 <title>Simple indexing of MARC records</title>
18 <para>Simple indexing is not described yet.</para>
22 <title>Extended indexing of MARC records</title>
24 <para>Extended indexing of MARC records will help you if you need index a
25 combination of subfields, or index only a part of the whole field,
26 or use during indexing process embedded fields of MARC record.
29 <para>Extended indexing of MARC records additionally allows:
33 <para>to index data in LEADER of MARC record</para>
37 <para>to index data in control fields (with fixed length)</para>
41 <para>to use during indexing the values of indicators</para>
45 <para>to index linked fields for UNIMARC based formats</para>
51 <note><para>In compare with simple indexing process the extended indexing
52 may increase (about 2-3 times) the time of indexing process for MARC
53 records.</para></note>
56 <title>The index-formula</title>
58 <para>At the beginning, we have to define the term <emphasis>index-formula</emphasis>
59 for MARC records. This term helps to understand the notation of extended indexing of MARC records
60 by Zebra. Our definition is based on the document <ulink url="http://www.rba.ru/rusmarc/soft/Z39-50.htm">"The
61 table of conformity for Z39.50 use attributes and RUSMARC fields"</ulink>.
62 The document is available only in russian language.</para>
64 <para>The <emphasis>index-formula</emphasis> is the combination of subfields presented in such way:</para>
67 71-00$a, $g, $h ($c){.$b ($c)} , (1)
70 <para>We know that Zebra supports a Bib-1 attribute - right truncation.
71 In this case, the <emphasis>index-formula</emphasis> (1) consists from
72 forms, defined in the same way as (1)</para>
80 <note><para>The original MARC record may be without some elements, which included in <emphasis>index-formula</emphasis>.</para>
83 <para>This notation incudes such operands as:
88 <listitem><para>It means whitespace character.</para></listitem>
93 <listitem><para>The position may contain any value, defined by MARC format.
94 For example, <emphasis>index-formula</emphasis></para>
100 <para>includes</para>
113 <listitem><para>The repeatable elements are defined in figure-brackets {}. For example,
114 <emphasis>index-formula</emphasis></para>
118 71-00$a, $g, $h ($c){.$b ($c)} , (3)
121 <para>includes</para>
124 71-00$a, $g, $h ($c). $b ($c)
125 71-00$a, $g, $h ($c). $b ($c). $b ($c)
126 71-00$a, $g, $h ($c). $b ($c). $b ($c). $b ($c)
133 <note><para>All another operands are the same as accepted in MARC world.</para>
139 <title>Notation of <emphasis>index-formula</emphasis> for Zebra</title>
142 <para>Extended indexing overloads <literal>path</literal> of
143 <literal>elm</literal> definition in abstract syntax file of Zebra
144 (<literal>.abs</literal> file). It means that names beginning with
145 <literal>"mc-"</literal> are interpreted by Zebra as
146 <emphasis>index-formula</emphasis>. The database index is created and
147 linked with <emphasis>access point</emphasis> (Bib-1 use attribute)
148 according to this formula.</para>
150 <para>For example, <emphasis>index-formula</emphasis></para>
153 71-00$a, $g, $h ($c){.$b ($c)} , (4)
156 <para>in <literal>.abs</literal> file looks like:</para>
159 mc-71.00_$a,_$g,_$h_(_$c_){.$b_(_$c_)}
163 <para>The notation of <emphasis>index-formula</emphasis> uses the operands:
168 <listitem><para>It means whitespace character.</para></listitem>
173 <listitem><para>The position may contain any value, defined by MARC format. For example,
174 <emphasis>index-formula</emphasis></para>
180 <para>matches <literal>mc-70._1_$a,_$g_</literal> and includes</para>
192 <listitem><para>The repeatable elements are defined in figure-brackets {}. For example,
193 <emphasis>index-formula</emphasis></para>
196 71#00$a, $g, $h ($c) {.$b ($c)} , (6)
199 <para>matches <literal>mc-71.00_$a,_$g,_$h_(_$c_){.$b_(_$c_)}</literal> and
203 71.00_$a,_$g,_$h_(_$c_).$b_(_$c_)
204 71.00_$a,_$g,_$h_(_$c_).$b_(_$c_).$b_(_$c_)
205 71.00_$a,_$g,_$h_(_$c_).$b_(_$c_).$b_(_$c_).$b_(_$c_)
212 <term><...></term>
213 <listitem><para>Embedded <emphasis>index-formula</emphasis> (for linked fields) is between <>. For example,
214 <emphasis>index-formula</emphasis></para>
217 4--#-$170-#1$a, $g ($c) , (7)
220 <para>matches <literal>mc-4.._._$1<70._1_$a,_$g_(_$c_)>_</literal> and
224 463_._$1<70._1_$a,_$g_(_$c_)>_
233 <para>All another operands are the same as accepted in MARC world.</para>
237 <title>Examples</title>
244 <para>indexing LEADER</para>
246 <para>You need to use keyword "ldr" to index leader. For example, indexing data from 6th
247 and 7th position of LEADER</para>
250 elm mc-ldr[6] Record-type !
251 elm mc-ldr[7] Bib-level !
258 <para>indexing data from control fields</para>
260 <para>indexing date (the time added to database)</para>
263 elm mc-008[0-5] Date/time-added-to-db !
266 <para>or for RUSMARC (this data included in 100th field)</para>
269 elm mc-100___$a[0-7]_ Date/time-added-to-db !
276 <para>using indicators while indexing</para>
278 <para>For RUSMARC <emphasis>index-formula</emphasis>
279 <literal>70-#1$a, $g</literal> matches</para>
282 elm 70._1_$a,_$g_ Author !:w,!:p
285 <para>When Zebra finds a field according to <literal>"70."</literal> pattern it checks
286 the indicators. In this case the value of first indicator doesn't mater, but
287 the value of second one must be whitespace, in another case a field is not
294 <para>indexing embedded (linked) fields for UNIMARC based formats</para>
296 <para>For RUSMARC <emphasis>index-formula</emphasis>
297 <literal>4--#-$170-#1$a, $g ($c)</literal> matches</para>
300 elm mc-4.._._$1<70._1_$a,_$g_(_$c_)>_ Author !:w,!:p
303 <para>Data are extracted from record if the field matches to
304 <literal>"4.._."</literal> pattern and data in linked field match to embedded
305 <emphasis>index-formula</emphasis> <literal>70._1_$a,_$g_(_$c_)</literal>.</para>