1 |
if ( rec('200','a') ) { |
if ( rec('200','a') ) { |
2 |
|
|
|
# Leader |
|
|
# raspraviti 17,18 |
|
|
|
|
|
# u nekim knjižnicama koristi se 999a i 999b |
|
3 |
|
|
4 |
|
# LEADER |
5 |
|
# raspraviti 17,18 |
6 |
|
|
7 |
# vrijedi za ffan... |
marc_leader('05','n'); |
8 |
|
marc_leader('06','a'); |
9 |
|
|
10 |
if ( rec('999') && first(rec('999')) =~ m/pregledan/i) { |
if ( rec('225','a') ) { |
11 |
marc_leader('05','c'); |
marc_leader('07','b'); |
12 |
} else { |
} else { |
13 |
marc_leader('05','n'); |
marc_leader('07','s'); |
14 |
} |
} |
15 |
|
|
16 |
marc_leader('06','a'); |
marc_leader('18','i'); |
|
marc_leader('07','s'); |
|
|
marc_leader('18','i'); |
|
17 |
|
|
18 |
|
if ( rec('225','a') ) { |
19 |
marc_leader('19','r'); |
marc_leader('19','r'); |
20 |
|
} |
21 |
|
|
22 |
# 001 polje - Voyager |
# 001 polje - Voyager |
23 |
|
|
24 |
|
# 007 |
25 |
|
marc_fixed('007',00,'ta'); |
26 |
|
|
27 |
|
|
28 |
|
## 008 |
29 |
|
marc_fixed('008','00', '070707'); |
30 |
|
marc_fixed('008','06', '|'); # Type of date/Publication status |
31 |
|
marc_fixed('008','07', '|'); # Date 1 |
32 |
|
marc_fixed('008','08', '|'); |
33 |
|
marc_fixed('008','09', '|'); |
34 |
|
marc_fixed('008','10', '|'); |
35 |
|
marc_fixed('008','11', '|'); # Date 2 |
36 |
|
marc_fixed('008','12', '|'); |
37 |
|
marc_fixed('008','13', '|'); |
38 |
|
marc_fixed('008','14', '|'); |
39 |
|
marc_fixed('008','15', # Place of publication, production, or execution |
40 |
|
lookup( |
41 |
|
sub { rec('102','a') }, |
42 |
|
'nsk','bbaza', |
43 |
|
sub { rec('011','a') }, |
44 |
|
sub { rec('11') }, |
45 |
|
), |
46 |
|
); |
47 |
|
marc_fixed('008','18', ''); |
48 |
|
marc_fixed('008','35', # Language |
49 |
|
rec('101') |
50 |
|
); |
51 |
|
marc_fixed('008','39','|'); # Cataloging source |
52 |
|
|
53 |
|
## 022 |
54 |
|
|
55 |
|
if ( ! rec('225','a') ) { |
56 |
|
marc('022','a', |
57 |
|
rec('11') |
58 |
|
); |
59 |
|
} |
60 |
|
|
61 |
# privemeno koristimo 0356 umjesto 0359, zato što marclint 9 prijavljuje kao grešku |
# privemeno koristimo 0356 umjesto 0359, zato što marclint 9 prijavljuje kao grešku |
62 |
|
|
63 |
marc('035','6', |
marc('035','6', |
64 |
join_with('', |
join_with('', |
65 |
# config('input normalize path'), |
uc( config() ), |
66 |
# config('name'), |
' P', |
|
config(), |
|
|
'L', |
|
|
# config('input name'), |
|
|
# id(), |
|
|
# rec('994','a'), |
|
67 |
rec('000') |
rec('000') |
68 |
) |
) |
69 |
); |
); |
73 |
|
|
74 |
# u FFSF bazama postoji nekoliko zaredanih ISBN, odvojenih s '. - ' |
# u FFSF bazama postoji nekoliko zaredanih ISBN, odvojenih s '. - ' |
75 |
|
|
|
marc('020','a', |
|
|
rec('10') |
|
|
); |
|
|
|
|
|
marc('022','a', |
|
|
rec('11') |
|
|
); |
|
76 |
|
|
77 |
# u polje 040a možda još dodati prefiks HR |
# u polje 040a možda još dodati prefiks HR |
78 |
# NSK ima HR NSB (možda u novijim zapisima ima NSK?) |
# NSK ima HR NSB (možda u novijim zapisima ima NSK?) |
112 |
|
|
113 |
#_debug(3); |
#_debug(3); |
114 |
|
|
115 |
|
marc('044','a', |
116 |
|
lookup( |
117 |
|
sub { rec('102','a') }, |
118 |
|
'nsk','bbaza', |
119 |
|
sub { rec('011','a') }, |
120 |
|
sub { rec('11') }, |
121 |
|
), |
122 |
|
); |
123 |
|
|
124 |
|
marc('080','a', |
125 |
|
rec('675','a') |
126 |
|
); |
127 |
|
|
128 |
|
marc_indicators('100', 1, ' '); |
129 |
|
marc('100','a', |
130 |
|
join_with(', ', |
131 |
|
rec('700', 'a'), |
132 |
|
rec('700', 'b') |
133 |
|
) |
134 |
|
); |
135 |
|
|
136 |
|
marc_indicators('110', 2, ' '); |
137 |
|
marc('110','a', |
138 |
|
rec('710','a') |
139 |
|
); |
140 |
|
|
141 |
|
marc('110','c', |
142 |
|
rec('710','c') |
143 |
|
); |
144 |
|
|
145 |
|
marc('222','a', |
146 |
|
lookup( |
147 |
|
sub { rec('530','a') }, |
148 |
|
'nsk','bbaza', |
149 |
|
sub { rec('011','a') }, |
150 |
|
sub { rec('11') }, |
151 |
|
) |
152 |
|
); |
153 |
|
|
154 |
|
### 245 indikatori |
155 |
|
|
156 |
marc_compose('245', |
marc_compose('245', |
157 |
'a', suffix( |
'a', suffix( |
158 |
rec('200','b') ? '. ' : |
( ! ( rec('200','d') || rec('200','e') || rec('200','k') ) ) && ( rec('200','f') ) ? ' / ' : |
159 |
rec('200','k') ? ' ; ' : |
( rec('200','d') ) ? ' = ' : |
160 |
rec('200','d') ? ' = ' : |
( rec('200','e') ) ? ' : ' : |
161 |
rec('200','e') ? ' : ' : |
( rec('200','k') ) ? ' ; ' : |
162 |
rec('200','f') ? ' / ' : |
'', |
163 |
'.', |
rec('200','a'), |
|
rec('200','a') |
|
164 |
), |
), |
|
'h', rec('200','b'), |
|
165 |
'b', suffix( |
'b', suffix( |
166 |
( rec('200','k') && rec('200','f') ) ? ' / ' : |
( rec('200','d') && rec('200','f') ) ? ' / ' : |
167 |
' ', |
( rec('200','d') && rec('200','c') ) ? '. ' : |
168 |
join_with(' ; ', |
'', |
169 |
rec('200','k'), |
rec('200','d'), |
|
), |
|
170 |
), |
), |
171 |
'b', suffix( |
'b', suffix( |
172 |
( rec('200','d') && rec('200','f') ) ? ' / ' : |
( rec('200','e') && rec('200','f') ) ? ' / ' : |
173 |
' ', |
( rec('200','e') && rec('200','c') ) ? '. ' : |
174 |
rec('200','d'), |
'', |
175 |
|
rec('200','e'), |
176 |
), |
), |
177 |
'b', suffix( |
'b', suffix( |
178 |
( rec('200','e') && rec('200','f') ) ? ' / ' : |
( rec('200','k') && rec('200','f') ) ? ' / ' : |
179 |
' ', |
( rec('200','k') && rec('200','c') ) ? '. ' : |
180 |
join_with(' : ', |
'', |
181 |
rec('200','e'), |
rec('200','k'), |
|
), |
|
182 |
), |
), |
183 |
|
'c', suffix( |
184 |
# ovo trenutno radi za slučaj kad f nije ponovljivo i kad uvijek postoje c i f u paru !!! |
( rec('200','f') && rec('200','c') ) ? '. ' : |
185 |
'c', join_with('. ', |
'', |
186 |
rec('200','f'), |
rec('200','f'), |
|
rec('200','c'), |
|
187 |
), |
), |
188 |
# FIXME append to last subfield |
'+', rec('200','c'), |
|
# '+', prefix('. ', rec('200','c') ), |
|
|
|
|
189 |
); |
); |
190 |
|
|
191 |
|
## 246 |
192 |
|
|
193 |
|
marc_indicators('246', 1, 3); |
194 |
|
|
195 |
|
marc('246','a', |
196 |
|
rec('532') |
197 |
|
); |
198 |
|
|
199 |
#_debug(0); |
#_debug(0); |
200 |
|
|
249 |
rec('215','e') |
rec('215','e') |
250 |
); |
); |
251 |
|
|
252 |
|
marc('310','a', |
253 |
# provjeriti |
lookup( |
254 |
|
sub { rec('326','a') }, |
255 |
marc_indicators('490', 0, ' '); |
'nsk','bbaza', |
256 |
|
sub { rec('011','a') }, |
257 |
marc('490','a', |
sub { rec('11') }, |
258 |
rec('225','a') |
) |
259 |
|
); |
260 |
|
|
261 |
|
marc('321','a', |
262 |
|
rec('326') |
263 |
); |
); |
264 |
|
|
265 |
marc('490','v', |
marc_indicators('362', 0, ' '); |
266 |
join_with(', ', |
|
267 |
rec('225','v'), |
marc('362','a', |
268 |
rec('225','w') |
lookup( |
269 |
|
sub { rec('207','a') }, |
270 |
|
'nsk','bbaza', |
271 |
|
sub { rec('011','a') }, |
272 |
|
sub { rec('11') }, |
273 |
), |
), |
274 |
); |
); |
275 |
|
|
|
marc('490','x', |
|
|
rec('225','x') |
|
|
); |
|
276 |
|
|
277 |
#marc('490','a', |
marc('500','a', |
278 |
# join_with(' : ', |
lookup( |
279 |
# rec('225','a'), |
sub { rec('300','a') }, |
280 |
# join_with(" = ", |
'nsk','bbaza', |
281 |
# rec('225','d'), |
sub { rec('011','a') }, |
282 |
# join_with(" / ", |
sub { rec('11') }, |
283 |
# rec('225','e'), |
) |
284 |
# rec('225','f') |
); |
285 |
# ) |
|
286 |
# ) |
marc('500','a', |
287 |
# ) |
lookup( |
288 |
#); |
sub { rec('302','a') }, |
289 |
|
'nsk','bbaza', |
290 |
|
sub { rec('011','a') }, |
291 |
|
sub { rec('11') }, |
292 |
|
) |
293 |
|
); |
294 |
|
|
295 |
|
marc('504','a', |
296 |
|
lookup( |
297 |
|
sub { rec('320','a') }, |
298 |
|
'nsk','bbaza', |
299 |
|
sub { rec('011','a') }, |
300 |
|
sub { rec('11') }, |
301 |
|
) |
302 |
|
); |
303 |
|
|
304 |
#marc('490','v', |
marc('562','a', |
305 |
# join2_with(225, 'v', ' , ', 225,'w'); |
lookup( |
306 |
# join_with(', ', |
sub { rec('316','a') }, |
307 |
# rec('225','v'), |
'nsk','bbaza', |
308 |
# rec('225','w') |
sub { rec('011','a') }, |
309 |
# ) |
sub { rec('11') }, |
310 |
#); |
) |
311 |
|
); |
312 |
|
|
313 |
|
|
314 |
#marc('500','a', |
#marc('500','a', |
315 |
# rec('300') |
# rec('300') |
362 |
|
|
363 |
# možda i polje 520y - jezik napomene ako je uvijek isti jezik |
# možda i polje 520y - jezik napomene ako je uvijek isti jezik |
364 |
|
|
365 |
marc_indicators('246', 1, 3); |
|
366 |
marc('246','a', |
### 534 |
367 |
rec('532') |
|
368 |
|
marc('534','a', |
369 |
|
rec('324') |
370 |
); |
); |
371 |
|
|
372 |
|
|
373 |
marc_indicators('655', ' ', 4); |
marc_indicators('655', ' ', 4); |
374 |
marc('655','a', |
marc('655','a', |
375 |
rec('608') |
rec('608') |
382 |
|
|
383 |
# 675 podpolja c, d ... - što s njima ??? |
# 675 podpolja c, d ... - što s njima ??? |
384 |
|
|
|
marc('080','a', |
|
|
rec('675','a') |
|
|
); |
|
|
|
|
385 |
# 084 je other classification (R) |
# 084 je other classification (R) |
386 |
# NSK ga koristi za stručnu oznaku NSK iz polja 681 |
# NSK ga koristi za stručnu oznaku NSK iz polja 681 |
387 |
# NSK definira i prelazak polja 686 u 084, u skladu s LOC konv. tablicom |
# NSK definira i prelazak polja 686 u 084, u skladu s LOC konv. tablicom |
388 |
# |
# |
|
# polje 686 koristi FFPS |
|
389 |
|
|
|
marc('084','a', |
|
|
rec('686') |
|
|
); |
|
390 |
|
|
|
marc_indicators('100', 1, ' '); |
|
|
marc('100','a', |
|
|
join_with(', ', |
|
|
rec('700', 'a'), |
|
|
rec('700', 'b') |
|
|
) |
|
|
); |
|
391 |
|
|
392 |
#_debug(2); |
#_debug(2); |
393 |
|
|
461 |
#_debug(0); |
#_debug(0); |
462 |
|
|
463 |
|
|
|
if ( rec('710','f') ) { |
|
|
|
|
|
marc_indicators('111', 2, ' '); |
|
|
marc('111','a', |
|
|
rec('710','a') |
|
|
); |
|
|
|
|
|
marc('111','c', |
|
|
rec('710','e') |
|
|
); |
|
|
|
|
|
marc('111','d', |
|
|
rec('710','f') |
|
|
); |
|
|
|
|
|
marc('111','e', |
|
|
rec('710','b') |
|
|
); |
|
|
|
|
|
marc('111','n', |
|
|
rec('710','d') |
|
|
); |
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
marc_indicators('110', 2, ' '); |
|
|
marc('110','a', |
|
|
rec('710','a') |
|
|
); |
|
|
|
|
|
marc('110','c', |
|
|
rec('710','c') |
|
|
); |
|
|
|
|
|
}; |
|
|
|
|
464 |
|
|
465 |
marc_indicators('740', 0, ' '); |
marc_indicators('740', 0, ' '); |
466 |
|
|
479 |
); |
); |
480 |
}; |
}; |
481 |
|
|
482 |
marc('500','a', |
marc_indicators('770', 0, ' '); |
483 |
lookup( |
marc('770','t', |
484 |
sub { rec('304','a') }, |
rec('430','a'), |
|
'nsk','baza', |
|
|
sub { rec('200','a') }, |
|
|
) |
|
485 |
); |
); |
486 |
|
|
487 |
marc('500','a', |
marc('770','x', |
488 |
lookup( |
rec('430','b'), |
|
sub { rec('306','a') }, |
|
|
'nsk','baza', |
|
|
sub { rec('200','a') }, |
|
|
) |
|
489 |
); |
); |
490 |
|
|
491 |
marc('500','a', |
if ( rec('225','a') ) { |
492 |
lookup( |
|
493 |
sub { rec('314','a') }, |
marc_indicators('773', 0, ' '); |
494 |
'nsk','baza', |
marc('773','g', |
495 |
sub { rec('200','a') }, |
rec('207','a') |
|
) |
|
496 |
); |
); |
497 |
|
|
498 |
marc('500','a', |
marc('773','t', |
499 |
lookup( |
join_with(' : ', |
500 |
sub { rec('316','a') }, |
rec('225','a'), |
501 |
'nsk','baza', |
rec('225','e') |
502 |
sub { rec('200','a') }, |
), |
|
) |
|
503 |
); |
); |
504 |
|
|
505 |
marc('504','a', |
marc('773','w', |
506 |
lookup( |
lookup( |
507 |
sub { rec('320','a') }, |
sub { |
508 |
'nsk','baza', |
join_with('', |
509 |
|
uc( config() ), |
510 |
|
' P', |
511 |
|
rec('000') |
512 |
|
), |
513 |
|
}, |
514 |
|
'ffsf','peri', |
515 |
sub { rec('200','a') }, |
sub { rec('200','a') }, |
516 |
) |
sub { rec('225','a') }, |
517 |
|
) |
518 |
); |
); |
519 |
|
|
520 |
marc('900','a', |
} |
521 |
sort( |
|
522 |
lookup( |
marc('852','j', |
523 |
sub { rec('000') }, |
join_with(' ', |
524 |
'ffps','peri', |
rec('990') |
525 |
sub { rec('200','a') }, |
) |
526 |
) |
); |
527 |
|
|
528 |
|
marc('876','a', |
529 |
|
rec('991','a') |
530 |
|
); |
531 |
|
|
532 |
|
marc('992','a', |
533 |
|
join_with(' ; ', |
534 |
|
rec('992') |
535 |
) |
) |
536 |
); |
); |
537 |
|
|
538 |
|
|
539 |
|
|
540 |
|
marc('997','a', |
541 |
|
sort( |
542 |
|
lookup( |
543 |
|
sub { rec('001') }, |
544 |
|
'nsk','bbaza', |
545 |
|
sub { rec('011','a') }, |
546 |
|
sub { rec('11') }, |
547 |
|
) |
548 |
|
) |
549 |
|
); |
550 |
|
|
551 |
|
marc('998','a', |
552 |
|
sort( |
553 |
|
lookup( |
554 |
|
sub { rec('001') }, |
555 |
|
'nsk','bbaza', |
556 |
|
sub { first(rec('200','a')) . first(rec('200','e')) }, |
557 |
|
sub { rec('200','a') . rec('200','e') }, |
558 |
|
) |
559 |
|
) |
560 |
|
); |
561 |
|
|
562 |
|
marc('998','a', |
563 |
|
sort( |
564 |
|
lookup( |
565 |
|
sub { rec('001') }, |
566 |
|
'nsk','bbaza', |
567 |
|
sub { first(rec('200','a')) }, |
568 |
|
sub { rec('200','a') }, |
569 |
|
) |
570 |
|
) |
571 |
|
); |
572 |
|
|
573 |
} |
} |