4 |
# UNIMARC formatu, sa višestrukim odstupanjima od standarda. |
# UNIMARC formatu, sa višestrukim odstupanjima od standarda. |
5 |
|
|
6 |
|
|
7 |
## lookup rezultat za sabrana djela |
## lookup rezultat za sabrana djela (probna procedura za filozofiju od koje se odustalo) |
8 |
my $sabrana; |
# my $sabrana; |
9 |
|
|
10 |
|
|
11 |
## konvertira se ako postoji polje 200^a |
## sve skupa se konvertira tek ako postoji polje 200^a |
12 |
if ( rec('200','a') ) { |
if ( rec('200','a') ) { |
13 |
|
|
14 |
### LEADER |
### LEADER |
15 |
|
|
16 |
## LDR 05 - c = pregledan ; n = new |
## LDR 05 - n - new |
17 |
## provjeriti za svaku bazu koje polje koristi |
marc_leader('05','n'); |
|
## 999^aP - SFM |
|
|
|
|
|
if ( rec('999','a') && rec('999','a') =~ m/(pregledan|P)/i) { |
|
|
marc_leader('05','c'); |
|
|
} else { |
|
|
marc_leader('05','n'); |
|
|
} |
|
18 |
|
|
19 |
## LDR 06 - a - language material |
## LDR 06 - a - language material |
20 |
|
marc_leader('06','a'); |
|
marc_leader('06','a'); |
|
21 |
|
|
22 |
## LDR 07 - m - Monograph/item |
## LDR 07 - m - Monograph/item |
23 |
|
marc_leader('07','m'); |
24 |
|
|
25 |
if ( config() =~ m/fffi/ ) { |
# ovo je bila proba za filozofiju |
26 |
$sabrana = |
# if ( config() =~ m/fffi/ ) { |
27 |
lookup( |
# $sabrana = |
28 |
sub{ rec('A') }, |
# lookup( |
29 |
'fffi','sabrana', |
# sub{ rec('A') }, |
30 |
sub { rec('B') }, |
# 'fffi','sabrana', |
31 |
sub { rec('000') } |
# sub { rec('B') }, |
32 |
); |
# sub { rec('000') } |
33 |
} |
# ); |
34 |
|
# } |
35 |
if ( ! $sabrana ) { |
# |
36 |
marc_leader('07','m'); |
# if ( ! $sabrana ) { |
37 |
} else { |
# marc_leader('07','m'); |
38 |
marc_leader('07','c'); |
# } else { |
39 |
} |
# marc_leader('07','c'); |
40 |
|
# } |
41 |
|
|
42 |
## LDR 17 - Encoding level ; 7 - minimal level |
## LDR 17 - Encoding level ; 7 - minimal level, u - unknown |
43 |
marc_leader('17','7'); |
marc_leader('17','u'); |
44 |
|
|
45 |
## LDR 18 - i - isbd |
## LDR 18 - i - isbd |
46 |
marc_leader('18','i'); |
marc_leader('18','i'); |
47 |
|
|
48 |
## LDR 19 |
## LDR 19 - Multipart resource record level ; # - Not specified or not applicable, a - Set, b - Part with independent title, c - Part with dependent title |
|
# # - Not specified or not applicable; a - Set; b - Part with independent title; c - Part with dependent title |
|
49 |
|
|
50 |
#if ( ( ! $sabrana ) && ( rec('230') || rec('231') || rec('232') || rec('233') ) ) { |
#if ( ( ! $sabrana ) && ( rec('230') || rec('231') || rec('232') || rec('233') ) ) { |
51 |
# marc_leader('19','a'); |
# marc_leader('19','a'); |
66 |
), |
), |
67 |
); |
); |
68 |
} elsif ( rec('994','c') =~ m/\d{6}/ ) { |
} elsif ( rec('994','c') =~ m/\d{6}/ ) { |
69 |
marc_fixed('008', 00, |
marc_fixed('008','00', |
70 |
regex('s/^\d\d//', |
regex('s/^\d\d//', |
71 |
rec('994','c') |
rec('994','c') |
72 |
), |
), |
73 |
); |
); |
74 |
marc_fixed('008', '04', |
marc_fixed('008','04', |
75 |
'01' |
'01' |
76 |
); |
); |
77 |
} elsif ( rec('994','c') =~ m/\d{4}/ ) { |
} elsif ( rec('994','c') =~ m/\d{4}/ ) { |
80 |
rec('994','c') |
rec('994','c') |
81 |
), |
), |
82 |
); |
); |
83 |
marc_fixed('008', '02', |
marc_fixed('008','02', |
84 |
'0101' |
'0101' |
85 |
); |
); |
86 |
|
} else { |
87 |
|
marc_fixed('008','00', |
88 |
|
'010101' |
89 |
|
); |
90 |
} |
} |
91 |
|
|
92 |
#warn( dump( |
#warn( dump( |
98 |
|
|
99 |
## 008 06 - Type of date/Publication status |
## 008 06 - Type of date/Publication status |
100 |
|
|
101 |
## 008 07-10 - Date 1 - |
## 008 07-10 - Date 1 |
102 |
## srediti sve moguće oznake za godine (06) |
## 008 11-14 - Date 2 |
103 |
## 210d kroz modify postaje 210c |
## 210d kroz modify postaje 210c |
104 |
|
|
105 |
if ( rec('210','c') ) { |
if ( rec('210','c') ) { |
106 |
my $d1 = ''; |
my $d1 = ''; |
107 |
my $d2 = ''; |
my $d2 = ''; |
108 |
if ( rec('210','c') =~ m/(\?)/ ) { |
if ( rec('210','c') =~ m/(\d{4})-/ ) { |
109 |
marc_fixed('008','06','q'); |
marc_fixed('008','06','m'); |
|
if ( rec('210','c') =~ m/(\d{2})(--|__)/ ) { |
|
|
$d1 = $1.'uu'; |
|
|
} |
|
|
if ( rec('210','c') =~ m/(\d{3})(-|_)/ ) { |
|
|
$d1 = $1.'u'; |
|
|
} |
|
|
if ( rec('210','c') =~ m/(\d{4})/ ) { |
|
|
$d1 = $1; |
|
|
} |
|
|
} elsif ( rec('210','c') =~ m/(\d{4})-/ ) { |
|
|
if ( $sabrana ) { |
|
|
marc_fixed('008','06','i'); |
|
|
} else { |
|
|
marc_fixed('008','06','m'); |
|
|
} |
|
110 |
if ( rec('210','c') =~ m/(\d{4})-/ ) { |
if ( rec('210','c') =~ m/(\d{4})-/ ) { |
111 |
$d1 = $1; |
$d1 = $1; |
112 |
$d2 = '9999'; |
$d2 = '9999'; |
119 |
if ( rec('210','c') =~ m/(\d{4})/ ) { |
if ( rec('210','c') =~ m/(\d{4})/ ) { |
120 |
$d1 = $1; |
$d1 = $1; |
121 |
} |
} |
122 |
|
if ( rec('210','c') =~ m/(\d{2})(--|__)/ ) { |
123 |
|
$d1 = $1.'uu'; |
124 |
|
} |
125 |
|
if ( rec('210','c') =~ m/(\d{3})(-|_)/ ) { |
126 |
|
$d1 = $1.'u'; |
127 |
|
} |
128 |
} |
} |
129 |
|
|
130 |
|
# if ( rec('210','c') =~ m/(\?)/ ) { |
131 |
|
# marc_fixed('008','06','q'); |
132 |
|
# if ( rec('210','c') =~ m/(\d{2})(--|__)/ ) { |
133 |
|
# $d1 = $1.'uu'; |
134 |
|
# } |
135 |
|
# if ( rec('210','c') =~ m/(\d{3})(-|_)/ ) { |
136 |
|
# $d1 = $1.'u'; |
137 |
|
# } |
138 |
|
# if ( rec('210','c') =~ m/(\d{4})/ ) { |
139 |
|
# $d1 = $1; |
140 |
|
# } |
141 |
|
# } elsif ( rec('210','c') =~ m/(\d{4})-/ ) { |
142 |
|
# if ( $sabrana ) { |
143 |
|
# marc_fixed('008','06','i'); |
144 |
|
# } else { |
145 |
|
# marc_fixed('008','06','m'); |
146 |
|
# } |
147 |
|
# marc_fixed('008','06','m') |
148 |
|
# if ( rec('210','c') =~ m/(\d{4})-/ ) { |
149 |
|
# $d1 = $1; |
150 |
|
# $d2 = '9999'; |
151 |
|
# } |
152 |
|
# if ( rec('210','c') =~ m/-(\d{4})/ ) { |
153 |
|
# $d2 = $1; |
154 |
|
# } |
155 |
|
# } else { |
156 |
|
# marc_fixed('008','06','s'); |
157 |
|
# if ( rec('210','c') =~ m/(\d{4})/ ) { |
158 |
|
# $d1 = $1; |
159 |
|
# } |
160 |
|
# } |
161 |
|
|
162 |
marc_fixed('008','07',$d1); # 07-10 - Date 1 |
marc_fixed('008','07',$d1); # 07-10 - Date 1 |
163 |
marc_fixed('008','11',$d2); # 07-10 - Date 1 |
marc_fixed('008','11',$d2); # 07-10 - Date 1 |
168 |
} |
} |
169 |
|
|
170 |
|
|
|
## 008 11-14 - Date 2 |
|
171 |
|
|
172 |
## 008 15-17 - Place of publication, production, or execution - što ako nema 102? |
## 008 15-17 - Place of publication, production, or execution - ako nema 102, popunjava se s | |
173 |
## raspraviti |
marc_fixed('008','15','|||'); |
|
|
|
|
marc_fixed('008','15','xx'); |
|
174 |
|
|
175 |
#marc_fixed('008','15', |
#marc_fixed('008','15', |
176 |
# lc ( rec('102') ) |
# lc ( rec('102') ) |
195 |
lc( frec('101')) |
lc( frec('101')) |
196 |
); |
); |
197 |
|
|
198 |
## 008 38 - Modified record - razjasniti |
## 008 38 - Modified record |
199 |
marc_fixed('008','38','|'); |
marc_fixed('008','38','|'); |
200 |
|
|
201 |
## 008 39 - Cataloging source - d (other) |
## 008 39 - Cataloging source - d (other) |
211 |
marc_fixed('008','22','|'); |
marc_fixed('008','22','|'); |
212 |
|
|
213 |
## 008 23 - Form of item |
## 008 23 - Form of item |
214 |
|
marc_fixed('008','23','|'); |
215 |
|
|
216 |
## 008 24-27 - Nature of contents |
## 008 24-27 - Nature of contents |
217 |
marc_fixed('008','24','||||'); |
marc_fixed('008','24','||||'); |
236 |
marc_fixed('008','34','|'); |
marc_fixed('008','34','|'); |
237 |
|
|
238 |
### 020 |
### 020 |
239 |
## modify za polje 10 -> drugi ISBN počinje prefixom "ISBN" koji se miče (pr. u sfb) |
## postoji modify za polje 10 -> drugi ISBN počinje prefixom "ISBN" koji se miče (pr. u sfb) |
240 |
|
#if ( frec('10') ne ( frec('290') ) ) { |
|
if ( frec('10') ne ( frec('290') ) ) { |
|
241 |
if ( rec('10','a') !~ /pogre/ ) { |
if ( rec('10','a') !~ /pogre/ ) { |
242 |
marc('020','a', |
marc('020','a', |
243 |
# isbn_13( |
# isbn_13( |
258 |
marc('020','z', |
marc('020','z', |
259 |
rec('10','z') |
rec('10','z') |
260 |
); |
); |
261 |
} |
#} |
262 |
|
|
263 |
#warn( |
#warn( |
264 |
# dump( |
# dump( |
268 |
|
|
269 |
### 035$ |
### 035$ |
270 |
## marc 035a - System Number |
## marc 035a - System Number |
271 |
## polje može sadržavati slova i razmake, problem u pretraživanju ako ima zagrade, kako bi trebalo po standardu |
## polje može sadržavati slova i razmake |
272 |
|
## moguć problem u pretraživanju ako ima zagrade, kako bi trebalo po standardu |
273 |
|
|
274 |
marc('035','a', |
marc('035','a', |
275 |
join_with('', |
join_with('', |
277 |
# config('name'), |
# config('name'), |
278 |
'HR-ZaFF ', |
'HR-ZaFF ', |
279 |
config(), |
config(), |
280 |
'L-', |
'L', |
281 |
# config('input name'), |
# config('input name'), |
282 |
# id(), |
# id(), |
283 |
# rec('994','a'), |
# rec('994','a'), |
310 |
## (ako postoje zagrade pr. 94(=411.16) onda su to pomoćne oznake) |
## (ako postoje zagrade pr. 94(=411.16) onda su to pomoćne oznake) |
311 |
## pr. 821.111-2=163.42 je prijevod engleske drame na HR. |
## pr. 821.111-2=163.42 je prijevod engleske drame na HR. |
312 |
## to ima samo za književna djela, eseje.... |
## to ima samo za književna djela, eseje.... |
313 |
|
## ovo treba kasnije ispravljati |
314 |
|
|
315 |
#if ( rec('675') =~ m/\d=\d/ ) ? |
#if ( rec('675') =~ m/\d=\d/ ) ? |
316 |
|
|
335 |
); |
); |
336 |
} |
} |
337 |
|
|
338 |
### 041 |
### 041 |
339 |
## ponovljivo polje (101) konvertira se u ponovljivo potpolje (041a) |
## ponovljivo polje (101) konvertira se u ponovljivo potpolje (041a) |
340 |
## polje se koristi kad ima više od jednog jezika, ili kad se radi o prijevodu |
## koristi se kad ima više od jednog jezika, ili kad se radi o prijevodu |
341 |
#_debug(2); |
## nadopuniti |
|
|
|
|
#_debug(0); |
|
342 |
|
|
343 |
### 044 |
### 044 |
344 |
## kako dobiti zemlju izdavanja? |
## koristi se kad ima više zemalja izdavanja |
345 |
|
|
346 |
### 080 |
### 080 |
347 |
## 675 podpolja b, c, d ... - što s njima? - provjeriti za svaku bazu |
## 675 podpolja b, c, d ... - što s njima? - provjeriti za svaku bazu |
348 |
## fi: abcd |
## fi: abcd |
349 |
|
## sk: ima \r\n na kraju |
350 |
|
|
351 |
marc('080','a', |
marc('080','a', |
352 |
rec('675','a') |
rec('675','a') |
370 |
## NSK konvertira polje 686 u 084, u skladu s LOC konv. tablicom |
## NSK konvertira polje 686 u 084, u skladu s LOC konv. tablicom |
371 |
## polje 686 koristi FFPS. još netko? |
## polje 686 koristi FFPS. još netko? |
372 |
|
|
373 |
|
marc('084','2', |
374 |
|
'APA CC' |
375 |
|
); |
376 |
marc('084','a', |
marc('084','a', |
377 |
rec('686') |
rec('686') |
378 |
); |
); |
396 |
### formalna odrednica - iz 503 u 110, i1=0, i2=1 |
### formalna odrednica - iz 503 u 110, i1=0, i2=1 |
397 |
|
|
398 |
### 111 i 110 |
### 111 i 110 |
399 |
## konverzija u 110 ili 111 ovisno o postojanju/nepostojanju nekih polja - provjeriti ispise naslova iz svake baze - moguće su greške. |
## provjeriti za svaku bazu |
400 |
|
## konverzija u 110 ili 111 ovisno o postojanju/nepostojanju nekih polja - provjeriti ispise naslova iz svake zbirke - moguće su greške. |
401 |
## popraviti interpunkciju |
## popraviti interpunkciju |
402 |
|
|
403 |
# ovo vrijedi za FFSFB |
# ovo vrijedi za FFSFB |
451 |
## i2 = pretpostavlja se na temelju člana na početku naslova i jezika |
## i2 = pretpostavlja se na temelju člana na početku naslova i jezika |
452 |
## treba provjeriti |
## treba provjeriti |
453 |
|
|
454 |
my $i1; |
my $titleind1; |
455 |
|
|
456 |
if ( rec('700') || rec('710') ) { |
if ( rec('700') || rec('710') ) { |
457 |
$i1 = 1; |
$titleind1 = 1; |
458 |
} else { |
} else { |
459 |
$i1 = 0; |
$titleind1 = 0; |
460 |
} |
} |
461 |
|
|
462 |
marc_indicators('245', $i1, 0); |
marc_indicators('245', $titleind1, 0); |
463 |
|
|
464 |
if ( rec('200','a') =~ m/^Einen / ) { |
if ( rec('200','a') =~ m/^Einen / ) { |
465 |
marc_indicators('245', $i1, 6); |
marc_indicators('245', $titleind1, 6); |
466 |
} |
} |
467 |
if ( rec('200','a') =~ m/^Eine / ) { |
if ( rec('200','a') =~ m/^Eine / ) { |
468 |
marc_indicators('245', $i1, 5); |
marc_indicators('245', $titleind1, 5); |
469 |
} |
} |
470 |
if ( rec('200','a') =~ m/^(Die|Das|Der|Ein|Les|Los|The) / ) { |
if ( rec('200','a') =~ m/^(Die|Das|Der|Ein|Les|Los|The) / ) { |
471 |
marc_indicators('245', $i1, 4); |
marc_indicators('245', $titleind1, 4); |
472 |
} |
} |
473 |
if ( rec('200','a') =~ m/^(Um|Un|An|La|Le|Lo|Il) / ) { |
if ( rec('200','a') =~ m/^(Um|Un|An|La|Le|Lo|Il) / ) { |
474 |
marc_indicators('245', $i1, 3); |
marc_indicators('245', $titleind1, 3); |
475 |
} |
} |
476 |
if ( ( rec('101') =~ m/ENG/ ) && ( rec('200','a') =~ m/^A / ) ) { |
if ( ( rec('101') =~ m/ENG/ ) && ( rec('200','a') =~ m/^A / ) ) { |
477 |
marc_indicators('245', $i1, 2); |
marc_indicators('245', $titleind1, 2); |
478 |
} |
} |
479 |
if ( rec('200','a') =~ m/^L / ) { |
if ( rec('200','a') =~ m/^L / ) { |
480 |
marc_indicators('245', $i1, 2); |
marc_indicators('245', $titleind1, 2); |
481 |
} |
} |
482 |
if ( rec('200','a') =~ m/^L'/ ) { |
if ( rec('200','a') =~ m/^L'/ ) { |
483 |
marc_indicators('245', $i1, 2); |
marc_indicators('245', $titleind1, 2); |
484 |
} |
} |
485 |
|
|
486 |
|
|
541 |
#_debug(0); |
#_debug(0); |
542 |
|
|
543 |
### 246 |
### 246 |
544 |
## i1=1 ukoliko pravilo nalaze napomenu, ali napomenu necemo pisati ponovo u 500 |
## i1=1 ukoliko pravilo nalaže napomenu, ali napomenu necemo pisati ponovo u 500 |
545 |
## i1=3 ako pravlo na nalze napomenu |
## i1=3 ako pravlo na nalaže napomenu |
546 |
## vidi na wiki |
## vidi na wiki |
547 |
## i2 - pogledati za svaku bazu sto su ti naslovi, pa onda oderditi indikatoda oderditi indikatoree |
## i2 - pogledati za svaku bazu sto su ti naslovi, pa onda oderditi indikatoda oderditi indikatoree |
|
|
|
548 |
marc_indicators('246', 3, ' '); |
marc_indicators('246', 3, ' '); |
549 |
marc('246','a', |
marc('246','a', |
550 |
rec('532') |
rec('532') |
551 |
); |
); |
552 |
|
|
553 |
### 250 |
### 250 |
554 |
## zapisima koji nemaju potpolje, dodaje se ^a u modify - provjeriti |
## zapisima koji nemaju potpolje, dodaje se ^a u modify - provjeriti za svaku bazu |
|
|
|
555 |
marc_compose('250', |
marc_compose('250', |
556 |
'a',suffix( |
'a',suffix( |
557 |
rec('205','f') ? ' / ' : |
rec('205','f') ? ' / ' : |
563 |
|
|
564 |
### 260 |
### 260 |
565 |
## ponovljiva potpolja u originalnom redosljedu - priprema u modify |
## ponovljiva potpolja u originalnom redosljedu - priprema u modify |
566 |
|
marc_original_order('260', '210'); |
|
marc_original_order('260', '210'); |
|
567 |
|
|
568 |
|
|
569 |
### 300 |
### 300 |
570 |
## urediti interpunkcije za sve kombinacije |
## urediti interpunkcije za sve kombinacije |
|
|
|
571 |
marc('300','a', |
marc('300','a', |
572 |
suffix( |
suffix( |
573 |
rec('215','c') ? ' : ' : |
rec('215','c') ? ' : ' : |
597 |
); |
); |
598 |
|
|
599 |
### 362 - brojčani podaci za nakladničku cjelinu - to mi nemamo, polje se koristi samo za časopise |
### 362 - brojčani podaci za nakladničku cjelinu - to mi nemamo, polje se koristi samo za časopise |
600 |
|
## i1 = 0 - formalizirani oblik navoda |
601 |
|
## i1 = 1 - neformalizirani |
602 |
|
## i2 nema |
603 |
|
|
604 |
# if ( ! rec('225','z') ) { |
# if ( ! rec('225','z') ) { |
605 |
|
|
899 |
} |
} |
900 |
|
|
901 |
### 526 - STUDY PROGRAM INFORMATION NOTE |
### 526 - STUDY PROGRAM INFORMATION NOTE |
902 |
## provjeriti za svaku bazu sta je u 996? |
## u nekim bazame je to u 996 - provjeriti za svaku bazu sta je u 996? |
|
|
|
903 |
marc_indicators('526', 8, ' '); |
marc_indicators('526', 8, ' '); |
|
|
|
904 |
marc('526','a', |
marc('526','a', |
905 |
rec('996') |
rec('996') |
906 |
); |
); |
907 |
|
|
908 |
### 538 - zahtjevi sustava |
### 538 - zahtjevi sustava |
|
|
|
909 |
marc('538','a', |
marc('538','a', |
910 |
rec('337','a') |
rec('337','a') |
911 |
); |
); |
912 |
|
|
913 |
### 655 |
### 653 - Index Term-Uncontrolled |
|
|
|
|
marc_indicators('655', ' ', 4); |
|
|
marc('655','a', |
|
|
rec('608') |
|
|
); |
|
|
|
|
|
### 653 |
|
914 |
## da li ponovljivo polje ili potpolje, pogledati u Koha tags |
## da li ponovljivo polje ili potpolje, pogledati u Koha tags |
|
|
|
915 |
marc_indicators('653', ' ', ' '); |
marc_indicators('653', ' ', ' '); |
916 |
marc('653','a', |
marc('653','a', |
917 |
rec('610') |
rec('610') |
918 |
); |
); |
919 |
|
|
920 |
|
### 655 - Index Term-Genre/Form |
921 |
|
marc_indicators('655', ' ', 4); |
922 |
|
marc('655','a', |
923 |
|
rec('608') |
924 |
|
); |
925 |
|
|
926 |
#_debug(2); |
#_debug(2); |
927 |
|
|
928 |
|
|
929 |
### 700 |
### 700 |
930 |
## ako je u originalu ponovljivo polje treba bioti i konvertirano u ponovljivo !! |
## ako je u originalu ponovljivo polje treba bioti i konvertirano u ponovljivo !! |
931 |
## ako ima samo podpolje a onda je pseudonim - popraviti indikator |
## ako ima samo podpolje a onda je pseudonim - nakon konverzije treba provjeriti |
932 |
|
if ( rec('701','a') =~ m/, / ) { |
933 |
marc_indicators('700', 1, ' '); |
marc_indicators('700', 1, ' '); |
934 |
|
} else { |
935 |
|
marc_indicators('700', 0, ' '); |
936 |
|
} |
937 |
|
|
938 |
marc('700','a', |
marc('700','a', |
939 |
rec('701', 'a'), |
rec('701', 'a'), |
940 |
); |
); |
941 |
|
|
942 |
marc('700','a', |
marc('700','a', |
943 |
join_with(', ', |
join_with(', ', |
944 |
rec('701', 'c'), |
rec('701', 'c'), |
945 |
rec('701', 'd') |
rec('701', 'd') |
946 |
) |
), |
947 |
); |
); |
948 |
marc('700','a', |
marc('700','a', |
949 |
join_with(', ', |
join_with(', ', |
950 |
rec('701', 'e'), |
rec('701', 'e'), |
951 |
rec('701', 'f') |
rec('701', 'f') |
952 |
) |
), |
953 |
); |
); |
954 |
marc('700','a', |
marc('700','a', |
955 |
join_with(', ', |
join_with(', ', |
956 |
rec('701', 'g'), |
rec('701', 'g'), |
957 |
rec('701', 'h') |
rec('701', 'h') |
958 |
) |
), |
959 |
); |
); |
960 |
marc('700','a', |
marc('700','a', |
961 |
rec('702', 'a'), |
rec('702','a'), |
962 |
); |
); |
963 |
marc('700','a', |
marc('700','a', |
964 |
join_with(', ', |
join_with(', ', |
981 |
|
|
982 |
#_debug(0); |
#_debug(0); |
983 |
|
|
984 |
|
## eventualno nadopuniti 710 i 711 - provjetiti da li u podacima postoji u ISIS-u |
985 |
|
|
|
### 740 - sta s tim? |
|
986 |
|
|
987 |
marc_indicators('740', 0, ' '); |
### 740 - Added Entry - Uncontrolled Related/Analytical Title |
988 |
|
## raspraviti |
989 |
|
## nadopuniti prvi indikator prema članovima |
990 |
|
marc_indicators('740', '0', ' '); |
991 |
|
|
992 |
# if ( ! rec('464') ) { |
# if ( ! rec('464') ) { |
993 |
# marc('740','a', |
# marc('740','a', |
1006 |
|
|
1007 |
# }; |
# }; |
1008 |
|
|
1009 |
# ------------------------------------------------------------------- |
### 760 w --------------------------------------------- |
|
### 760 w |
|
1010 |
## generiranje zapisa o nakladničkoj cjelini i povezivanje podređenog zapisa s nadređenim |
## generiranje zapisa o nakladničkoj cjelini i povezivanje podređenog zapisa s nadređenim |
1011 |
|
|
1012 |
#if ( |
#if ( |
1140 |
# rec('293'), |
# rec('293'), |
1141 |
# ) |
# ) |
1142 |
#); |
#); |
1143 |
# |
|
1144 |
|
|
1145 |
### 852 - ne koristimo, koristimo 942 i 952 |
### 852 - ne koristimo, koristimo 942 i 952 |
1146 |
|
|
1147 |
### 876 - item information - basic bibliographic unit |
### 876 - item information - basic bibliographic unit (R) |
1148 |
|
## da li ovdje zapisati stare inventarne brojeve? |
1149 |
#marc('876','a', |
#marc('876','a', |
1150 |
# rec('991','t'), |
# rec('991','t'), |
1151 |
#); |
#); |
1152 |
|
|
1153 |
### 886 - former marc |
### 886 - former marc |
1154 |
# inicijale treba prebaciti u neko lokalno polje, a ovo polje nam ne treba |
# inicijale treba prebaciti u neko lokalno polje, a ovo polje nam ne treba |
1155 |
|
# |
1156 |
marc_indicators('886', 2, ' '); |
# marc_indicators('886', 2, ' '); |
1157 |
marc('886','2', |
# marc('886','2', |
1158 |
'ffmarc' |
# 'ffmarc' |
1159 |
); |
# ); |
1160 |
marc('886','a', |
# marc('886','a', |
1161 |
'994' |
# '994' |
1162 |
); |
# ); |
1163 |
marc('886','b', |
# marc('886','b', |
1164 |
join_with(''. |
# join_with(''. |
1165 |
'##^a', |
# '##^a', |
1166 |
join_with('', |
# join_with('', |
1167 |
prefix('^a', |
# prefix('^a', |
1168 |
rec('994','a'), |
# rec('994','a'), |
1169 |
), |
# ), |
1170 |
prefix('^b', |
# prefix('^b', |
1171 |
rec('994','b') |
# rec('994','b') |
1172 |
) |
# ) |
1173 |
) |
# ) |
1174 |
) |
# ) |
1175 |
); |
#); |
1176 |
|
|
1177 |
### KOHA items |
### KOHA items |
1178 |
|
|
1180 |
'LIB' |
'LIB' |
1181 |
); |
); |
1182 |
|
|
|
|
|
1183 |
if ( grep( m/Posebni otisak/, rec('300') ) ) { |
if ( grep( m/Posebni otisak/, rec('300') ) ) { |
1184 |
marc('942','c', |
marc('942','c', |
1185 |
'SEP' |
'SEP' |
1190 |
); |
); |
1191 |
} |
} |
1192 |
|
|
1193 |
|
## 990 u sk ima \r\n na kraju |
1194 |
|
|
1195 |
marc('942','d', |
marc('942','d', |
1196 |
join_with(' | ', |
join_with(' | ', |
1197 |
rec('990') |
rec('990') |
1198 |
) |
) |
1199 |
); |
); |
1200 |
|
|
1201 |
if ( config() =~ m/ffan/ ) { |
my $novasig1 = |
1202 |
my $novasig1 = |
lookup( |
1203 |
lookup( |
sub { rec('C') }, |
1204 |
sub { rec('C') }, |
'ffiz','mapirano', |
1205 |
'ffan','mapirano', |
sub { rec('B') }, |
1206 |
sub { rec('B') }, |
sub { rec('990') } |
|
sub { rec('990') } |
|
|
); |
|
|
my $novasig2 = |
|
|
lookup( |
|
|
sub { rec('C') . ' ' . rec('D') }, |
|
|
'ffan','starasig', |
|
|
sub { rec('A') }, |
|
|
sub { rec('000') }, |
|
|
); |
|
|
marc('942','h', |
|
|
$novasig1 |
|
1207 |
); |
); |
1208 |
marc('942','i', |
my $novasig2 = |
1209 |
$novasig2 |
lookup( |
1210 |
|
sub { rec('C') . ' ' . rec('D') }, |
1211 |
|
'ffiz','starasig', |
1212 |
|
sub { rec('A') }, |
1213 |
|
sub { rec('000') }, |
1214 |
); |
); |
|
} |
|
1215 |
|
|
1216 |
|
marc('942','h', |
1217 |
|
$novasig1 |
1218 |
|
); |
1219 |
|
|
1220 |
|
marc('942','i', |
1221 |
|
$novasig2 |
1222 |
|
); |
1223 |
|
|
1224 |
if ( config() =~ m/ffsf|ffpo|fffi/ ) { |
if ( config() =~ m/ffar/ ) { |
1225 |
my $sig1 = |
my $novasig1 = |
1226 |
lookup( |
lookup( |
1227 |
sub { rec('C') }, |
sub { rec('E') }, |
1228 |
'fffi','signature', |
'ffar','mapirano', |
1229 |
sub { rec('B') }, |
sub { rec('A') }, |
1230 |
sub { frec('990') }, |
sub { rec('000') } |
1231 |
); |
); |
1232 |
if ( rec('700','a') ) { |
if ( $novasig1 ) { |
1233 |
marc('942','h', |
marc('942','h', |
1234 |
$sig1, |
$novasig1 |
1235 |
); |
); |
1236 |
|
} else { |
1237 |
|
marc('942','h', |
1238 |
|
'ARH' |
1239 |
|
); |
1240 |
|
} |
1241 |
|
|
1242 |
|
|
1243 |
|
} |
1244 |
|
|
1245 |
|
if ( config() =~ m/ffsf|ffpo|fffi|ffar|ffsk/ ) { |
1246 |
|
# my $sig1 = |
1247 |
|
# lookup( |
1248 |
|
# sub { rec('C') }, |
1249 |
|
# 'fffi','signature', |
1250 |
|
# sub { rec('B') }, |
1251 |
|
# sub { frec('990') }, |
1252 |
|
# ); |
1253 |
|
if ( rec('700','a') ) { |
1254 |
|
# marc('942','h', |
1255 |
|
# $sig1, |
1256 |
|
# ); |
1257 |
if ( rec('200','a') =~ m/^(The|Die|Das|Der|Ein|Les) / ) { |
if ( rec('200','a') =~ m/^(The|Die|Das|Der|Ein|Les) / ) { |
1258 |
marc('942','i', |
marc('942','i', |
1259 |
join_with(' ', |
join_with(' ', |
1322 |
); |
); |
1323 |
} |
} |
1324 |
} elsif ( rec('710','a') ) { |
} elsif ( rec('710','a') ) { |
1325 |
marc('942','h', |
# marc('942','h', |
1326 |
$sig1, |
# $sig1, |
1327 |
); |
# ); |
1328 |
if ( rec('200','a') =~ m/^(The|Die|Das|Der|Ein|Les) / ) { |
if ( rec('200','a') =~ m/^(The|Die|Das|Der|Ein|Les) / ) { |
1329 |
marc('942','i', |
marc('942','i', |
1330 |
join_with(' ', |
join_with(' ', |
1393 |
); |
); |
1394 |
} |
} |
1395 |
} elsif ( rec('200','a') =~ m/^(The|Die|Das|Der|Ein|Les) / ) { |
} elsif ( rec('200','a') =~ m/^(The|Die|Das|Der|Ein|Les) / ) { |
1396 |
marc('942','h', |
# marc('942','h', |
1397 |
$sig1, |
# $sig1, |
1398 |
); |
# ); |
1399 |
marc('942','i', |
marc('942','i', |
1400 |
regex('s/^.{4}(.{3}).*/$1/', |
regex('s/^.{4}(.{3}).*/$1/', |
1401 |
uc ( rec('200','a') ) |
uc ( rec('200','a') ) |
1403 |
); |
); |
1404 |
|
|
1405 |
} else { |
} else { |
1406 |
marc('942','h', |
# marc('942','h', |
1407 |
$sig1, |
# $sig1, |
1408 |
); |
# ); |
1409 |
marc('942','i', |
marc('942','i', |
1410 |
regex('s/(^\w{3}).*/$1/', |
regex('s/(^\w{3}).*/$1/', |
1411 |
uc ( rec('200','a') ) |
uc ( rec('200','a') ) |
1412 |
) |
) |
1413 |
) |
) |
1414 |
} |
} |
1415 |
} # if config() |
} # if config() za oznaku primjerka |
1416 |
|
|
1417 |
if ( ( rec('230') || rec('231') || rec('232') || rec('233') ) ) { |
if ( ( rec('230') || rec('231') || rec('232') || rec('233') ) ) { |
1418 |
warn "nema primjeraka"; |
warn "skupni zapis - nema primjeraka"; |
1419 |
} else { |
} else { |
1420 |
marc('952','8', |
marc('952','8', |
1421 |
rec('991','8') |
rec('991','8') |
1436 |
rec('991','y') |
rec('991','y') |
1437 |
); |
); |
1438 |
} |
} |
1439 |
|
|
1440 |
|
### LOKALNA POLJA |
1441 |
|
## 1. da li je zapis pregledan ili nije i datum kad je pregledan |
1442 |
|
## provjeriti za svaku bazu koje polje koristi |
1443 |
|
## SFM: 999^aP |
1444 |
|
## AN: 999 Pregledan |
1445 |
|
## raspraviti |
1446 |
|
|
1447 |
|
|
1448 |
|
|
1449 |
} # polje 200a |
} # polje 200a |
1450 |
# } sig |
# } sig |