1 |
|
2 |
### LEADER |
3 |
|
4 |
## LDR 05 - n - new |
5 |
marc_leader('05','n'); |
6 |
|
7 |
## LDR 06 - a - language material |
8 |
marc_leader('06','a'); |
9 |
|
10 |
## LDR 07 - Bibliographic level |
11 |
marc_leader('07','s'); |
12 |
|
13 |
## LDR 17 - Encoding level ; 7 - minimal level, u - unknown |
14 |
marc_leader('17','u'); |
15 |
|
16 |
## LDR 18 - i - isbd |
17 |
marc_leader('18','i'); |
18 |
|
19 |
### 008 - All materials |
20 |
marc_fixed('008','00', '090512'); # 00-05 - Date entered on file |
21 |
|
22 |
## za 008 06 treba i lookup u tablicu u kojoj postoji podatak o tome jel tekuci casopis ili nije? |
23 |
## c - Continuing resource currently published |
24 |
## d - Continuing resource ceased publication |
25 |
|
26 |
marc_fixed('008','06','|'); # 06 - Type of date/Publication status, s = single know date, | = no attempt to code |
27 |
marc_fixed('008','07','||||'); |
28 |
marc_fixed('008','11','||||'); |
29 |
marc_fixed('008','15','xx '); |
30 |
# 18-34 - Material specific coded elements |
31 |
# 35-37 - Language |
32 |
marc_fixed('008','38','|'); # 38 - Modified record |
33 |
marc_fixed('008','39','d'); # 39 - Cataloging source |
34 |
|
35 |
### 008 - Continuing resources |
36 |
|
37 |
marc_fixed('008','18', '|'); # 18 - Frequency - ovo treba popuniti iz polja 326 |
38 |
marc_fixed('008','19', '|'); # 19 - Regularity |
39 |
# 20 - Undefined, ontains a blank (#) or fill character (|) |
40 |
|
41 |
marc_fixed('008','21', 'p'); # 21 - Type of continuing resource |
42 |
|
43 |
# 22 - Form of original item - blank |
44 |
# 23 - Form of item |
45 |
# 24 - Nature of entire work |
46 |
# 25-27 - Nature of contents |
47 |
# 28 - Government publication |
48 |
# 29 - Conference publication |
49 |
# 30-32 - Undefined |
50 |
# 33 - Original alphabet or script of title |
51 |
# 34 - Entry convention |
52 |
marc_fixed('008','22', ' '); |
53 |
marc_fixed('008','23', ' '); |
54 |
marc_fixed('008','24', '|'); |
55 |
marc_fixed('008','25', '|||'); |
56 |
marc_fixed('008','28', ' '); |
57 |
marc_fixed('008','29', ' '); |
58 |
marc_fixed('008','33', '|'); |
59 |
marc_fixed('008','34', '|'); |
60 |
|
61 |
### 022 |
62 |
|
63 |
marc('022','a', |
64 |
rec('F') |
65 |
); |
66 |
|
67 |
### 035$a |
68 |
|
69 |
if ( rec('B') ) { |
70 |
marc('035','a', |
71 |
join_with(' ', |
72 |
'HR-ZaFF', |
73 |
join_with('', |
74 |
suffix('P', |
75 |
lc( rec('A') ) |
76 |
), |
77 |
rec('B') |
78 |
), |
79 |
) |
80 |
); |
81 |
} |
82 |
|
83 |
### 040 |
84 |
# za sve je isti |
85 |
# treba utvrditi toènu oznaku za ustanovu |
86 |
|
87 |
marc('040','a', |
88 |
'HR FFZG' |
89 |
); |
90 |
|
91 |
marc('040','b', |
92 |
'hrv' |
93 |
); |
94 |
|
95 |
marc('040','c', |
96 |
'HR-ZaFF' |
97 |
); |
98 |
|
99 |
marc('040','e', |
100 |
'ppiak' |
101 |
); |
102 |
|
103 |
|
104 |
#_debug(3); |
105 |
|
106 |
## iz nsk |
107 |
#if ( rec('11') ) { |
108 |
#marc('210','a', |
109 |
# lookup( |
110 |
# sub { rec('531','a') }, |
111 |
# 'nsk','bbaza', |
112 |
# sub { rec('011','a') }, |
113 |
# sub { rec('11') }, |
114 |
# ) |
115 |
#); |
116 |
#} |
117 |
|
118 |
# ### 222 indikatori |
119 |
# # drugi indikator prema èlanu |
120 |
# |
121 |
# marc_indicators('222',' ','0'); |
122 |
# |
123 |
# ### 222 - Key title |
124 |
# # pronaæi prikadan izvor podataka - nsk baza, issn baze |
125 |
# |
126 |
# marc('222','a', |
127 |
# rec('530') |
128 |
# ); |
129 |
# |
130 |
# # iz nsk: |
131 |
# #if ( rec('11') ) { |
132 |
# #marc('222','a', |
133 |
# # lookup( |
134 |
# # sub { rec('530','a') }, |
135 |
# # 'nsk','bbaza', |
136 |
# # sub { rec('011','a') }, |
137 |
# # sub { rec('11') }, |
138 |
# # ) |
139 |
# #); |
140 |
# #} |
141 |
|
142 |
### 245 indikatori |
143 |
# generiraju se prema èlanu, trebalo bi mo¾da i prema jeziku (jezika nema uvijek). |
144 |
# potrebna naknadna kontrola |
145 |
|
146 |
marc_indicators('245', 0, 0); |
147 |
|
148 |
if ( ( rec('E') =~ m/^Die /) || |
149 |
( rec('E') =~ m/^Das /) || |
150 |
( rec('E') =~ m/^Der /) || |
151 |
( rec('E') =~ m/^Les /) || |
152 |
( rec('E') =~ m/^The /) ) { |
153 |
marc_indicators('245', 0, 4); |
154 |
|
155 |
} |
156 |
|
157 |
if ( ( rec('E') =~ m/^Un /) || |
158 |
( rec('E') =~ m/^An /) || |
159 |
( rec('E') =~ m/^La /) || |
160 |
( rec('E') =~ m/^Le /) || |
161 |
( rec('E') =~ m/^Il /) ) { |
162 |
marc_indicators('245', 0, 3); |
163 |
} |
164 |
|
165 |
if ( ( rec('E') =~ m/^A /) || |
166 |
( rec('E') =~ m/^L'/) ) { |
167 |
marc_indicators('245', 0, 2); |
168 |
} |
169 |
|
170 |
### 245 |
171 |
|
172 |
if ( rec('E') =~ m/:/ ) { |
173 |
marc('245','a', |
174 |
suffix(' :', |
175 |
regex('s/(^.*):.*/$1/', |
176 |
rec('E') |
177 |
) |
178 |
) |
179 |
); |
180 |
marc('245','b', |
181 |
regex('s/^.*: (.*)/$1/', |
182 |
rec('E') |
183 |
) |
184 |
); |
185 |
} else { |
186 |
marc('245','a', |
187 |
rec('E') |
188 |
); |
189 |
} |
190 |
|
191 |
# ### 246 inikatori |
192 |
# # prema jeziku - provjera |
193 |
# |
194 |
# if ( ( rec('200','a') =~ m/^Die /) || |
195 |
# ( rec('200','a') =~ m/^Das /) || |
196 |
# ( rec('200','a') =~ m/^The /) ) { |
197 |
# marc_indicators('246', 0, 4); |
198 |
# } else { |
199 |
# marc_indicators('246', 0, 0); |
200 |
# } |
201 |
# |
202 |
# ### 246 |
203 |
# # povuæi podatke iz prikladnog izvora (nsk, issn) |
204 |
# |
205 |
# marc('246','a', |
206 |
# rec('532') |
207 |
# ); |
208 |
# |
209 |
# ## iz nsk: |
210 |
# # marc('246','a', |
211 |
# # lookup( |
212 |
# # sub { rec('532','a') }, |
213 |
# # 'nsk','bbaza', |
214 |
# # sub { rec('011','a') }, |
215 |
# # sub { rec('11') }, |
216 |
# # ) |
217 |
# # ); |
218 |
# |
219 |
# #_debug(0); |
220 |
# |
221 |
# |
222 |
# ## 260 - izdavanje |
223 |
# # provjeriti interpunkcije !!, u NSK nesto ne stima |
224 |
# |
225 |
# marc_original_order('260','210'); |
226 |
# |
227 |
# ## lookup u NSK: |
228 |
# # if ( rec('11') ) { |
229 |
# # marc_repeatable_subfield('260','a', |
230 |
# # lookup( |
231 |
# # sub { rec('210','a') }, |
232 |
# # 'nsk','bbaza', |
233 |
# # sub { rec('011','a') }, |
234 |
# # sub { rec('11') }, |
235 |
# # ) |
236 |
# # ); |
237 |
# # marc_repeatable_subfield('260','b', |
238 |
# # lookup( |
239 |
# # sub { rec('210','c') }, |
240 |
# # 'nsk','bbaza', |
241 |
# # sub { rec('011','a') }, |
242 |
# # sub { rec('11') }, |
243 |
# # ) |
244 |
# # ); |
245 |
# # marc('260','c', |
246 |
# # lookup( |
247 |
# # sub { rec('210','d') }, |
248 |
# # 'nsk','bbaza', |
249 |
# # sub { rec('011','a') }, |
250 |
# # sub { rec('11') }, |
251 |
# # ) |
252 |
# # ); |
253 |
# # } else { |
254 |
# # marc_original_order('260', '210'); |
255 |
# # } |
256 |
# |
257 |
# |
258 |
# ### 300 |
259 |
# |
260 |
# marc('300','a', |
261 |
# suffix( |
262 |
# ( rec('215','a') && rec('215','c') ) ? ' : ' : |
263 |
# ( rec('215','a') && rec('215','d') ) ? ' ; ' : |
264 |
# ( rec('215','a') && rec('215','e') ) ? ' + ' : |
265 |
# ' ', |
266 |
# rec('215','a') |
267 |
# ) |
268 |
# ); |
269 |
# |
270 |
# marc('300','b', |
271 |
# suffix( |
272 |
# ( rec('215','c') && rec('215','d') ) ? ' ; ' : |
273 |
# ( rec('215','c') && rec('215','e') ) ? ' + ' : |
274 |
# ' ', |
275 |
# rec('215','c') |
276 |
# ) |
277 |
# ); |
278 |
# |
279 |
# marc('300','c', |
280 |
# suffix( |
281 |
# rec('215','e') ? ' + ' : |
282 |
# ' ', |
283 |
# rec('215','d') |
284 |
# ) |
285 |
# ); |
286 |
# |
287 |
# marc('300','e', |
288 |
# rec('215','e') |
289 |
# ); |
290 |
# |
291 |
# ### 310 - current stated publication frequency |
292 |
# # potrebno ujednaèiti, koristi se i u polju 008 |
293 |
# |
294 |
# marc('310','a', |
295 |
# rec('326') |
296 |
# ); |
297 |
# |
298 |
# ### 321 - former frequency of either an item or an update to an item when a current frequency is contained in field 310 |
299 |
# |
300 |
# # marc('321','a', |
301 |
# # ovo bi trebalo procitati iz NSK konvertiranih podataka |
302 |
# #); |
303 |
# |
304 |
# marc_indicators('362', 0, ' '); |
305 |
# |
306 |
# ### 362 |
307 |
# # |
308 |
# if ( rec('207','a') ) { |
309 |
# marc('362','a', |
310 |
# rec('207','a'), |
311 |
# ); |
312 |
# } |
313 |
# |
314 |
# ## lookup iz nsk |
315 |
# #else { |
316 |
# # if ( rec('11') ) { |
317 |
# # marc('362','a', |
318 |
# # lookup( |
319 |
# # sub { rec('207','a') }, |
320 |
# # 'nsk','bbaza', |
321 |
# # sub { first( rec('011','a') ) }, |
322 |
# # sub { rec('11') }, |
323 |
# # ) |
324 |
# # ); |
325 |
# # } |
326 |
# #} |
327 |
# |
328 |
# ### 490 ind. |
329 |
# |
330 |
# marc_indicators('490', '0', ' '); |
331 |
# |
332 |
# ### 490 |
333 |
# |
334 |
# marc('490','a', |
335 |
# join_with('. ', |
336 |
# join_with(' / ', |
337 |
# join_with(' : ', |
338 |
# join_with(' = ', |
339 |
# rec('225','a'), |
340 |
# rec('225','d') |
341 |
# ), |
342 |
# rec('225','e') |
343 |
# ), |
344 |
# join_with(' ; ', |
345 |
# rec('225','f'), |
346 |
# rec('225','g') |
347 |
# ), |
348 |
# ), |
349 |
# rec('225','h') |
350 |
# ) |
351 |
# ); |
352 |
# |
353 |
# marc('490','v', |
354 |
# rec('225','v') |
355 |
# ); |
356 |
# |
357 |
# marc('490','x', |
358 |
# rec('225','x') |
359 |
# ); |
360 |
# |
361 |
# if ( rec('11') ) { |
362 |
# marc('999','a', |
363 |
# lookup( |
364 |
# sub { rec('110','a'), }, |
365 |
# 'nsk','bbaza', |
366 |
# sub { rec('011','a') }, |
367 |
# sub { rec('11') } |
368 |
# ) |
369 |
# ); |
370 |
# } |
371 |
# |
372 |
# |
373 |
# #marc('998','a', |
374 |
# # lookup( |
375 |
# # sub { rec('H') }, |
376 |
# # 'ffsf','xls', |
377 |
# # sub { rec('A') }, |
378 |
# # sub { $id }, |
379 |
# # ), |
380 |
# #); |
381 |
|
382 |
|
383 |
### 500 |
384 |
# lookup |
385 |
# |
386 |
# |
387 |
# marc('500','a', |
388 |
# rec(''), |
389 |
# ); |
390 |
# |
391 |
# |
392 |
# ### 534 - napomena o pretisku |
393 |
# |
394 |
# marc('534','a', |
395 |
# rec('324') |
396 |
# ); |
397 |
# |
398 |
# ## potencijalno za izvuæi iz NSK |
399 |
# #if ( rec('11') ) { |
400 |
# #marc('546','a', |
401 |
# # lookup( |
402 |
# # sub { rec('302','a') }, |
403 |
# # 'nsk','bbaza', |
404 |
# # sub { rec('011','a') }, |
405 |
# # sub { rec('11') }, |
406 |
# # ) |
407 |
# #); |
408 |
# # |
409 |
# #marc('550','a', |
410 |
# # lookup( |
411 |
# # sub { rec('314','a') }, |
412 |
# # 'nsk','bbaza', |
413 |
# # sub { rec('011','a') }, |
414 |
# # sub { rec('11') }, |
415 |
# # ) |
416 |
# #); |
417 |
# # |
418 |
# #marc('555','a', |
419 |
# # lookup( |
420 |
# # sub { rec('320','a') }, |
421 |
# # 'nsk','bbaza', |
422 |
# # sub { rec('011','a') }, |
423 |
# # sub { rec('11') }, |
424 |
# # ) |
425 |
# #); |
426 |
# # |
427 |
# # |
428 |
# ## marc('562','a', |
429 |
# ## lookup( |
430 |
# ## sub { rec('316','a') }, |
431 |
# ## 'nsk','bbaza', |
432 |
# ## sub { rec('011','a') }, |
433 |
# ## sub { rec('11') }, |
434 |
# ## ) |
435 |
# ## ); |
436 |
# #} |
437 |
|
438 |
|
439 |
if ( rec('B') ) { |
440 |
marc('996','a', |
441 |
lc( rec('A') ) |
442 |
); |
443 |
|
444 |
marc('996','b', |
445 |
'peri' |
446 |
); |
447 |
|
448 |
marc('996','c', |
449 |
rec('B') |
450 |
); |
451 |
} |
452 |
|
453 |
# |
454 |
# ### 653 indikatori |
455 |
# marc_indicators('653', 0, ' '); |
456 |
# |
457 |
# ### 653 |
458 |
# |
459 |
# marc('653','a', |
460 |
# rec('610') |
461 |
# ); |
462 |
# |
463 |
# # marc_indicators('655', ' ', 4); |
464 |
# # marc('655','a', |
465 |
# # lookup( |
466 |
# # sub { rec('608','a') }, |
467 |
# # 'nsk','bbaza', |
468 |
# # sub { rec('011','a') }, |
469 |
# # sub { rec('11') }, |
470 |
# # ) |
471 |
# # ); |
472 |
# |
473 |
# |
474 |
# #_debug(2); |
475 |
# |
476 |
# ### 700 indikatori |
477 |
# |
478 |
# marc_indicators('700', 1, ' '); |
479 |
# |
480 |
# ### 700 |
481 |
# |
482 |
# marc('700','a', |
483 |
# rec('702','a'), |
484 |
# ); |
485 |
# |
486 |
# marc('700','a', |
487 |
# join_with(', ', |
488 |
# rec('702','c'), |
489 |
# rec('702','d') |
490 |
# ) |
491 |
# ); |
492 |
# |
493 |
# |
494 |
# #_debug(0); |
495 |
# |
496 |
# ### 710 indikatori |
497 |
# |
498 |
# marc_indicators('710', '2', ' '); |
499 |
# |
500 |
# ### 710 |
501 |
# marc('710','a', |
502 |
# rec('710','a') |
503 |
# ); |
504 |
# |
505 |
# ### 770 indikatori |
506 |
# |
507 |
# marc_indicators('770', 0, ' '); |
508 |
# |
509 |
# ### 770 |
510 |
# marc('770','t', |
511 |
# rec('421','a'), |
512 |
# ); |
513 |
# |
514 |
# ### 772 indikatori |
515 |
# marc_indicators('772', 0, ' '); |
516 |
# |
517 |
# ### 772 |
518 |
# marc('772','t', |
519 |
# rec('422','a'), |
520 |
# ); |
521 |
# |
522 |
# ### 773 indikatori |
523 |
# |
524 |
# if ( rec('225','a') ) { |
525 |
# |
526 |
# marc_indicators('773', 0, ' '); |
527 |
# |
528 |
# ### 773 |
529 |
# ## da li je bitan redoslijed potpolja? |
530 |
# |
531 |
# marc('773','w', |
532 |
# lookup( |
533 |
# sub { rec('000') }, |
534 |
# 'ffsf','peri', |
535 |
# sub { rec('200','a') }, |
536 |
# sub { |
537 |
# regex('s/ ; //g', |
538 |
# rec('225','a') |
539 |
# ) |
540 |
# }, |
541 |
# ) |
542 |
# ); |
543 |
# |
544 |
# } |
545 |
# |
546 |
# |
547 |
# ### 777 indikatori |
548 |
# |
549 |
# marc_indicators('777', 0, ' '); |
550 |
# |
551 |
# ### 777 |
552 |
# |
553 |
# marc('777','t', |
554 |
# rec('423','a'), |
555 |
# ); |
556 |
# |
557 |
# ### 780 indikatori |
558 |
# |
559 |
# marc_indicators('780', 0, 0); |
560 |
# |
561 |
# ### 780 |
562 |
# marc('780','t', |
563 |
# rec('430','a'), |
564 |
# ); |
565 |
# |
566 |
# ### 785 indikatori |
567 |
# |
568 |
# marc_indicators('785', 0, 0); |
569 |
# |
570 |
# ### 785 |
571 |
# marc('785','t', |
572 |
# rec('440','a'), |
573 |
# ); |
574 |
# |
575 |
# ### 852 |
576 |
# |
577 |
# marc('852','j', |
578 |
# join_with(' ', |
579 |
# rec('990') |
580 |
# ) |
581 |
# ); |
582 |
# |
583 |
# ### 876 |
584 |
# |
585 |
# marc('876','a', |
586 |
# rec('991','a') |
587 |
# ); |
588 |
|
589 |
marc('942','d', |
590 |
rec('C') |
591 |
); |
592 |
|
593 |
|
594 |
|
595 |
# |
596 |
# ### 992 |
597 |
# |
598 |
# marc('992','a', |
599 |
# join_with(' ; ', |
600 |
# rec('992') |
601 |
# ) |
602 |
# ); |
603 |
# |
604 |
# |
605 |
### polja za probu |
606 |
|
607 |
|
608 |
#marc('998','a', |
609 |
# lookup( |
610 |
# sub { rec('200','a') }, |
611 |
# 'ffiz','peri', |
612 |
# sub { rec('200','a'), }, |
613 |
# sub { rec('225','a'), } |
614 |
# ) |
615 |
#); |
616 |
|
617 |
|
618 |
# marc('997','a', |
619 |
# sort( |
620 |
# lookup( |
621 |
# sub { rec('001') }, |
622 |
# 'nsk','bbaza', |
623 |
# sub { rec('011','a') }, |
624 |
# sub { rec('11') }, |
625 |
# ) |
626 |
# ) |
627 |
# ); |
628 |
# |
629 |
# marc('998','a', |
630 |
# sort( |
631 |
# lookup( |
632 |
# sub { rec('001') }, |
633 |
# 'nsk','bbaza', |
634 |
# sub { first(rec('200','a')) . first(rec('200','e')) }, |
635 |
# sub { rec('200','a') . rec('200','e') }, |
636 |
# ) |
637 |
# ) |
638 |
# ); |
639 |
# |
640 |
# marc('998','a', |
641 |
# sort( |
642 |
# lookup( |
643 |
# sub { rec('001') }, |
644 |
# 'nsk','bbaza', |
645 |
# sub { first(rec('200','a')) }, |
646 |
# sub { rec('200','a') }, |
647 |
# ) |
648 |
# ) |
649 |
# ); |
650 |
|