1 if ( rec('200','a') ) {
8 ## LDR 06 - a - language material
11 ## LDR 07 - Bibliographic level
12 # izvuci podatke iz tablice (za po i sf)
14 if ( rec('225','a') ) {
15 marc_leader('07','d');
17 marc_leader('07','s');
20 ## LDR 17 - Encoding level ; 7 - minimal level, u - unknown
21 marc_leader('17','u');
24 marc_leader('18','i');
27 ## LDR 19 - Multipart resource record level ; # - Not specified or not applicable, a - Set, b - Part with independent title, c - Part with dependent title
28 # tematski brojevi imaju vezu u
30 if ( rec('225','a') ) {
31 marc_leader('19','a');
34 ### 008 - All materials
36 marc_fixed('008','00', '010101'); # 00-05 - Date entered on file
38 ## za 008 06 treba i lookup u tablicu gdje postoji podatak o tome jel tekuci casopis ili nije?
39 ## c - Continuing resource currently published
40 ## d - Continuing resource ceased publication
42 my $year = rec('210','c');
44 #if ( rec('210','c') ) {
45 # marc_fixed('008','06','s'); # 06 - Type of date/Publication status, s = single know date
47 ## warn "## year = $year";
49 # if ( $year =~ m/^(\d{4})/ ) {
51 # marc_fixed('008','07',$1); # 07-10 - Date 1
54 # if ( $year =~ m/^\d{4}-(\d{4})/ ) {
56 # marc_fixed('008','11',$1); # 11-14 - Date 2
57 # marc_fixed('008','06','d');
61 # marc_fixed('008','06','n'); # 06 - n = unknown date
64 if ( rec('210','c') ) {
67 if ( rec('210','c') =~ m/(\d{4})-/ ) {
68 marc_fixed('008','06','m');
69 if ( rec('210','c') =~ m/(\d{4})-/ ) {
73 if ( rec('210','c') =~ m/-(\d{4})/ ) {
77 marc_fixed('008','06','s');
78 if ( rec('210','c') =~ m/(\d{4})/ ) {
81 if ( rec('210','c') =~ m/(\d{2})(--|__)/ ) {
84 if ( rec('210','c') =~ m/(\d{3})(-|_)/ ) {
88 marc_fixed('008','07',$d1); # 07-10 - Date 1
89 marc_fixed('008','11',$d2); # 07-10 - Date 1
91 marc_fixed('008','06','n'); # 06 - n = unknown date
92 marc_fixed('008','07','uuuu');
95 marc_fixed('008','15', # 15-17 - Place of publication, production, or execution
101 marc_fixed('008','35',
102 first( lc(rec('101')) ) # 35-37 - Language
104 # 38 - Modified record
105 # 39 - Cataloging source
107 ### 008 - Continuing resources
109 if ( ! rec('225','a') ) {
111 marc_fixed('008','18', 'u'); # 18 - Frequency - ovo treba popuniti iz polja 326
112 marc_fixed('008','19', 'u'); # 19 - Regularity
113 # 20 - Undefined, ontains a blank (#) or fill character (|)
115 # za polje 008 21 treba lookup u tablicu:
116 marc_fixed('008','21', 'p'); # 21 - Type of continuing resource
118 # 22 - Form of original item - blank
120 # 24 - Nature of entire work
121 # 25-27 - Nature of contents
122 # 28 - Government publication
123 # 29 - Conference publication
125 # 33 - Original alphabet or script of title
126 # 34 - Entry convention
130 # if ( ! rec('225','a') ) {
139 #if ( ! rec('225','a') ) {
146 # privemeno koristimo 0356 umjesto 0359, zato ¹to marclint 9 prijavljuje kao gre¹ku
158 marc('035','6', $id);
162 # treba utvrditi toènu oznaku za ustanovu
178 marc_indicators('041', 0, ' ');
182 marc_repeatable_subfield('041','a',
189 ### 044 - zemlja izdavanja
202 # marc_indicators('210', '1',' ');
204 ### 210 - ABBREVIATED TITLE
205 # pronaæi prikladan izvor podataka (nsk baza, issn baza)
211 # sub { rec('531','a') },
213 # sub { rec('011','a') },
220 # drugi indikator prema èlanu
222 marc_indicators('222',' ','0');
225 # pronaæi prikadan izvor podataka - nsk baza, issn baze
235 # sub { rec('530','a') },
237 # sub { rec('011','a') },
244 # generiraju se prema èlanu, trebalo bi mo¾da i prema jeziku (jezika nema uvijek).
245 # potrebna naknadna kontrola
247 marc_indicators('245', 0, 0);
249 if ( ( rec('200','a') =~ m/^Die /) ||
250 ( rec('200','a') =~ m/^Das /) ||
251 ( rec('200','a') =~ m/^Der /) ||
252 ( rec('200','a') =~ m/^Les /) ||
253 ( rec('200','a') =~ m/^The /) ) {
254 marc_indicators('245', 0, 4);
258 if ( ( rec('200','a') =~ m/^Un /) ||
259 ( rec('200','a') =~ m/^An /) ||
260 ( rec('200','a') =~ m/^La /) ||
261 ( rec('200','a') =~ m/^Le /) ||
262 ( rec('200','a') =~ m/^Il /) ) {
263 marc_indicators('245', 0, 3);
266 if ( ( rec('200','a') =~ m/^A /) ||
267 ( rec('200','a') =~ m/^L'/) ) {
268 marc_indicators('245', 0, 2);
275 ( ! ( rec('200','d') || rec('200','e') || rec('200','k') ) ) && ( rec('200','f') ) ? ' /' :
276 ( rec('200','d') ) ? ' =' :
277 ( rec('200','e') ) ? ' :' :
278 ( rec('200','k') ) ? ' ;' :
283 ( rec('200','d') && rec('200','f') ) ? ' /' :
284 ( rec('200','d') && rec('200','c') ) ? '.' :
289 ( rec('200','e') && rec('200','f') ) ? ' /' :
290 ( rec('200','e') && rec('200','c') ) ? '.' :
295 ( rec('200','k') && rec('200','f') ) ? ' /' :
296 ( rec('200','k') && rec('200','c') ) ? '.' :
301 ( rec('200','f') && rec('200','c') ) ? '.' :
311 # prema jeziku - provjera
313 if ( ( rec('200','a') =~ m/^Die /) ||
314 ( rec('200','a') =~ m/^Das /) ||
315 ( rec('200','a') =~ m/^The /) ) {
316 marc_indicators('246', 0, 4);
318 marc_indicators('246', 0, 0);
322 # povuæi podatke iz prikladnog izvora (nsk, issn)
331 # sub { rec('532','a') },
333 # sub { rec('011','a') },
342 # provjeriti interpunkcije !!, u NSK nesto ne stima
344 marc_original_order('260','210');
348 # marc_repeatable_subfield('260','a',
350 # sub { rec('210','a') },
352 # sub { rec('011','a') },
356 # marc_repeatable_subfield('260','b',
358 # sub { rec('210','c') },
360 # sub { rec('011','a') },
366 # sub { rec('210','d') },
368 # sub { rec('011','a') },
373 # marc_original_order('260', '210');
381 ( rec('215','a') && rec('215','c') ) ? ' : ' :
382 ( rec('215','a') && rec('215','d') ) ? ' ; ' :
383 ( rec('215','a') && rec('215','e') ) ? ' + ' :
391 ( rec('215','c') && rec('215','d') ) ? ' ; ' :
392 ( rec('215','c') && rec('215','e') ) ? ' + ' :
400 rec('215','e') ? ' + ' :
410 ### 310 - current stated publication frequency
411 # potrebno ujednaèiti, koristi se i u polju 008
417 ### 321 - former frequency of either an item or an update to an item when a current frequency is contained in field 310
420 # ovo bi trebalo procitati iz NSK konvertiranih podataka
423 marc_indicators('362', 0, ' ');
427 if ( rec('207','a') ) {
438 # sub { rec('207','a') },
440 # sub { first( rec('011','a') ) },
449 marc_indicators('490', '0', ' ');
483 sub { rec('110','a'), },
485 sub { rec('011','a') },
503 # koje podatke povuæi iz drugih baza?
510 ### 534 - napomena o pretisku
516 ## potencijalno za izvuæi iz NSK
520 # sub { rec('302','a') },
522 # sub { rec('011','a') },
529 # sub { rec('314','a') },
531 # sub { rec('011','a') },
538 # sub { rec('320','a') },
540 # sub { rec('011','a') },
548 ## sub { rec('316','a') },
550 ## sub { rec('011','a') },
551 ## sub { rec('11') },
557 marc_indicators('653', 0, ' ');
565 # marc_indicators('655', ' ', 4);
568 # sub { rec('608','a') },
570 # sub { rec('011','a') },
580 marc_indicators('700', 1, ' ');
600 marc_indicators('710', '2', ' ');
609 marc_indicators('770', 0, ' ');
617 marc_indicators('772', 0, ' ');
626 if ( rec('225','a') ) {
628 marc_indicators('773', 0, ' ');
631 ## da li je bitan redoslijed potpolja?
637 sub { rec('200','a') },
651 marc_indicators('777', 0, ' ');
661 marc_indicators('780', 0, 0);
670 marc_indicators('785', 0, 0);
705 # sub { rec('200','a') },
707 # sub { rec('200','a'), },
708 # sub { rec('225','a'), }
716 # sub { rec('001') },
718 # sub { rec('011','a') },
727 # sub { rec('001') },
729 # sub { first(rec('200','a')) . first(rec('200','e')) },
730 # sub { rec('200','a') . rec('200','e') },
738 # sub { rec('001') },
740 # sub { first(rec('200','a')) },
741 # sub { rec('200','a') },