/[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 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: 14706 byte(s)
local configuration

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

  ViewVC Help
Powered by ViewVC 1.1.26