/[webpac2]/trunk/conf/normalize/ff-peri.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk/conf/normalize/ff-peri.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 903 - (hide annotations)
Wed Oct 10 21:00:48 2007 UTC (16 years, 7 months ago) by dpavlin
File MIME type: text/plain
File size: 7891 byte(s)
local configuration

1 dpavlin 758 if ( rec('200','a') ) {
2    
3 dpavlin 880
4     # LEADER
5 dpavlin 758 # raspraviti 17,18
6    
7 dpavlin 880 marc_leader('05','n');
8     marc_leader('06','a');
9 dpavlin 758
10 dpavlin 880 if ( rec('225','a') ) {
11     marc_leader('07','b');
12 dpavlin 758 } else {
13 dpavlin 880 marc_leader('07','s');
14 dpavlin 758 }
15    
16 dpavlin 880 marc_leader('18','i');
17 dpavlin 758
18 dpavlin 880 if ( rec('225','a') ) {
19 dpavlin 758 marc_leader('19','r');
20 dpavlin 880 }
21 dpavlin 758
22     # 001 polje - Voyager
23    
24 dpavlin 880 # 007
25     marc_fixed('007',00,'ta');
26    
27    
28 dpavlin 890 ## 008 - All materials
29     marc_fixed('008','00', '070707'); # Date entered on file
30 dpavlin 903 marc_fixed('008','06', 't'); # Type of date/Publication status
31 dpavlin 890 if ( rec('11') ) {
32     if ( my $lookup = lookup(
33     sub { rec('210','d') },
34     'nsk','bbaza',
35     sub { first( rec('011','a') ) },
36     sub { rec('11') },
37     )
38     ) {
39     marc_fixed('008','07', $lookup);
40     } else {
41     marc_fixed('008','07',
42     rec('210','d')
43     );
44     }
45     } # Date 1
46 dpavlin 903
47     # marc_fixed('008','11', ' '); # Date 2
48 dpavlin 890 marc_fixed('008','15',
49     lc ( rec('102') )
50     ); # Place of publication, production, or execution
51     #marc_fixed('008','35',
52     # rec('101')
53     #); # Language
54     marc_fixed('008','38', '|'); # Modified record
55     marc_fixed('008','39','d'); # Cataloging source
56 dpavlin 880
57 dpavlin 890
58     ## 008 - Continuing resources
59 dpavlin 903 marc_fixed('008','18', '|'); # Frequency - ovo treba popuniti iz polja 326
60 dpavlin 890 marc_fixed('008','19', '|'); # Regularity
61     marc_fixed('008','21', 'p'); # Type of continuing resource
62     marc_fixed('008','29', '|'); # Conference publication
63     marc_fixed('008','33', '|'); # Original alphabet or script of title
64     marc_fixed('008','34', '|'); # Entry convention
65    
66    
67 dpavlin 880 ## 022
68 dpavlin 903 # if ( ! rec('225','a') ) {
69     # marc('022','a',
70     # rec('11')
71     # );
72     # }
73     #
74 dpavlin 880
75 dpavlin 903 ## 022
76     marc('022','a',
77     rec('11')
78     );
79    
80    
81 dpavlin 758 # privemeno koristimo 0356 umjesto 0359, zato ¹to marclint 9 prijavljuje kao gre¹ku
82    
83     marc('035','6',
84 dpavlin 880 join_with('',
85     uc( config() ),
86     ' P',
87 dpavlin 758 rec('000')
88     )
89     );
90    
91    
92     marc('040','a',
93     'HR FFZG'
94     );
95    
96     marc('040','b',
97     'hrv'
98     );
99    
100     marc('040','e',
101     'HR PPIAK'
102     );
103    
104 dpavlin 890 marc_indicators('041', 0, ' ');
105 dpavlin 758
106     marc_repeatable_subfield('041','a',
107     rec('101')
108     );
109    
110    
111     #_debug(3);
112    
113 dpavlin 890 ## 044 - zemlja izdavanja
114 dpavlin 880
115 dpavlin 890 if ( rec('11') ) {
116 dpavlin 903 if ( my $lookup = lookup(
117 dpavlin 890 sub { rec('102','a') },
118     'nsk','bbaza',
119     sub { first( rec('011','a') ) },
120     sub { rec('11') },
121 dpavlin 903 )
122     ) {
123     marc('044','a', $lookup );
124     } else {
125     marc('044','a',
126     rec('102')
127     );
128     }
129     }
130 dpavlin 890
131 dpavlin 880 marc('080','a',
132     rec('675','a')
133     );
134    
135 dpavlin 890 marc_indicators('210', '1',' ');
136 dpavlin 880
137 dpavlin 890 if ( rec('11') ) {
138     marc('210','a',
139     lookup(
140     sub { rec('531','a') },
141     'nsk','bbaza',
142     sub { rec('011','a') },
143     sub { rec('11') },
144     )
145 dpavlin 880 );
146 dpavlin 890 }
147 dpavlin 880
148 dpavlin 890 marc_indicators('222',' ','0'); # drugi indikator prema èlanu
149     if ( rec('11') ) {
150 dpavlin 880 marc('222','a',
151     lookup(
152     sub { rec('530','a') },
153     'nsk','bbaza',
154     sub { rec('011','a') },
155     sub { rec('11') },
156     )
157     );
158 dpavlin 890 }
159 dpavlin 880
160     ### 245 indikatori
161    
162 dpavlin 890 if ( ( rec('200','a') =~ m/^Die /) ||
163     ( rec('200','a') =~ m/^Das /) ||
164     ( rec('200','a') =~ m/^The /) ) {
165     marc_indicators('245', 0, 4);
166     } else {
167     marc_indicators('245', 0, 0);
168     }
169    
170    
171     ## 245
172 dpavlin 758 marc_compose('245',
173     'a', suffix(
174 dpavlin 880 ( ! ( rec('200','d') || rec('200','e') || rec('200','k') ) ) && ( rec('200','f') ) ? ' / ' :
175     ( rec('200','d') ) ? ' = ' :
176     ( rec('200','e') ) ? ' : ' :
177     ( rec('200','k') ) ? ' ; ' :
178     '',
179     rec('200','a'),
180 dpavlin 758 ),
181     'b', suffix(
182 dpavlin 880 ( rec('200','d') && rec('200','f') ) ? ' / ' :
183     ( rec('200','d') && rec('200','c') ) ? '. ' :
184     '',
185     rec('200','d'),
186 dpavlin 758 ),
187     'b', suffix(
188 dpavlin 880 ( rec('200','e') && rec('200','f') ) ? ' / ' :
189     ( rec('200','e') && rec('200','c') ) ? '. ' :
190     '',
191     rec('200','e'),
192 dpavlin 758 ),
193     'b', suffix(
194 dpavlin 880 ( rec('200','k') && rec('200','f') ) ? ' / ' :
195     ( rec('200','k') && rec('200','c') ) ? '. ' :
196     '',
197     rec('200','k'),
198 dpavlin 758 ),
199 dpavlin 880 'c', suffix(
200     ( rec('200','f') && rec('200','c') ) ? '. ' :
201     '',
202     rec('200','f'),
203 dpavlin 758 ),
204 dpavlin 880 '+', rec('200','c'),
205     );
206 dpavlin 773
207 dpavlin 880 ## 246
208 dpavlin 890 if ( ( rec('200','a') =~ m/^Die /) ||
209     ( rec('200','a') =~ m/^Das /) ||
210     ( rec('200','a') =~ m/^The /) ) {
211     marc_indicators('246', 0, 4);
212     } else {
213     marc_indicators('246', 0, 0);
214     }
215 dpavlin 880
216    
217 dpavlin 890 if ( rec('532') ) {
218     marc('246','a',
219     rec('532')
220     );
221     }
222 dpavlin 758
223 dpavlin 890 #else {
224     # marc('246','a',
225     # lookup(
226     # sub { rec('532','a') },
227     # 'nsk','bbaza',
228     # sub { rec('011','a') },
229     # sub { rec('11') },
230     # )
231     # );
232     #}
233    
234 dpavlin 758 #_debug(0);
235    
236    
237 dpavlin 890 ## 260 - izdavanje
238 dpavlin 758
239 dpavlin 890 # if ( rec('11') ) {
240     # marc_repeatable_subfield('260','a',
241     # lookup(
242     # sub { rec('210','a') },
243     # 'nsk','bbaza',
244     # sub { rec('011','a') },
245     # sub { rec('11') },
246     # )
247     # );
248     # marc_repeatable_subfield('260','b',
249     # lookup(
250     # sub { rec('210','c') },
251     # 'nsk','bbaza',
252     # sub { rec('011','a') },
253     # sub { rec('11') },
254     # )
255     # );
256     # marc('260','c',
257     # lookup(
258     # sub { rec('210','d') },
259     # 'nsk','bbaza',
260     # sub { rec('011','a') },
261     # sub { rec('11') },
262     # )
263     # );
264     # } else {
265     # marc_original_order('260', '210');
266     # }
267 dpavlin 758
268 dpavlin 890 marc_original_order('260','210');
269 dpavlin 758
270     # provjeriti interpunkcije !!
271     # u NSK nesto ne stima
272    
273     marc('300','a',
274     suffix(
275 dpavlin 890 ( rec('215','a') && rec('215','c') ) ? ' : ' :
276     ( rec('215','a') && rec('215','d') ) ? ' ; ' :
277     ( rec('215','a') && rec('215','e') ) ? ' + ' :
278 dpavlin 773 ' ',
279 dpavlin 758 rec('215','a')
280     )
281     );
282    
283     marc('300','b',
284     suffix(
285 dpavlin 773 ( rec('215','c') && rec('215','d') ) ? ' ; ' :
286     ( rec('215','c') && rec('215','e') ) ? ' + ' :
287     ' ',
288 dpavlin 758 rec('215','c')
289     )
290     );
291    
292     marc('300','c',
293     suffix(
294     rec('215','e') ? ' + ' :
295     ' ',
296     rec('215','d')
297     )
298     );
299    
300     marc('300','e',
301     rec('215','e')
302     );
303    
304 dpavlin 890 ## 310 - current stated publication frequency
305 dpavlin 880 marc('310','a',
306     rec('326')
307     );
308 dpavlin 758
309 dpavlin 890 ## 321 - former frequency of either an item or an update to an item when a current frequency is contained in field 310
310     # marc('321','a',
311     # ovo bi trebalo procitati iz NSK konvertiranih podataka
312     #);
313    
314 dpavlin 880 marc_indicators('362', 0, ' ');
315 dpavlin 758
316    
317 dpavlin 890 ## 362
318     if ( rec('207','a') ) {
319     marc('362','a',
320     rec('207','a'),
321     );
322     } else {
323     if ( rec('11') ) {
324     marc('362','a',
325     lookup(
326     sub { rec('207','a') },
327     'nsk','bbaza',
328     sub { first( rec('011','a') ) },
329     sub { rec('11') },
330     )
331     );
332     }
333     }
334 dpavlin 880
335 dpavlin 890 ## 5xx
336 dpavlin 880 marc('500','a',
337 dpavlin 890 rec('300','a'),
338 dpavlin 758 );
339 dpavlin 880
340 dpavlin 890
341     marc('534','a',
342     rec('324')
343     );
344    
345     if ( rec('11') ) {
346     marc('546','a',
347 dpavlin 880 lookup(
348     sub { rec('302','a') },
349     'nsk','bbaza',
350     sub { rec('011','a') },
351     sub { rec('11') },
352     )
353     );
354 dpavlin 890
355     marc('550','a',
356     lookup(
357     sub { rec('314','a') },
358 dpavlin 880 'nsk','bbaza',
359     sub { rec('011','a') },
360     sub { rec('11') },
361     )
362     );
363 dpavlin 758
364 dpavlin 890 marc('555','a',
365 dpavlin 880 lookup(
366 dpavlin 890 sub { rec('320','a') },
367 dpavlin 880 'nsk','bbaza',
368     sub { rec('011','a') },
369     sub { rec('11') },
370     )
371 dpavlin 758 );
372    
373    
374 dpavlin 890 # marc('562','a',
375     # lookup(
376     # sub { rec('316','a') },
377     # 'nsk','bbaza',
378     # sub { rec('011','a') },
379     # sub { rec('11') },
380     # )
381     # );
382 dpavlin 758 }
383 dpavlin 890
384 dpavlin 758 marc_indicators('653', 0, ' ');
385     marc('653','a',
386     rec('610')
387     );
388    
389 dpavlin 890 # marc_indicators('655', ' ', 4);
390     # marc('655','a',
391     # lookup(
392     # sub { rec('608','a') },
393     # 'nsk','bbaza',
394     # sub { rec('011','a') },
395     # sub { rec('11') },
396     # )
397     # );
398 dpavlin 758
399    
400     #_debug(2);
401    
402     marc_indicators('700', 1, ' ');
403    
404     marc('700','a',
405     rec('702','a'),
406     );
407    
408     marc('700','a',
409     join_with(', ',
410     rec('702','c'),
411     rec('702','d')
412     )
413     );
414    
415    
416     #_debug(0);
417    
418 dpavlin 890 marc_indicators('710', '2', ' ');
419     marc('710','a',
420     rec('710','a')
421 dpavlin 758 );
422    
423    
424 dpavlin 880 marc_indicators('770', 0, ' ');
425     marc('770','t',
426 dpavlin 890 rec('421','a'),
427 dpavlin 758 );
428    
429 dpavlin 890 marc_indicators('772', 0, ' ');
430     marc('772','t',
431     rec('422','a'),
432 dpavlin 773 );
433 dpavlin 758
434 dpavlin 890 marc_indicators('777', 0, ' ');
435     marc('777','t',
436     rec('423','a'),
437 dpavlin 773 );
438 dpavlin 758
439 dpavlin 890 marc_indicators('780', 0, 0);
440     marc('780','t',
441     rec('430','a'),
442 dpavlin 773 );
443    
444 dpavlin 890 marc_indicators('785', 0, 0);
445     marc('785','t',
446     rec('440','a'),
447 dpavlin 773 );
448    
449 dpavlin 880 marc('852','j',
450     join_with(' ',
451     rec('990')
452 dpavlin 773 )
453     );
454    
455 dpavlin 880 marc('876','a',
456     rec('991','a')
457     );
458    
459     marc('992','a',
460     join_with(' ; ',
461     rec('992')
462     )
463     );
464    
465    
466 dpavlin 890 # marc('997','a',
467     # sort(
468     # lookup(
469     # sub { rec('001') },
470     # 'nsk','bbaza',
471     # sub { rec('011','a') },
472     # sub { rec('11') },
473     # )
474     # )
475     # );
476     #
477     # marc('998','a',
478     # sort(
479     # lookup(
480     # sub { rec('001') },
481     # 'nsk','bbaza',
482     # sub { first(rec('200','a')) . first(rec('200','e')) },
483     # sub { rec('200','a') . rec('200','e') },
484     # )
485     # )
486     # );
487     #
488     # marc('998','a',
489     # sort(
490     # lookup(
491     # sub { rec('001') },
492     # 'nsk','bbaza',
493     # sub { first(rec('200','a')) },
494     # sub { rec('200','a') },
495     # )
496     # )
497     # );
498 dpavlin 880
499 dpavlin 758 }

  ViewVC Help
Powered by ViewVC 1.1.26