/[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 905 - (hide annotations)
Mon Oct 29 21:59:43 2007 UTC (16 years, 6 months ago) by dpavlin
File MIME type: text/plain
File size: 15541 byte(s)
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     regex('s/ ISBN //g',
101     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     rec('101')
172     );
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 876 ( ! ( 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 876 ( 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     ( rec('200','e') && rec('200','f') ) ? ' / ' :
339     ( rec('200','e') && rec('200','c') ) ? '. ' :
340     '',
341     rec('200','e'),
342     ),
343     'b', suffix(
344     ( rec('200','k') && rec('200','f') ) ? ' / ' :
345     ( rec('200','k') && rec('200','c') ) ? '. ' :
346     '',
347     rec('200','k'),
348     ),
349 dpavlin 816 'c', suffix(
350     ( rec('200','f') && rec('200','c') ) ? '. ' :
351 dpavlin 824 '',
352 dpavlin 816 rec('200','f'),
353 dpavlin 751 ),
354 dpavlin 816 '+', rec('200','c'),
355     );
356 dpavlin 751
357 dpavlin 876 #marc_compose('245',
358     # 'a', suffix(
359     # ( ! rec('200','p') && ( rec('200','f') || rec('200','c') ) ) ? ' / ' :
360     # ( ! rec('200','p') && rec('200','c') ) ? ' : ' :
361     # '',
362     # rec('200','a'),
363     # ),
364     # 'b', suffix(
365     # ( rec('200','p') && rec('200','f') ) ? ' / ' :
366     # ( rec('200','p') && rec('200','c') ) ? '. ' :
367     # '',
368     # rec('200','p'),
369     # ),
370     # 'c', suffix(
371     # ( rec('200','f') && rec('200','c') ) ? '. ' :
372     # '',
373     # rec('200','f'),
374     # ),
375     # '+', rec('200','c'),
376     #);
377    
378 dpavlin 816 #_debug(0);
379 dpavlin 783
380 dpavlin 816 #marc_compose('245',
381     # 'a', suffix(
382     # rec('200','b') ? '. ' :
383     # rec('200','k') ? ' ; ' :
384     # rec('200','d') ? ' = ' :
385     # rec('200','e') ? ' : ' :
386     # rec('200','f') ? ' / ' :
387     # '.',
388     # rec('200','a')
389     # ),
390     ## 'h', rec('200','b'),
391     # 'b', suffix(
392     # ( rec('200','k') && rec('200','f') ) ? ' / ' :
393     # ' ',
394     # join_with(' ; ',
395     # rec('200','k'),
396     # ),
397     # ),
398     # 'b', suffix(
399     # ( rec('200','d') && rec('200','f') ) ? ' / ' :
400     # ' ',
401     # rec('200','d'),
402     # ),
403     # 'b', suffix(
404     # ( rec('200','e') && rec('200','f') ) ? ' / ' :
405     # ' ',
406     # join_with(' : ',
407     # rec('200','e'),
408     # ),
409     # ),
410     # 'c', rec('200','f'),
411 dpavlin 903 ## append to last subfield
412 dpavlin 816 # '+', prefix('. ',
413     # rec('200','c')
414     # ),
415     #);
416 dpavlin 751
417    
418 dpavlin 792 ### 250
419 dpavlin 903 # zapisima koji nemaju potpolje, dodaje se ^a u modify - provjeriti
420 dpavlin 783
421 dpavlin 824 marc_compose('250',
422     'a',suffix(
423     rec('205','f') ? ' / ' :
424     ' ',
425 dpavlin 751 rec('205','a')
426 dpavlin 824 ),
427     'b', rec('205','f'),
428 dpavlin 751 );
429    
430 dpavlin 792 ### 260
431 dpavlin 751 # ponovljiva potpolja u originalnom redosljedu
432 dpavlin 773
433 dpavlin 751 marc_original_order('260', '210');
434    
435    
436 dpavlin 792 ### 300
437 dpavlin 876 # urediti interpunkcije za sve kombinacije
438 dpavlin 758
439 dpavlin 751 marc('300','a',
440     suffix(
441 dpavlin 783 rec('215','c') ? ' : ' :
442     rec('215','d') ? ' ; ' :
443     rec('215','e') ? ' + ' :
444 dpavlin 751 ' ',
445     rec('215','a')
446     )
447     );
448    
449     marc('300','b',
450     suffix(
451 dpavlin 783 ( rec('215','c') && rec('215','d') ) ? ' ; ' :
452     ( rec('215','c') && rec('215','e') ) ? ' + ' :
453 dpavlin 816 ' ',
454 dpavlin 751 rec('215','c')
455     )
456     );
457    
458     marc('300','c',
459     suffix(
460     rec('215','e') ? ' + ' :
461     ' ',
462     rec('215','d')
463     )
464     );
465    
466     marc('300','e',
467     rec('215','e')
468     );
469    
470 dpavlin 876 ### 362
471     # brojèani podaci za nakladnièku cjelinu
472 dpavlin 903 # ???
473 dpavlin 751
474 dpavlin 905 ### 440 - indikatori
475     # 2.ind. prema jeziku i èlanu, provjeriri
476 dpavlin 758
477 dpavlin 783 marc_indicators('440', ' ', '0');
478 dpavlin 751
479 dpavlin 816 if ( ( rec('225','a') =~ m/^Die /) ||
480     ( rec('225','a') =~ m/^Das /) ||
481     ( rec('225','a') =~ m/^The /) ) {
482     marc_indicators('440', ' ', 4);
483     }
484    
485     if ( ( rec('225','a') =~ m/^A /) && ( rec(101) =~ m/ENG/ ) ) {
486     marc_indicators('440', ' ', 2);
487     }
488    
489     if ( ( rec('225','a') =~ m/^An /) && ( rec(101) =~ m/ENG/ ) ) {
490     marc_indicators('440', ' ', 2);
491     }
492    
493 dpavlin 824 #_debug(3);
494    
495 dpavlin 905 ### 440
496    
497 dpavlin 876 marc_original_order('440','225');
498 dpavlin 751
499 dpavlin 876 #marc_compose('440',
500     # 'a', suffix(
501     # rec('225','i') ? '. ' :
502     # '',
503 dpavlin 824 # rec('225','a'),
504     # ),
505 dpavlin 876 # 'p', suffix(
506     # ( ! rec('225','x') && rec('225','i') && rec('225','v') ) ? ' ; ' :
507     # ( rec('225','i') && rec('225','x') ) ? ', ' :
508     # '',
509     # rec('225','i'),
510     # ),
511     # 'x', suffix(
512     # ( rec('225','x') && rec('225','v') ) ? ' ; ' :
513     # '',
514     # rec('225','x'),
515     # ),
516     # 'v', rec('225','v'),
517     #);
518 dpavlin 824
519 dpavlin 876 ## ovo radi samo kad 225 nije ponovljivo
520 dpavlin 824
521 dpavlin 876 #if (
522     # count( lookup(
523     # sub { 1 },
524     # 'ffps','libri',
525     # sub { rec('225','a') }
526     # ) ) > 1
527     #) {
528 dpavlin 783
529 dpavlin 876 #marc_compose('440',
530     # 'a', suffix(
531     # ( rec('225','x') ) ? ', ' :
532     # ( rec('225','v') || rec('225','w') ) ? ' ; ' :
533     # ( rec('225','h') || rec('225','i') ) ? '. ' :
534     # '',
535     # join_with(' / ',
536     # join_with(' : ',
537     # join_with(' = ',
538     # rec('225','a'),
539     # rec('225','d'),
540     # ),
541     # rec('225','e'),
542     # ),
543     # rec('225','f'),
544     # ),
545     # ),
546     # 'x', suffix(
547     # ( rec('225','x') && rec('225','v') ) ? ' ; ' :
548     # ( rec('225','x') && ( rec('225','h') || rec('225','i') ) ) ? '. ' :
549     # '',
550     # rec('225','x'),
551     # ),
552     # 'v', suffix(
553     # ( rec('225','v') && rec('225','h') || rec('225','i') ) ? '. ' :
554     # '',
555     # join_with('; ',
556     # rec('225','v'),
557     # )
558     # ),
559     # 'n', suffix(
560     # ( rec('225','h') && rec('225','p') || rec('225','y') ) ? ', ' :
561     # '',
562     # rec('225','h'),
563     # ),
564     # 'p', suffix(
565     # ( rec('225','i') && rec('225','x') ) ? ', ' :
566     # ( rec('225','i') && rec('225','v') ) ? ' ; ' :
567     # '',
568     # rec('225','i'),
569     # ),
570     # 'x', suffix(
571     # ( rec('225','y') && rec('225','v') ) ? ' ; ' :
572     # '',
573     # rec('225','y'),
574     # ),
575     # 'v', rec('225','w'),
576     # );
577     #
578     # marc_compose('440',
579     # 'a', suffix(
580     # rec('225','k') ? ' ; ' :
581     # '',
582     # join_with(' / ',
583     # rec('225','b'),
584     # rec('225','j')
585     # ),
586     # ),
587     # 'v',
588     # rec('225','k'),
589     # );
590     #
591     #
592     # marc_compose('440',
593     # 'a', suffix(
594     # rec('225','s') ? ' ; ' :
595     # '',
596     # join_with(' / ',
597     # rec('225','c'),
598     # rec('225','r')
599     # ),
600     # ),
601     # 'v',
602     # rec('225','s'),
603     # );
604 dpavlin 783
605 dpavlin 876 #}
606 dpavlin 783
607 dpavlin 876 #if ( rec('225','i') ) {
608     # marc('440','p',
609     # prefix('. ',
610     # rec('225','i')
611     # ),
612     # );
613     #}
614     #
615     #if ( rec('225','v') ) {
616     # marc('440','v',
617     # prefix(' ; ',
618     # rec('225','v'),
619     # ),
620     # );
621     #}
622 dpavlin 783
623 dpavlin 876 #_debug(0);
624 dpavlin 792
625 dpavlin 751
626 dpavlin 816 ### 50x
627 dpavlin 792
628 dpavlin 751 marc('500','a',
629     rec('300')
630     );
631    
632     marc('500','a',
633 dpavlin 773 rec('305')
634     );
635    
636     marc('500','a',
637     rec('307')
638     );
639    
640     marc('500','a',
641 dpavlin 751 rec('314')
642     );
643    
644 dpavlin 795 ### 502 - bilje¹ka o disertacijama
645     # odgovarajuæeg polja nema u originalnim podacima. mo¾da se mo¾e pretpostaviti?
646    
647 dpavlin 792 ### 504
648    
649 dpavlin 751 marc('504','a',
650     rec('320')
651     );
652    
653 dpavlin 758 ## napomene uz konverziju polja 327 (sadrzaj):
654 dpavlin 751 # NSK konvertira 327 (NP) u 501 (R)
655     # u LOC konv. tablici stoji 327 (NP) u 505 (NR)
656     # standard i validacije dopu¹taju 501 (R) i 505 (R)
657    
658 dpavlin 792 ## 505
659 dpavlin 903 # FFPS 327 - sadrzaj
660 dpavlin 792
661 dpavlin 758 if ( config() =~ m/ffps/ || config() =~ m/fftu/ ) {
662 dpavlin 773 marc_indicators('505', '0', ' ');
663 dpavlin 758 marc('505','a',
664     regex('s/\s*[\\r\\n]+\s*\**\s*/ ; /g',
665     rec('327')
666     )
667     );
668     }
669 dpavlin 751
670 dpavlin 816 if ( config() =~ m/ffan/ ) {
671     marc_indicators('505', '0', ' ');
672     marc('505','a',
673     regex('s/[<>]//g',
674     rec('330')
675     )
676     );
677     }
678 dpavlin 751
679 dpavlin 792
680 dpavlin 751 # NSK konvertira 330 (P) u 520 (P) = LOC konv. tablica
681    
682    
683 dpavlin 792 ### 520
684 dpavlin 903 # mo¾da i polje 520y - jezik napomene ako je uvijek isti jezik?
685 dpavlin 792
686 dpavlin 758 # FFPS 330 (NP) - sa¾etak
687     if ( config() =~ m/ffps/ ) {
688     marc('520','a',
689     regex('s/[\\r\\n]+/. /g',
690     rec('330')
691     )
692     );
693     }
694 dpavlin 751
695 dpavlin 816 ### 526 - STUDY PROGRAM INFORMATION NOTE
696 dpavlin 903 # provjeriti za svaku bazu sta je tocno u 996?
697 dpavlin 751
698 dpavlin 816 marc_indicators('526', 8, ' ');
699 dpavlin 792
700 dpavlin 816 marc('526','a',
701     rec('996')
702     );
703 dpavlin 792
704 dpavlin 816 ### 538 - zahtjevi sustava
705    
706 dpavlin 773 marc('538','a',
707     rec('337','a')
708     );
709 dpavlin 758
710 dpavlin 773
711 dpavlin 792 ### 246
712 dpavlin 751
713 dpavlin 758 marc_indicators('246', 1, 3);
714     marc('246','a',
715     rec('532')
716     );
717    
718 dpavlin 792 ### 655
719    
720 dpavlin 751 marc_indicators('655', ' ', 4);
721     marc('655','a',
722     rec('608')
723     );
724    
725 dpavlin 792 ### 653
726    
727 dpavlin 758 marc_indicators('653', 0, ' ');
728 dpavlin 751 marc('653','a',
729     rec('610')
730     );
731    
732 dpavlin 792 #_debug(2);
733 dpavlin 751
734    
735 dpavlin 792 ### 700
736 dpavlin 751
737     marc_indicators('700', 1, ' ');
738    
739     if ( rec('701') ) {
740     marc('700','4',
741     'aut'
742     );
743     }
744    
745     marc('700','a',
746 dpavlin 758 join_with(', ',
747     rec('701', 'a'),
748     rec('701', 'b')
749     )
750 dpavlin 751 );
751    
752     marc('700','a',
753     join_with(', ',
754     rec('701', 'c'),
755     rec('701', 'd')
756     )
757     );
758    
759     marc('700','a',
760     join_with(', ',
761     rec('701', 'e'),
762     rec('701', 'f')
763     )
764     );
765    
766     marc('700','a',
767     join_with(', ',
768     rec('701', 'g'),
769     rec('701', 'h')
770     )
771     );
772    
773    
774     marc('700','a',
775 dpavlin 876 join_with(', ',
776     rec('702', 'a'),
777     rec('702', 'b')
778     )
779 dpavlin 751 );
780    
781    
782 dpavlin 758 # ako je u originalu ponovljivo polje treba biti i konvertirano u ponovljivo !!
783 dpavlin 751
784    
785     marc('700','a',
786     join_with(', ',
787     rec('702','c'),
788     rec('702','d')
789     )
790     );
791    
792     marc('700','a',
793     join_with(', ',
794     rec('702','e'),
795     rec('702','f')
796     )
797     );
798    
799     marc('700','a',
800     join_with(', ',
801     rec('702','g'),
802     rec('702','h')
803     )
804     );
805    
806     #_debug(0);
807    
808    
809 dpavlin 792 ### 740
810 dpavlin 751
811 dpavlin 792 marc_indicators('740', 0, ' ');
812 dpavlin 751
813 dpavlin 792 # if ( ! rec('464') ) {
814     # marc('740','a',
815     # rec('200','c')
816     # );
817 dpavlin 751
818 dpavlin 807 marc('740','a',
819     rec('200','k')
820     );
821 dpavlin 751
822 dpavlin 792 # } else {
823 dpavlin 751
824 dpavlin 792 #marc('740','a',
825     # rec('464','a')
826     #);
827 dpavlin 751
828 dpavlin 792 # };
829 dpavlin 751
830 dpavlin 903 # generiranje zapisa o nakladnièkoj cjelini i povezivanje podreðenog zapisa s nadreðenim
831 dpavlin 751
832 dpavlin 824 if (
833 dpavlin 876 rec('225','a') # da li je nakladnièka cjelina?
834 dpavlin 824 ) {
835 dpavlin 751
836 dpavlin 824 my $series_key =
837     join_with('',
838     rec('225','a'),
839     rec('210','a'),
840     rec('210','b'),
841     );
842    
843     my $series = get( $series_key );
844    
845     if ($series) {
846     warn "nije novi";
847     } else {
848    
849     $series = join_with('',
850     config(),
851     'LS',
852     rec('000')
853     );
854    
855     set( $series_key => $series );
856    
857 dpavlin 876 } # $series
858     } # nakladnièka cjelina
859 dpavlin 824
860 dpavlin 792 my $series_key = join_with('',
861     rec('225','a'),
862     rec('210','a'),
863     rec('210','b'),
864     );
865 dpavlin 751
866 dpavlin 792 if ($series_key) {
867 dpavlin 751
868 dpavlin 792 marc_indicators('760', 0, ' ');
869    
870     marc('760','w',
871     get( $series_key )
872     );
873     }
874     ### testing
875     #
876     # my $dup_key = join_with('',
877     # rec('200','a'),
878     #);
879     #
880     #if ($dup_key) {
881     # marc('995','a',
882     # get( $dup_key )
883     # );
884     #}
885     #
886     #
887     # marc_indicators('776', 0, ' ');
888     #
889     # marc('776','a',
890     # rec('452','1')
891     # );
892     #
893 dpavlin 751
894    
895 dpavlin 903 ### 852 - lokacija
896 dpavlin 783
897 dpavlin 816 marc_indicators('852', 4, ' ');
898 dpavlin 773
899 dpavlin 816 marc('852','j',
900     join_with(' ',
901     rec('990')
902     )
903     );
904 dpavlin 783
905 dpavlin 903 ### 876 - item information - basic bibliographic unit
906 dpavlin 783
907 dpavlin 816 marc('876','a',
908     rec('991'),
909     );
910 dpavlin 783
911 dpavlin 903 ### 886 - former marc
912 dpavlin 783
913 dpavlin 816 marc_indicators('886', 2, ' ');
914 dpavlin 783
915 dpavlin 816 marc('886','2',
916     'ffmarc'
917     );
918 dpavlin 792
919 dpavlin 816 marc('886','a',
920     '994'
921     );
922 dpavlin 792
923 dpavlin 816 marc('886','b',
924     join_with(''.
925     '##^a',
926     join_with('',
927     prefix('^a',
928     rec('994','a'),
929     ),
930     prefix('^b',
931     rec('994','b')
932     )
933     )
934     )
935     );
936 dpavlin 792
937    
938 dpavlin 795 } # polje 200a

  ViewVC Help
Powered by ViewVC 1.1.26