1 if ( rec('200','a') ) {
6 marc_leader('05','n'); # Record status
7 marc_leader('06','a'); # Type of record
9 ## izvuci podatke iz tablice (za po i sf)
11 if ( rec('225','a') ) {
12 marc_leader('07','d');
14 marc_leader('07','s'); # Bibliographic level
17 marc_leader('18','i'); # Descriptive cataloging form
19 # ako postoji neko od polja 76x-78x - LDR 19 je r, ako ne postoji onda je prazno
20 # tematski brojevi imaju vezu u
22 if ( rec('225','a') ) {
23 marc_leader('19','r'); # Linked record requirement
29 marc_fixed('007',00,'ta');
31 ### 008 - All materials
32 # ¹to zapisati u polje kad datum nije poznat?
34 marc_fixed('008','00', '070707'); # 00-05 - Date entered on file
36 ## za 008 06 treba i lookup u tablicu gdje postoji podatak o tome jel tekuci casopis ili nije?
37 ## c - Continuing resource currently published
38 ## d - Continuing resource ceased publication
40 my $year = rec('210','c');
42 if ( rec('210','c') ) {
43 marc_fixed('008','06','s'); # 06 - Type of date/Publication status, s = single know date
45 # warn "## year = $year";
47 if ( $year =~ m/^(\d{4})/ ) {
49 marc_fixed('008','07',$1); # 07-10 - Date 1
52 if ( $year =~ m/^\d{4}-(\d{4})/ ) {
54 marc_fixed('008','11',$1); # 11-14 - Date 2
55 marc_fixed('008','06','d');
59 marc_fixed('008','06','n'); # 06 - n = unknown date
63 marc_fixed('008','15', # 15-17 - Place of publication, production, or execution
69 marc_fixed('008','35',
70 first( lc(rec('101')) ) # 35-37 - Language
72 # 38 - Modified record
73 # 39 - Cataloging source
75 ### 008 - Continuing resources
77 if ( ! rec('225','a') ) {
79 marc_fixed('008','18', 'u'); # 18 - Frequency - ovo treba popuniti iz polja 326
80 marc_fixed('008','19', 'u'); # 19 - Regularity
81 # 20 - Undefined, ontains a blank (#) or fill character (|)
83 # za polje 008 21 treba lookup u tablicu:
84 marc_fixed('008','21', 'p'); # 21 - Type of continuing resource
86 # 22 - Form of original item - blank
88 # 24 - Nature of entire work
89 # 25-27 - Nature of contents
90 # 28 - Government publication
91 # 29 - Conference publication
93 # 33 - Original alphabet or script of title
94 # 34 - Entry convention
98 # if ( ! rec('225','a') ) {
107 #if ( ! rec('225','a') ) {
114 # privemeno koristimo 0356 umjesto 0359, zato ¹to marclint 9 prijavljuje kao gre¹ku
126 marc('035','6', $id);
130 # treba utvrditi toènu oznaku za ustanovu
146 marc_indicators('041', 0, ' ');
150 marc_repeatable_subfield('041','a',
157 ### 044 - zemlja izdavanja
170 # marc_indicators('210', '1',' ');
172 ### 210 - ABBREVIATED TITLE
173 # pronaæi prikladan izvor podataka (nsk baza, issn baza)
179 # sub { rec('531','a') },
181 # sub { rec('011','a') },
188 # drugi indikator prema èlanu
190 marc_indicators('222',' ','0');
193 # pronaæi prikadan izvor podataka - nsk baza, issn baze
203 # sub { rec('530','a') },
205 # sub { rec('011','a') },
212 # generiraju se prema èlanu, trebalo bi mo¾da i prema jeziku (jezika nema uvijek).
213 # potrebna naknadna kontrola
215 marc_indicators('245', 0, 0);
217 if ( ( rec('200','a') =~ m/^Die /) ||
218 ( rec('200','a') =~ m/^Das /) ||
219 ( rec('200','a') =~ m/^Der /) ||
220 ( rec('200','a') =~ m/^Les /) ||
221 ( rec('200','a') =~ m/^The /) ) {
222 marc_indicators('245', 0, 4);
226 if ( ( rec('200','a') =~ m/^Un /) ||
227 ( rec('200','a') =~ m/^An /) ||
228 ( rec('200','a') =~ m/^La /) ||
229 ( rec('200','a') =~ m/^Le /) ||
230 ( rec('200','a') =~ m/^Il /) ) {
231 marc_indicators('245', 0, 3);
234 if ( ( rec('200','a') =~ m/^A /) ||
235 ( rec('200','a') =~ m/^L'/) ) {
236 marc_indicators('245', 0, 2);
243 ( ! ( rec('200','d') || rec('200','e') || rec('200','k') ) ) && ( rec('200','f') ) ? ' /' :
244 ( rec('200','d') ) ? ' = ' :
245 ( rec('200','e') ) ? ' : ' :
246 ( rec('200','k') ) ? ' ; ' :
251 ( rec('200','d') && rec('200','f') ) ? ' /' :
252 ( rec('200','d') && rec('200','c') ) ? '.' :
257 ( rec('200','e') && rec('200','f') ) ? ' /' :
258 ( rec('200','e') && rec('200','c') ) ? '.' :
263 ( rec('200','k') && rec('200','f') ) ? ' /' :
264 ( rec('200','k') && rec('200','c') ) ? '.' :
269 ( rec('200','f') && rec('200','c') ) ? '.' :
279 # prema jeziku - provjera
281 if ( ( rec('200','a') =~ m/^Die /) ||
282 ( rec('200','a') =~ m/^Das /) ||
283 ( rec('200','a') =~ m/^The /) ) {
284 marc_indicators('246', 0, 4);
286 marc_indicators('246', 0, 0);
290 # povuæi podatke iz prikladnog izvora (nsk, issn)
299 # sub { rec('532','a') },
301 # sub { rec('011','a') },
310 # provjeriti interpunkcije !!, u NSK nesto ne stima
312 marc_original_order('260','210');
316 # marc_repeatable_subfield('260','a',
318 # sub { rec('210','a') },
320 # sub { rec('011','a') },
324 # marc_repeatable_subfield('260','b',
326 # sub { rec('210','c') },
328 # sub { rec('011','a') },
334 # sub { rec('210','d') },
336 # sub { rec('011','a') },
341 # marc_original_order('260', '210');
349 ( rec('215','a') && rec('215','c') ) ? ' : ' :
350 ( rec('215','a') && rec('215','d') ) ? ' ; ' :
351 ( rec('215','a') && rec('215','e') ) ? ' + ' :
359 ( rec('215','c') && rec('215','d') ) ? ' ; ' :
360 ( rec('215','c') && rec('215','e') ) ? ' + ' :
368 rec('215','e') ? ' + ' :
378 ### 310 - current stated publication frequency
379 # potrebno ujednaèiti, koristi se i u polju 008
385 ### 321 - former frequency of either an item or an update to an item when a current frequency is contained in field 310
388 # ovo bi trebalo procitati iz NSK konvertiranih podataka
391 marc_indicators('362', 0, ' ');
395 if ( rec('207','a') ) {
406 # sub { rec('207','a') },
408 # sub { first( rec('011','a') ) },
417 marc_indicators('490', '0', ' ');
451 sub { rec('110','a'), },
453 sub { rec('011','a') },
471 # koje podatke povuæi iz drugih baza?
478 ### 534 - napomena o pretisku
484 ## potencijalno za izvuæi iz NSK
488 # sub { rec('302','a') },
490 # sub { rec('011','a') },
497 # sub { rec('314','a') },
499 # sub { rec('011','a') },
506 # sub { rec('320','a') },
508 # sub { rec('011','a') },
516 ## sub { rec('316','a') },
518 ## sub { rec('011','a') },
519 ## sub { rec('11') },
525 marc_indicators('653', 0, ' ');
533 # marc_indicators('655', ' ', 4);
536 # sub { rec('608','a') },
538 # sub { rec('011','a') },
548 marc_indicators('700', 1, ' ');
568 marc_indicators('710', '2', ' ');
577 marc_indicators('770', 0, ' ');
585 marc_indicators('772', 0, ' ');
594 if ( rec('225','a') ) {
596 marc_indicators('773', 0, ' ');
599 ## da li je bitan redoslijed potpolja?
605 sub { rec('200','a') },
619 marc_indicators('777', 0, ' ');
629 marc_indicators('780', 0, 0);
638 marc_indicators('785', 0, 0);
673 # sub { rec('200','a') },
675 # sub { rec('200','a'), },
676 # sub { rec('225','a'), }
684 # sub { rec('001') },
686 # sub { rec('011','a') },
695 # sub { rec('001') },
697 # sub { first(rec('200','a')) . first(rec('200','e')) },
698 # sub { rec('200','a') . rec('200','e') },
706 # sub { rec('001') },
708 # sub { first(rec('200','a')) },
709 # sub { rec('200','a') },