/[webpac2]/trunk/conf/normalize/ff-libri.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-libri.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 964 - (hide annotations)
Fri Nov 2 13:00:55 2007 UTC (16 years, 6 months ago) by dpavlin
File MIME type: text/plain
File size: 15579 byte(s)
 r1471@llin:  dpavlin | 2007-11-02 14:00:35 +0100
 local

1 dpavlin 802 #########################################################################
2     ## ##
3     ## Ova datoteka sadr¾i pravila za generiranje MARC21 ISO 2709 izlazne ##
4     ## datoteke. Ulazni format je CDS/ISIS sa zapisima u UNIMARC-u. ##
5     ## ##
6     ##########################################################################
7 dpavlin 795
8 dpavlin 792 # konvertira se ako postoji polje 200^a
9 dpavlin 773
10 dpavlin 751 if ( rec('200','a') ) {
11    
12 dpavlin 792 ### LEADER
13 dpavlin 751 # raspraviti 17,18
14 dpavlin 795 # u nekim knji¾nicama koristi se 999a i 999b, a u nekima samo 999
15 dpavlin 751
16 dpavlin 795 if ( rec('999') && first(rec('999')) =~ m/(pregledan|P)/i) {
17 dpavlin 751 marc_leader('05','c');
18     } else {
19     marc_leader('05','n');
20     }
21    
22 dpavlin 842 # moguæa je i oznaka "m" u 06 - odrediti kriterije
23 dpavlin 751 marc_leader('06','a');
24     marc_leader('07','m');
25     marc_leader('18','i');
26    
27 dpavlin 876 # pojasniti upotrebu 19 lidera!
28    
29 dpavlin 751 if ( rec('230') ) {
30     marc_leader('19','r');
31     }
32    
33 dpavlin 792 ### 001 - Voyager
34 dpavlin 751
35 dpavlin 903 ### 003
36     # Pojasniti upotrebu polja
37 dpavlin 876
38 dpavlin 816 ### 007
39 dpavlin 903 # pojasniti upotrebu polja
40 dpavlin 816
41     marc_fixed('007',00,'ta');
42    
43 dpavlin 905 ### 008 - All materials
44    
45 dpavlin 903 # ¹to zapisati u polje kad datum nije poznat?
46 dpavlin 773
47 dpavlin 816 if ( rec('994','c') ) {
48     marc_fixed('008','00',
49     regex('s/^\d\d//',
50     rec('994','c')
51     ),
52     );
53     } else {
54     marc_fixed('008', 00,
55     '000101'
56     );
57     }
58    
59     #warn( dump(
60     # regex('s/^\d\d//',
61     # rec('994','c')
62     # ),
63     #)
64     #);
65    
66 dpavlin 905 marc_fixed('008','06', 't'); # 06 - Type of date/Publication status
67     marc_fixed('008','07',
68     rec('210','d')
69     ); # 07-10 - Date 1
70     # marc_fixed('008','11', ' '); # 11-14 - Date 2
71     marc_fixed('008','15',
72     lc ( rec('102') )
73     ); # 15-17 - Place of publication, production, or execution
74 dpavlin 816 marc_fixed('008','35',
75 dpavlin 905 first( lc(rec('101')) ) # 35-37 - Language
76 dpavlin 816 );
77 dpavlin 905 marc_fixed('008','38', '|'); # 38 - Modified record
78     marc_fixed('008','39','d'); # 39 - Cataloging source
79 dpavlin 816
80    
81 dpavlin 905 ### 008 - Books
82    
83     # 18-21 - Illustrations
84     # 22 - Target audience
85     # 23 - Form of item
86     # 24-27 - Nature of contents
87     # 28 - Government publication
88     # 29 - Conference publication
89     # 30 - Festschrift
90     # 31 - Index
91     # 32 - Undefined
92     # 33 - Literary form
93     # 34 - Biography
94    
95    
96 dpavlin 876 ### 020
97     # postoji modify -> drugi ISBN poèinje prefixom "ISBN" koji se mièe (sfb)
98 dpavlin 816
99 dpavlin 876 marc('020','a',
100 dpavlin 964 regex('s/\s*[\\r\\n]+\s*\**\s*/ ; /g',
101 dpavlin 876 rec('10')
102     )
103     );
104    
105    
106 dpavlin 792 ### 035$6
107     # Privemeno koristimo 035$6 umjesto 035$9, zato ¹to marclint prijavljuje 9 kao gre¹ku.
108 dpavlin 903 # marc 035a - System Number - Voyagerov ID (001)
109     # polje 035$9 mo¾e sadr¾avati slova i razmake
110 dpavlin 792
111 dpavlin 751 marc('035','6',
112 dpavlin 824 join_with('',
113 dpavlin 751 # config('input normalize path'),
114     # config('name'),
115 dpavlin 758 config(),
116 dpavlin 876 ' L',
117 dpavlin 751 # config('input name'),
118     # id(),
119     # rec('994','a'),
120     rec('000')
121     )
122     );
123    
124 dpavlin 792 ### 040
125     # za sve je isti
126 dpavlin 876 # treba utvrditi toènu oznaku za ustanovu
127 dpavlin 792
128 dpavlin 751 marc('040','a',
129     'HR FFZG'
130     );
131    
132     marc('040','b',
133     'hrv'
134     );
135    
136 dpavlin 758 marc('040','e',
137     'HR PPIAK'
138     );
139    
140 dpavlin 792
141 dpavlin 905 ### 041 - indikatori
142 dpavlin 903 #
143 dpavlin 792 # pretpostavke o indikatorima:
144     #
145 dpavlin 816 # 1. Ako postoji polje 300 i ono sadr¾i /Prijevod/ ili /Izv. stv. nasl./, i1 = 1
146 dpavlin 792 # (Da li je napomena uvijek pisana?)
147     #
148     # 2. Podatak o prevodiocu u 200g. Problem: razlièiti oblici rijeèi, razlièiti jezici.
149     #
150     # 3. Ako u UDK oznaci postoji "=", bez zagrada, onda je to prijevod
151     # (ako postoje zagrade pr. 94(=411.16) onda su to pomoæne oznake)
152     # pr. 821.111-2=163.42 je prijevod engleske drame na HR.
153     # to ima samo za knji¾evna djela, eseje....
154 dpavlin 816 # ????
155 dpavlin 792
156    
157 dpavlin 807 #if ( rec('675') =~ m/\d=\d/ ) {
158 dpavlin 876 if ( grep( m/prijevod/i, rec('300')) || grep( m/prevedeno/i, rec('300')) || grep( m/izv.*stv.*nasl/i, rec('300')) || grep( m/izvornik/i, rec('300')) || grep( m/preve/i, rec('200','f')) || grep( m/preve/i, rec('200','g')) || grep( m/prijevod/i, rec('200','f')) || grep( m/prijevod/i, rec('200','g')) ) {
159 dpavlin 751 marc_indicators('041', 1, ' ');
160     } else {
161     marc_indicators('041', 0, ' ');
162     }
163    
164 dpavlin 758
165 dpavlin 792 ### 041
166     # ponovljivo polje konvertira se u ponovljivo potpolje
167    
168 dpavlin 783 #_debug(2);
169 dpavlin 903
170 dpavlin 751 marc_repeatable_subfield('041','a',
171 dpavlin 964 lc( rec('101') )
172 dpavlin 751 );
173 dpavlin 903
174 dpavlin 783 #_debug(0);
175 dpavlin 751
176 dpavlin 876 ### 044
177 dpavlin 905 ## kako dobiti zemlju izdavanja?
178 dpavlin 751
179 dpavlin 792 ### 080
180 dpavlin 807 # 675 podpolja b, c, d ... - ¹to s njima ???
181 dpavlin 783
182 dpavlin 792 marc('080','a',
183     rec('675','a')
184     );
185    
186 dpavlin 876 marc('080','a',
187     rec('675','b')
188     );
189 dpavlin 792
190 dpavlin 876 marc('080','a',
191     rec('675','c')
192     );
193    
194     marc('080','a',
195     rec('675','d')
196     );
197    
198    
199 dpavlin 792 ### 084 - other classification (R)
200     # NSK ga koristi za struènu oznaku NSK iz polja 681
201 dpavlin 903 # NSK konvertira polje 686 u 084, u skladu s LOC konv. tablicom
202     # polje 686 koristi FFPS. jo¹ netko?
203 dpavlin 792
204     marc('084','a',
205     rec('686')
206     );
207    
208 dpavlin 905 ### 100 indikatori
209 dpavlin 903
210 dpavlin 792 # I1 = 0 ako je pseudonim (ima 700a, nema 700b)
211    
212 dpavlin 807 if ( rec('700','a') && ! rec('700','b') ) {
213     marc_indicators('100', 0, ' ');
214     } else {
215     marc_indicators('100', 1, ' ');
216     }
217    
218 dpavlin 905 ### 100
219    
220 dpavlin 792 marc('100','a',
221     join_with(', ',
222     rec('700', 'a'),
223     rec('700', 'b')
224     )
225     );
226    
227    
228     ### 111 i 110
229     # provjeriti ispise naslova iz svake baze - moguæe su gre¹ke.
230 dpavlin 905
231 dpavlin 802 # ovo vrijedi za FFSFB
232 dpavlin 876 if ( rec('710','d') || rec('710','e') || rec('710','f') ) {
233 dpavlin 792
234     marc_indicators('111', 2, ' ');
235    
236 dpavlin 802 marc_compose('111',
237 dpavlin 876 'a', suffix(
238     rec('710','b') ? '.' :
239     '',
240     rec('710','a'),
241     ),
242 dpavlin 802 'e', rec('710','b'),
243 dpavlin 876 'n', prefix(
244     rec('710','d') ? '(' :
245     '',
246     rec('710','d')
247     ),
248     'd', prefix(
249     ( ! rec('710','d') ) ? '(' :
250     ( ! rec('710','e') ) ? '(' :
251     '; ',
252     rec('710','f'),
253     ),
254     'c', prefix(
255     ( rec('710','e') && ( rec('710','d') || rec('710','f') ) ) ? '; ' :
256     ( ! rec('710','d') && ! rec('710','f') ) ? '(' :
257     '',
258     rec('710','e'),
259     ),
260     '+',')',
261 dpavlin 792 );
262    
263    
264     } else {
265    
266     marc_indicators('110', 2, ' ');
267 dpavlin 876
268 dpavlin 792 marc('110','a',
269     rec('710','a')
270     );
271    
272 dpavlin 876 marc('110','b',
273     rec('710','b')
274     );
275 dpavlin 792
276 dpavlin 903 if ( rec('710','c') ) {
277     marc('110','c',
278     surround('(', ')', rec('710','c'))
279     );
280     }
281    
282 dpavlin 802 }
283 dpavlin 792
284    
285 dpavlin 905 ### 245 indikatori
286     # treba nadopuniti i dati podatke na verifikaciju knji¾nièarima
287 dpavlin 903
288 dpavlin 816 # i1 = 0 za anonimne publikacije, i1 = 1 ako postoji 700 ili 710
289 dpavlin 792 # i2 = pretpostavlja se na temelju èlana na poèetku naslova i jezika
290    
291 dpavlin 816 my $i1;
292 dpavlin 792
293 dpavlin 816 if ( rec('700') || rec('710') ) {
294     $i1 = 1;
295    
296     } else {
297     $i1 = 0;
298     }
299    
300     marc_indicators('245', $i1, 0);
301    
302 dpavlin 758 if ( ( rec('200','a') =~ m/^Die /) ||
303     ( rec('200','a') =~ m/^Das /) ||
304 dpavlin 824 ( rec('200','a') =~ m/^Der /) ||
305 dpavlin 758 ( rec('200','a') =~ m/^The /) ) {
306 dpavlin 816 marc_indicators('245', $i1, 4);
307 dpavlin 783 }
308 dpavlin 751
309 dpavlin 807 if ( ( rec('200','a') =~ m/^A /) && ( rec(101) =~ m/ENG/ ) ) {
310 dpavlin 816 marc_indicators('245', $i1, 2);
311 dpavlin 783 }
312    
313 dpavlin 807 if ( ( rec('200','a') =~ m/^An /) && ( rec(101) =~ m/ENG/ ) ) {
314 dpavlin 816 marc_indicators('245', $i1, 2);
315 dpavlin 807 }
316    
317 dpavlin 905 ### 245
318 dpavlin 816 # podpolja i interpunkcije pripremljeni u modify
319 dpavlin 783
320 dpavlin 751 #_debug(3);
321 dpavlin 816
322 dpavlin 751 marc_compose('245',
323     'a', suffix(
324 dpavlin 944 ( ! ( rec('200','d') || rec('200','e') || rec('200','k') ) ) && ( rec('200','f') ) ? ' /' :
325     ( rec('200','d') ) ? ' =' :
326     ( rec('200','e') ) ? ' :' :
327     ( rec('200','k') ) ? ' ;' :
328 dpavlin 824 '',
329 dpavlin 816 rec('200','a'),
330 dpavlin 751 ),
331     'b', suffix(
332 dpavlin 944 ( rec('200','d') && rec('200','f') ) ? ' /' :
333     ( rec('200','d') && rec('200','c') ) ? '.' :
334 dpavlin 824 '',
335 dpavlin 876 rec('200','d'),
336 dpavlin 751 ),
337 dpavlin 876 'b', suffix(
338 dpavlin 944 ( rec('200','e') && rec('200','f') ) ? ' /' :
339     ( rec('200','e') && rec('200','c') ) ? '.' :
340 dpavlin 876 '',
341     rec('200','e'),
342     ),
343     'b', suffix(
344 dpavlin 944 ( rec('200','k') && rec('200','f') ) ? ' /' :
345     ( rec('200','k') && rec('200','c') ) ? '.' :
346 dpavlin 876 '',
347     rec('200','k'),
348     ),
349 dpavlin 816 'c', suffix(
350 dpavlin 944 ( rec('200','f') && rec('200','c') ) ? '.' :
351 dpavlin 824 '',
352 dpavlin 816 rec('200','f'),
353 dpavlin 751 ),
354 dpavlin 944 '+', suffix('.',
355     rec('200','c'),
356     ),
357 dpavlin 816 );
358 dpavlin 751
359 dpavlin 876 #marc_compose('245',
360     # 'a', suffix(
361     # ( ! rec('200','p') && ( rec('200','f') || rec('200','c') ) ) ? ' / ' :
362     # ( ! rec('200','p') && rec('200','c') ) ? ' : ' :
363     # '',
364     # rec('200','a'),
365     # ),
366     # 'b', suffix(
367     # ( rec('200','p') && rec('200','f') ) ? ' / ' :
368     # ( rec('200','p') && rec('200','c') ) ? '. ' :
369     # '',
370     # rec('200','p'),
371     # ),
372     # 'c', suffix(
373     # ( rec('200','f') && rec('200','c') ) ? '. ' :
374     # '',
375     # rec('200','f'),
376     # ),
377     # '+', rec('200','c'),
378     #);
379    
380 dpavlin 816 #_debug(0);
381 dpavlin 783
382 dpavlin 816 #marc_compose('245',
383     # 'a', suffix(
384     # rec('200','b') ? '. ' :
385     # rec('200','k') ? ' ; ' :
386     # rec('200','d') ? ' = ' :
387     # rec('200','e') ? ' : ' :
388     # rec('200','f') ? ' / ' :
389     # '.',
390     # rec('200','a')
391     # ),
392     ## 'h', rec('200','b'),
393     # 'b', suffix(
394     # ( rec('200','k') && rec('200','f') ) ? ' / ' :
395     # ' ',
396     # join_with(' ; ',
397     # rec('200','k'),
398     # ),
399     # ),
400     # 'b', suffix(
401     # ( rec('200','d') && rec('200','f') ) ? ' / ' :
402     # ' ',
403     # rec('200','d'),
404     # ),
405     # 'b', suffix(
406     # ( rec('200','e') && rec('200','f') ) ? ' / ' :
407     # ' ',
408     # join_with(' : ',
409     # rec('200','e'),
410     # ),
411     # ),
412     # 'c', rec('200','f'),
413 dpavlin 903 ## append to last subfield
414 dpavlin 816 # '+', prefix('. ',
415     # rec('200','c')
416     # ),
417     #);
418 dpavlin 751
419    
420 dpavlin 792 ### 250
421 dpavlin 903 # zapisima koji nemaju potpolje, dodaje se ^a u modify - provjeriti
422 dpavlin 783
423 dpavlin 824 marc_compose('250',
424     'a',suffix(
425     rec('205','f') ? ' / ' :
426     ' ',
427 dpavlin 751 rec('205','a')
428 dpavlin 824 ),
429     'b', rec('205','f'),
430 dpavlin 751 );
431    
432 dpavlin 792 ### 260
433 dpavlin 751 # ponovljiva potpolja u originalnom redosljedu
434 dpavlin 773
435 dpavlin 751 marc_original_order('260', '210');
436    
437    
438 dpavlin 792 ### 300
439 dpavlin 876 # urediti interpunkcije za sve kombinacije
440 dpavlin 758
441 dpavlin 751 marc('300','a',
442     suffix(
443 dpavlin 783 rec('215','c') ? ' : ' :
444     rec('215','d') ? ' ; ' :
445     rec('215','e') ? ' + ' :
446 dpavlin 751 ' ',
447     rec('215','a')
448     )
449     );
450    
451     marc('300','b',
452     suffix(
453 dpavlin 783 ( rec('215','c') && rec('215','d') ) ? ' ; ' :
454     ( rec('215','c') && rec('215','e') ) ? ' + ' :
455 dpavlin 816 ' ',
456 dpavlin 751 rec('215','c')
457     )
458     );
459    
460     marc('300','c',
461     suffix(
462     rec('215','e') ? ' + ' :
463     ' ',
464     rec('215','d')
465     )
466     );
467    
468     marc('300','e',
469     rec('215','e')
470     );
471    
472 dpavlin 876 ### 362
473     # brojèani podaci za nakladnièku cjelinu
474 dpavlin 903 # ???
475 dpavlin 751
476 dpavlin 905 ### 440 - indikatori
477     # 2.ind. prema jeziku i èlanu, provjeriri
478 dpavlin 758
479 dpavlin 783 marc_indicators('440', ' ', '0');
480 dpavlin 751
481 dpavlin 816 if ( ( rec('225','a') =~ m/^Die /) ||
482     ( rec('225','a') =~ m/^Das /) ||
483     ( rec('225','a') =~ m/^The /) ) {
484     marc_indicators('440', ' ', 4);
485     }
486    
487     if ( ( rec('225','a') =~ m/^A /) && ( rec(101) =~ m/ENG/ ) ) {
488     marc_indicators('440', ' ', 2);
489     }
490    
491     if ( ( rec('225','a') =~ m/^An /) && ( rec(101) =~ m/ENG/ ) ) {
492     marc_indicators('440', ' ', 2);
493     }
494    
495 dpavlin 824 #_debug(3);
496    
497 dpavlin 905 ### 440
498    
499 dpavlin 876 marc_original_order('440','225');
500 dpavlin 751
501 dpavlin 876 #marc_compose('440',
502     # 'a', suffix(
503     # rec('225','i') ? '. ' :
504     # '',
505 dpavlin 824 # rec('225','a'),
506     # ),
507 dpavlin 876 # 'p', suffix(
508     # ( ! rec('225','x') && rec('225','i') && rec('225','v') ) ? ' ; ' :
509     # ( rec('225','i') && rec('225','x') ) ? ', ' :
510     # '',
511     # rec('225','i'),
512     # ),
513     # 'x', suffix(
514     # ( rec('225','x') && rec('225','v') ) ? ' ; ' :
515     # '',
516     # rec('225','x'),
517     # ),
518     # 'v', rec('225','v'),
519     #);
520 dpavlin 824
521 dpavlin 876 ## ovo radi samo kad 225 nije ponovljivo
522 dpavlin 824
523 dpavlin 876 #if (
524     # count( lookup(
525     # sub { 1 },
526     # 'ffps','libri',
527     # sub { rec('225','a') }
528     # ) ) > 1
529     #) {
530 dpavlin 783
531 dpavlin 876 #marc_compose('440',
532     # 'a', suffix(
533     # ( rec('225','x') ) ? ', ' :
534     # ( rec('225','v') || rec('225','w') ) ? ' ; ' :
535     # ( rec('225','h') || rec('225','i') ) ? '. ' :
536     # '',
537     # join_with(' / ',
538     # join_with(' : ',
539     # join_with(' = ',
540     # rec('225','a'),
541     # rec('225','d'),
542     # ),
543     # rec('225','e'),
544     # ),
545     # rec('225','f'),
546     # ),
547     # ),
548     # 'x', suffix(
549     # ( rec('225','x') && rec('225','v') ) ? ' ; ' :
550     # ( rec('225','x') && ( rec('225','h') || rec('225','i') ) ) ? '. ' :
551     # '',
552     # rec('225','x'),
553     # ),
554     # 'v', suffix(
555     # ( rec('225','v') && rec('225','h') || rec('225','i') ) ? '. ' :
556     # '',
557     # join_with('; ',
558     # rec('225','v'),
559     # )
560     # ),
561     # 'n', suffix(
562     # ( rec('225','h') && rec('225','p') || rec('225','y') ) ? ', ' :
563     # '',
564     # rec('225','h'),
565     # ),
566     # 'p', suffix(
567     # ( rec('225','i') && rec('225','x') ) ? ', ' :
568     # ( rec('225','i') && rec('225','v') ) ? ' ; ' :
569     # '',
570     # rec('225','i'),
571     # ),
572     # 'x', suffix(
573     # ( rec('225','y') && rec('225','v') ) ? ' ; ' :
574     # '',
575     # rec('225','y'),
576     # ),
577     # 'v', rec('225','w'),
578     # );
579     #
580     # marc_compose('440',
581     # 'a', suffix(
582     # rec('225','k') ? ' ; ' :
583     # '',
584     # join_with(' / ',
585     # rec('225','b'),
586     # rec('225','j')
587     # ),
588     # ),
589     # 'v',
590     # rec('225','k'),
591     # );
592     #
593     #
594     # marc_compose('440',
595     # 'a', suffix(
596     # rec('225','s') ? ' ; ' :
597     # '',
598     # join_with(' / ',
599     # rec('225','c'),
600     # rec('225','r')
601     # ),
602     # ),
603     # 'v',
604     # rec('225','s'),
605     # );
606 dpavlin 783
607 dpavlin 876 #}
608 dpavlin 783
609 dpavlin 876 #if ( rec('225','i') ) {
610     # marc('440','p',
611     # prefix('. ',
612     # rec('225','i')
613     # ),
614     # );
615     #}
616     #
617     #if ( rec('225','v') ) {
618     # marc('440','v',
619     # prefix(' ; ',
620     # rec('225','v'),
621     # ),
622     # );
623     #}
624 dpavlin 783
625 dpavlin 876 #_debug(0);
626 dpavlin 792
627 dpavlin 751
628 dpavlin 816 ### 50x
629 dpavlin 792
630 dpavlin 751 marc('500','a',
631     rec('300')
632     );
633    
634     marc('500','a',
635 dpavlin 773 rec('305')
636     );
637    
638     marc('500','a',
639     rec('307')
640     );
641    
642     marc('500','a',
643 dpavlin 751 rec('314')
644     );
645    
646 dpavlin 795 ### 502 - bilje¹ka o disertacijama
647     # odgovarajuæeg polja nema u originalnim podacima. mo¾da se mo¾e pretpostaviti?
648    
649 dpavlin 792 ### 504
650    
651 dpavlin 751 marc('504','a',
652     rec('320')
653     );
654    
655 dpavlin 758 ## napomene uz konverziju polja 327 (sadrzaj):
656 dpavlin 751 # NSK konvertira 327 (NP) u 501 (R)
657     # u LOC konv. tablici stoji 327 (NP) u 505 (NR)
658     # standard i validacije dopu¹taju 501 (R) i 505 (R)
659    
660 dpavlin 792 ## 505
661 dpavlin 903 # FFPS 327 - sadrzaj
662 dpavlin 792
663 dpavlin 758 if ( config() =~ m/ffps/ || config() =~ m/fftu/ ) {
664 dpavlin 773 marc_indicators('505', '0', ' ');
665 dpavlin 758 marc('505','a',
666     regex('s/\s*[\\r\\n]+\s*\**\s*/ ; /g',
667     rec('327')
668     )
669     );
670     }
671 dpavlin 751
672 dpavlin 816 if ( config() =~ m/ffan/ ) {
673     marc_indicators('505', '0', ' ');
674     marc('505','a',
675     regex('s/[<>]//g',
676     rec('330')
677     )
678     );
679     }
680 dpavlin 751
681 dpavlin 792
682 dpavlin 751 # NSK konvertira 330 (P) u 520 (P) = LOC konv. tablica
683    
684    
685 dpavlin 792 ### 520
686 dpavlin 903 # mo¾da i polje 520y - jezik napomene ako je uvijek isti jezik?
687 dpavlin 792
688 dpavlin 758 # FFPS 330 (NP) - sa¾etak
689     if ( config() =~ m/ffps/ ) {
690     marc('520','a',
691     regex('s/[\\r\\n]+/. /g',
692     rec('330')
693     )
694     );
695     }
696 dpavlin 751
697 dpavlin 816 ### 526 - STUDY PROGRAM INFORMATION NOTE
698 dpavlin 903 # provjeriti za svaku bazu sta je tocno u 996?
699 dpavlin 751
700 dpavlin 816 marc_indicators('526', 8, ' ');
701 dpavlin 792
702 dpavlin 816 marc('526','a',
703     rec('996')
704     );
705 dpavlin 792
706 dpavlin 816 ### 538 - zahtjevi sustava
707    
708 dpavlin 773 marc('538','a',
709     rec('337','a')
710     );
711 dpavlin 758
712 dpavlin 773
713 dpavlin 792 ### 246
714 dpavlin 751
715 dpavlin 758 marc_indicators('246', 1, 3);
716     marc('246','a',
717     rec('532')
718     );
719    
720 dpavlin 792 ### 655
721    
722 dpavlin 751 marc_indicators('655', ' ', 4);
723     marc('655','a',
724     rec('608')
725     );
726    
727 dpavlin 792 ### 653
728    
729 dpavlin 758 marc_indicators('653', 0, ' ');
730 dpavlin 751 marc('653','a',
731     rec('610')
732     );
733    
734 dpavlin 792 #_debug(2);
735 dpavlin 751
736    
737 dpavlin 792 ### 700
738 dpavlin 751
739     marc_indicators('700', 1, ' ');
740    
741     if ( rec('701') ) {
742     marc('700','4',
743     'aut'
744     );
745     }
746    
747     marc('700','a',
748 dpavlin 758 join_with(', ',
749     rec('701', 'a'),
750     rec('701', 'b')
751     )
752 dpavlin 751 );
753    
754     marc('700','a',
755     join_with(', ',
756     rec('701', 'c'),
757     rec('701', 'd')
758     )
759     );
760    
761     marc('700','a',
762     join_with(', ',
763     rec('701', 'e'),
764     rec('701', 'f')
765     )
766     );
767    
768     marc('700','a',
769     join_with(', ',
770     rec('701', 'g'),
771     rec('701', 'h')
772     )
773     );
774    
775    
776     marc('700','a',
777 dpavlin 876 join_with(', ',
778     rec('702', 'a'),
779     rec('702', 'b')
780     )
781 dpavlin 751 );
782    
783    
784 dpavlin 758 # ako je u originalu ponovljivo polje treba biti i konvertirano u ponovljivo !!
785 dpavlin 751
786    
787     marc('700','a',
788     join_with(', ',
789     rec('702','c'),
790     rec('702','d')
791     )
792     );
793    
794     marc('700','a',
795     join_with(', ',
796     rec('702','e'),
797     rec('702','f')
798     )
799     );
800    
801     marc('700','a',
802     join_with(', ',
803     rec('702','g'),
804     rec('702','h')
805     )
806     );
807    
808     #_debug(0);
809    
810    
811 dpavlin 792 ### 740
812 dpavlin 751
813 dpavlin 792 marc_indicators('740', 0, ' ');
814 dpavlin 751
815 dpavlin 792 # if ( ! rec('464') ) {
816     # marc('740','a',
817     # rec('200','c')
818     # );
819 dpavlin 751
820 dpavlin 807 marc('740','a',
821     rec('200','k')
822     );
823 dpavlin 751
824 dpavlin 792 # } else {
825 dpavlin 751
826 dpavlin 792 #marc('740','a',
827     # rec('464','a')
828     #);
829 dpavlin 751
830 dpavlin 792 # };
831 dpavlin 751
832 dpavlin 903 # generiranje zapisa o nakladnièkoj cjelini i povezivanje podreðenog zapisa s nadreðenim
833 dpavlin 751
834 dpavlin 824 if (
835 dpavlin 876 rec('225','a') # da li je nakladnièka cjelina?
836 dpavlin 824 ) {
837 dpavlin 751
838 dpavlin 824 my $series_key =
839     join_with('',
840     rec('225','a'),
841     rec('210','a'),
842     rec('210','b'),
843     );
844    
845     my $series = get( $series_key );
846    
847     if ($series) {
848     warn "nije novi";
849     } else {
850    
851     $series = join_with('',
852 dpavlin 944 uc( config() ),
853     ' LS',
854 dpavlin 824 rec('000')
855     );
856    
857     set( $series_key => $series );
858    
859 dpavlin 876 } # $series
860     } # nakladnièka cjelina
861 dpavlin 824
862 dpavlin 792 my $series_key = join_with('',
863     rec('225','a'),
864     rec('210','a'),
865     rec('210','b'),
866     );
867 dpavlin 751
868 dpavlin 792 if ($series_key) {
869 dpavlin 751
870 dpavlin 792 marc_indicators('760', 0, ' ');
871    
872     marc('760','w',
873     get( $series_key )
874     );
875     }
876     ### testing
877     #
878     # my $dup_key = join_with('',
879     # rec('200','a'),
880     #);
881     #
882     #if ($dup_key) {
883     # marc('995','a',
884     # get( $dup_key )
885     # );
886     #}
887     #
888     #
889     # marc_indicators('776', 0, ' ');
890     #
891     # marc('776','a',
892     # rec('452','1')
893     # );
894     #
895 dpavlin 751
896    
897 dpavlin 903 ### 852 - lokacija
898 dpavlin 783
899 dpavlin 816 marc_indicators('852', 4, ' ');
900 dpavlin 773
901 dpavlin 816 marc('852','j',
902     join_with(' ',
903     rec('990')
904     )
905     );
906 dpavlin 783
907 dpavlin 903 ### 876 - item information - basic bibliographic unit
908 dpavlin 783
909 dpavlin 816 marc('876','a',
910     rec('991'),
911     );
912 dpavlin 783
913 dpavlin 903 ### 886 - former marc
914 dpavlin 783
915 dpavlin 816 marc_indicators('886', 2, ' ');
916 dpavlin 783
917 dpavlin 816 marc('886','2',
918     'ffmarc'
919     );
920 dpavlin 792
921 dpavlin 816 marc('886','a',
922     '994'
923     );
924 dpavlin 792
925 dpavlin 816 marc('886','b',
926     join_with(''.
927     '##^a',
928     join_with('',
929     prefix('^a',
930     rec('994','a'),
931     ),
932     prefix('^b',
933     rec('994','b')
934     )
935     )
936     )
937     );
938 dpavlin 792
939    
940 dpavlin 795 } # polje 200a

  ViewVC Help
Powered by ViewVC 1.1.26