5 sub { rec('A') . rec('B') },
6 sub { config ('input collection') . rec('000') }
15 marc_leader('05','n');
17 ## LDR 06 - a - language material
18 marc_leader('06','a');
20 ## LDR 07 - Bibliographic level
21 # izvuci podatke iz tablie (za po i sf)
27 sub { rec('B') . rec('A') },
28 sub { config ('input collection') . rec('000') }
31 #if ( rec('225','a') ) {
32 # marc_leader('07','d');
34 # marc_leader('07','s');
38 marc_leader('07', $ldr7 );
40 marc_leader('07','s');
44 ## LDR 17 - Encoding level ; 7 - minimal level, u - unknown
45 marc_leader('17','u');
48 marc_leader('18','i');
51 ## LDR 19 - Multipart resource record level ; # - Not specified or not applicable, a - Set, b - Part with independent title, c - Part with dependent title
54 ### 008 - All materials
56 marc_fixed('008','00', '090820'); # 00-05 - Date entered on file
58 ## za 008 06 treba i lookup u tablicu gdje postoji podatak o tome jel tekuci casopis ili nije?
59 ## c - Continuing resource currently published
60 ## d - Continuing resource ceased publication
61 ## u - Continuing resource status unknown
63 marc_fixed('008','06','|');
68 if ( rec('210','c') ) {
69 if ( rec ('210','c') =~ m#(\d{4}).*?-.*?(\d{4})# ) {
72 marc_fixed('008','06','d');
74 if ( rec ('210','c') =~ m{(\d{4}).*?-\s*$} ) {
77 marc_fixed('008','06','c');
80 marc_fixed('008','07', $d1);
81 marc_fixed('008','11', $d2);
85 marc_fixed('008','15', # 15-17 - Place of publication, production, or execution
89 marc_fixed('008','35',
90 first( lc(rec('101')) ) # 35-37 - Language
93 marc_fixed('008','38','|'); # 38 - Modified record
94 marc_fixed('008','39','d'); # 39 - Cataloging source
96 ### 008 - Continuing resources
100 $fre = ( rec('326') eq '2g' ) ? 'g' :
101 ( rec('326') eq 'g1' ) ? 'a' :
102 ( rec('326') eq 'g2' ) ? 'f' :
103 ( rec('326') eq 'g3' ) ? 't' :
104 ( rec('326') eq 'g4' ) ? 'q' :
105 ( rec('326') eq 'g5' ) ? 'z' :
106 ( rec('326') eq 'g6' ) ? 'b' :
107 ( rec('326') eq 'g8' ) ? 'b' :
108 ( rec('326') eq 'g9' ) ? 'm' :
109 ( rec('326') eq 'm1' ) ? 'm' :
110 ( rec('326') eq '10' ) ? 'm' :
111 ( rec('326') eq '11' ) ? 'm' :
112 ( rec('326') eq 'm2' ) ? 's' :
113 ( rec('326') eq '19' ) ? 's' :
114 ( rec('326') eq '20' ) ? 's' :
115 ( rec('326') eq '26' ) ? 's' :
116 ( rec('326') eq 'm3' ) ? 'j' :
117 ( rec('326') eq 't1' ) ? 'w' :
118 ( rec('326') eq 't2' ) ? 'c' :
119 ( rec('326') eq 't2us' ) ? 'c' :
120 ( rec('326') eq 'nr' ) ? ' ' :
124 marc_fixed('008','18', $fre); # 18 - Frequency - ovo treba popuniti iz polja 326
125 marc_fixed('008','19', '|'); # 19 - Regularity
126 # 20 - Undefined, contains a blank (#) or fill character (|)
127 # za polje 008 21 treba lookup u tablicu s kodovima za sf i po, za ostale nadopuniti naknadno
133 sub { rec('B') . rec('A') },
134 sub { config ('input collection') . rec('000') }
138 marc_fixed('008','21', $stype); # 21 - Type of continuing resource
140 marc_fixed('008','21', 'p');
142 # 22 - Form of original item - blank
144 marc_fixed('008','24','|'); # 24 - Nature of entire work
145 marc_fixed('008','25','|||'); # 25-27 - Nature of contents
146 # 28 - Government publication
147 marc_fixed('008','29','|'); # 29 - Conference publication
149 marc_fixed('008','33','|'); # 33 - Original alphabet or script of title
150 marc_fixed('008','34','0'); # 34 - Entry convention
154 #if ( ! rec('225','a') ) {
167 config('input name'),
173 marc('035','a', $id);
176 sub { prefix('HR-ZaFF csig', rec('I') ) },
178 sub { rec('A') . rec('B') },
179 sub { config ('input collection') . rec('000') }
182 marc('035','a', $csigid);
187 # treba utvrditi tocnu oznaku za ustanovu
205 #### 041 - indikatori
208 #marc_indicators('041', 0, ' ');
212 #marc_repeatable_subfield('041','a',
239 # marc_indicators('210', '1',' ');
241 ### 210 - ABBREVIATED TITLE
242 # pronaći prikladan izvor podataka (nsk baza, issn baza)
245 # drugi indikator prema clanu
247 marc_indicators('222',' ','0');
250 # pronaci prikadan izvor podataka - nsk baza, issn baze
260 # sub { rec('530','a') },
262 # sub { rec('011','a') },
269 # generiraju se prema clanu, trebalo bi możda i prema jeziku (jezika nema uvijek).
270 # potrebna naknadna kontrola
276 sub { rec('A') . rec('B') },
277 sub { config ('input collection') . rec('000') }
280 marc_indicators('245', 0, 0);
282 if ( ( $naslov =~ m/^Die /) ||
283 ( $naslov =~ m/^Das /) ||
284 ( $naslov =~ m/^Der /) ||
285 ( $naslov =~ m/^Les /) ||
286 ( $naslov =~ m/^The /) ) {
287 marc_indicators('245', 0, 4);
291 if ( ( $naslov =~ m/^Un /) ||
292 ( $naslov =~ m/^An /) ||
293 ( $naslov =~ m/^La /) ||
294 ( $naslov =~ m/^Le /) ||
295 ( $naslov =~ m/^Il /) ) {
296 marc_indicators('245', 0, 3);
299 if ( ( $naslov =~ m/^A /) ||
300 ( $naslov =~ m/^L'/) ) {
301 marc_indicators('245', 0, 2);
310 $c = $2 if $naslov =~ s{(\s+/)\s+(.+)$}{$1};
311 if ( $naslov =~ s{^(.+?[:=])\s+}{} ) {
318 #warn "a: $a\nb: $b\nc: $c\n";
320 $a = $a . '.' if ( ! ( $b || $c || rec('200','f') ) );
321 $a = $a . ' /' if ( ! ($b || $c) && rec('200','f') );
322 $b = $b . '.' if ( $b && ! ( $c || rec('200','f') ) ) ;
323 $b = $b . ' /' if ( $b && ! $c && rec('200','f') ) ;
326 marc('245','b', $b) if $b;
331 } elsif ( rec('200','f') ) {
333 suffix('.', rec('200','f') )
338 # prema jeziku - provjera
340 #if ( ( rec('200','a') =~ m/^Die /) ||
341 # ( rec('200','a') =~ m/^Das /) ||
342 # ( rec('200','a') =~ m/^The /) ) {
343 # marc_indicators('246', 0, 4);
345 # marc_indicators('246', 0, 0);
349 # povuci podatke iz prikladnog izvora (nsk, issn)
350 # 532 iz ISIS-a nije konvertirano
358 # sub { rec('532','a') },
360 # sub { rec('011','a') },
369 # provjeriti interpunkcije !!, u NSK nesto ne stima
371 marc_original_order('260','210');
375 # marc_repeatable_subfield('260','a',
377 # sub { rec('210','a') },
379 # sub { rec('011','a') },
383 # marc_repeatable_subfield('260','b',
385 # sub { rec('210','c') },
387 # sub { rec('011','a') },
393 # sub { rec('210','d') },
395 # sub { rec('011','a') },
400 # marc_original_order('260', '210');
408 ( rec('215','a') && rec('215','c') ) ? ' : ' :
409 ( rec('215','a') && rec('215','d') ) ? ' ; ' :
410 ( rec('215','a') && rec('215','e') ) ? ' + ' :
418 ( rec('215','c') && rec('215','d') ) ? ' ; ' :
419 ( rec('215','c') && rec('215','e') ) ? ' + ' :
427 rec('215','e') ? ' + ' :
437 ### 310 - current stated publication frequency
438 # potrebno ujednaciti, koristi se i u polju 008
442 #$fredesc = ( rec('326') eq '2g' ) ? 'Dvogodišnje' :
443 # ( rec('326') eq 'g1' ) ? 'Godišnje' :
444 # ( rec('326') eq 'g2' ) ? 'Polugodišnje' :
445 # ( rec('326') eq 'g3' ) ? 'Tri broja godišnje' :
446 # ( rec('326') eq 'g4' ) ? 'Četvrtgodišnje' :
447 # ( rec('326') eq 'g5' ) ? 'Pet brojeva godišnje' :
448 # ( rec('326') eq 'g6' ) ? 'Dvomjesečno' :
449 # ( rec('326') eq 'g8' ) ? 'Osam brojeva godišnje' :
450 # ( rec('326') eq 'g9' ) ? 'Devet brojeva godišnje' :
451 # ( rec('326') eq 'm1' ) ? 'Mjesečno' :
452 # ( rec('326') eq '10' ) ? 'Deset brojeva godišnje' :
453 # ( rec('326') eq '11' ) ? 'Jedanaest brojeve godišnje' :
454 # ( rec('326') eq 'm2' ) ? 'Polumjesečno' :
455 # ( rec('326') eq '19' ) ? 'Devetnaest brojeva godišnje' :
456 # ( rec('326') eq '20' ) ? 'Dvadeset brojeva godišnje' :
457 # ( rec('326') eq '26' ) ? 'Dvadeset i šest brojeva godišnje' :
458 # ( rec('326') eq 'm3' ) ? 'Tri broja mjesečno' :
459 # ( rec('326') eq 't1' ) ? 'Tjedno' :
460 # ( rec('326') eq 't2' ) ? 'Polutjedno' :
461 # ( rec('326') eq 't2us' ) ? 'Polutjedno utorkom u subotom' :
462 # ( rec('326') eq 'nr' ) ? 'Neredovito' :
480 ### 321 - former frequency of either an item or an update to an item when a current frequency is contained in field 310
483 # ovo bi trebalo procitati iz NSK konvertiranih podataka
486 marc_indicators('362', 0, ' ');
498 # sub { rec('207','a') },
500 # sub { first( rec('011','a') ) },
509 marc_indicators('490', '0', ' ');
543 # sub { rec('110','a'), },
545 # sub { rec('011','a') },
563 # koje podatke povuci iz drugih baza?
570 ### 534 - napomena o pretisku
576 ## potencijalno za izvuci iz NSK
580 # sub { rec('302','a') },
582 # sub { rec('011','a') },
589 # sub { rec('314','a') },
591 # sub { rec('011','a') },
598 # sub { rec('320','a') },
600 # sub { rec('011','a') },
608 ## sub { rec('316','a') },
610 ## sub { rec('011','a') },
611 ## sub { rec('11') },
617 marc_indicators('653', ' ', ' ');
625 # marc_indicators('655', ' ', 4);
628 # sub { rec('608','a') },
630 # sub { rec('011','a') },
640 marc_indicators('700', 1, ' ');
660 marc_indicators('110', '2', ' ');
669 if ( rec('710','c') ) {
671 surround('(', ')', rec('710','c'))
677 marc_indicators('770', 0, ' ');
689 marc_indicators('772', 0, ' ');
701 #if ( rec('225','a') ) {
703 #marc_indicators('773', 0, ' ');
706 ## da li je bitan redoslijed potpolja?
710 # sub { rec('000') },
712 # sub { rec('200','a') },
726 marc_indicators('777', 0, ' ');
740 marc_indicators('780', 0, 0);
753 marc_indicators('785', 0, 0);
771 marc_indicators('866',' ', 0);
803 # sub { rec('200','a') },
805 # sub { rec('200','a'), },
806 # sub { rec('225','a'), }
814 # sub { rec('001') },
816 # sub { rec('011','a') },
825 # sub { rec('001') },
827 # sub { first(rec('200','a')) . first(rec('200','e')) },
828 # sub { rec('200','a') . rec('200','e') },
836 # sub { rec('001') },
838 # sub { first(rec('200','a')) },
839 # sub { rec('200','a') },