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 |
if ( rec('E') =~ m# / # && rec('E') =~ m/[:=]/ ) { |
192 |
marc('299','a', |
193 |
regex('s/(^.*?[:=]) (.*\/) (.*)/$1/', |
194 |
rec('E') |
195 |
) |
196 |
); |
197 |
marc('299','b', |
198 |
regex('s/(^.*?[:=]) (.*\/) (.*)/$2/', |
199 |
rec('E') |
200 |
) |
201 |
); |
202 |
marc('299','c', |
203 |
regex('s/(^.*?[:=]) (.*\/) (.*)/$3/', |
204 |
rec('E') |
205 |
) |
206 |
); |
207 |
|
208 |
} elsif ( rec('E') =~ m/ \/ / && rec('E') !~ m/[:=]/ ) { |
209 |
marc('299','a', |
210 |
regex('s/(^.*?\/) (.*)/$1/', |
211 |
rec('E') |
212 |
) |
213 |
); |
214 |
marc('299','c', |
215 |
regex('s/(^.*?\/) (.*)/$2/', |
216 |
rec('E') |
217 |
) |
218 |
); |
219 |
} elsif ( rec('E') !~ m/ \/ / && rec('E') =~ m/[:=]/ ) { |
220 |
marc('299','a', |
221 |
regex('s/(^.*?[:=]) (.*)/$1/', |
222 |
rec('E') |
223 |
) |
224 |
); |
225 |
marc('299','b', |
226 |
regex('s/(^.*?[:=]) (.*)/$2/', |
227 |
rec('E') |
228 |
) |
229 |
); |
230 |
|
231 |
} else { |
232 |
marc('299','a', |
233 |
rec('E') |
234 |
); |
235 |
} |
236 |
|
237 |
# ### 246 inikatori |
238 |
# # prema jeziku - provjera |
239 |
# |
240 |
# if ( ( rec('200','a') =~ m/^Die /) || |
241 |
# ( rec('200','a') =~ m/^Das /) || |
242 |
# ( rec('200','a') =~ m/^The /) ) { |
243 |
# marc_indicators('246', 0, 4); |
244 |
# } else { |
245 |
# marc_indicators('246', 0, 0); |
246 |
# } |
247 |
# |
248 |
# ### 246 |
249 |
# # povuæi podatke iz prikladnog izvora (nsk, issn) |
250 |
# |
251 |
# marc('246','a', |
252 |
# rec('532') |
253 |
# ); |
254 |
# |
255 |
# ## iz nsk: |
256 |
# # marc('246','a', |
257 |
# # lookup( |
258 |
# # sub { rec('532','a') }, |
259 |
# # 'nsk','bbaza', |
260 |
# # sub { rec('011','a') }, |
261 |
# # sub { rec('11') }, |
262 |
# # ) |
263 |
# # ); |
264 |
# |
265 |
# #_debug(0); |
266 |
# |
267 |
# |
268 |
# ## 260 - izdavanje |
269 |
# # provjeriti interpunkcije !!, u NSK nesto ne stima |
270 |
# |
271 |
# marc_original_order('260','210'); |
272 |
# |
273 |
# ## lookup u NSK: |
274 |
# # if ( rec('11') ) { |
275 |
# # marc_repeatable_subfield('260','a', |
276 |
# # lookup( |
277 |
# # sub { rec('210','a') }, |
278 |
# # 'nsk','bbaza', |
279 |
# # sub { rec('011','a') }, |
280 |
# # sub { rec('11') }, |
281 |
# # ) |
282 |
# # ); |
283 |
# # marc_repeatable_subfield('260','b', |
284 |
# # lookup( |
285 |
# # sub { rec('210','c') }, |
286 |
# # 'nsk','bbaza', |
287 |
# # sub { rec('011','a') }, |
288 |
# # sub { rec('11') }, |
289 |
# # ) |
290 |
# # ); |
291 |
# # marc('260','c', |
292 |
# # lookup( |
293 |
# # sub { rec('210','d') }, |
294 |
# # 'nsk','bbaza', |
295 |
# # sub { rec('011','a') }, |
296 |
# # sub { rec('11') }, |
297 |
# # ) |
298 |
# # ); |
299 |
# # } else { |
300 |
# # marc_original_order('260', '210'); |
301 |
# # } |
302 |
# |
303 |
# |
304 |
# ### 300 |
305 |
# |
306 |
# marc('300','a', |
307 |
# suffix( |
308 |
# ( rec('215','a') && rec('215','c') ) ? ' : ' : |
309 |
# ( rec('215','a') && rec('215','d') ) ? ' ; ' : |
310 |
# ( rec('215','a') && rec('215','e') ) ? ' + ' : |
311 |
# ' ', |
312 |
# rec('215','a') |
313 |
# ) |
314 |
# ); |
315 |
# |
316 |
# marc('300','b', |
317 |
# suffix( |
318 |
# ( rec('215','c') && rec('215','d') ) ? ' ; ' : |
319 |
# ( rec('215','c') && rec('215','e') ) ? ' + ' : |
320 |
# ' ', |
321 |
# rec('215','c') |
322 |
# ) |
323 |
# ); |
324 |
# |
325 |
# marc('300','c', |
326 |
# suffix( |
327 |
# rec('215','e') ? ' + ' : |
328 |
# ' ', |
329 |
# rec('215','d') |
330 |
# ) |
331 |
# ); |
332 |
# |
333 |
# marc('300','e', |
334 |
# rec('215','e') |
335 |
# ); |
336 |
# |
337 |
# ### 310 - current stated publication frequency |
338 |
# # potrebno ujednaèiti, koristi se i u polju 008 |
339 |
# |
340 |
# marc('310','a', |
341 |
# rec('326') |
342 |
# ); |
343 |
# |
344 |
# ### 321 - former frequency of either an item or an update to an item when a current frequency is contained in field 310 |
345 |
# |
346 |
# # marc('321','a', |
347 |
# # ovo bi trebalo procitati iz NSK konvertiranih podataka |
348 |
# #); |
349 |
# |
350 |
# marc_indicators('362', 0, ' '); |
351 |
# |
352 |
# ### 362 |
353 |
# # |
354 |
# if ( rec('207','a') ) { |
355 |
# marc('362','a', |
356 |
# rec('207','a'), |
357 |
# ); |
358 |
# } |
359 |
# |
360 |
# ## lookup iz nsk |
361 |
# #else { |
362 |
# # if ( rec('11') ) { |
363 |
# # marc('362','a', |
364 |
# # lookup( |
365 |
# # sub { rec('207','a') }, |
366 |
# # 'nsk','bbaza', |
367 |
# # sub { first( rec('011','a') ) }, |
368 |
# # sub { rec('11') }, |
369 |
# # ) |
370 |
# # ); |
371 |
# # } |
372 |
# #} |
373 |
# |
374 |
# ### 490 ind. |
375 |
# |
376 |
# marc_indicators('490', '0', ' '); |
377 |
# |
378 |
# ### 490 |
379 |
# |
380 |
# marc('490','a', |
381 |
# join_with('. ', |
382 |
# join_with(' / ', |
383 |
# join_with(' : ', |
384 |
# join_with(' = ', |
385 |
# rec('225','a'), |
386 |
# rec('225','d') |
387 |
# ), |
388 |
# rec('225','e') |
389 |
# ), |
390 |
# join_with(' ; ', |
391 |
# rec('225','f'), |
392 |
# rec('225','g') |
393 |
# ), |
394 |
# ), |
395 |
# rec('225','h') |
396 |
# ) |
397 |
# ); |
398 |
# |
399 |
# marc('490','v', |
400 |
# rec('225','v') |
401 |
# ); |
402 |
# |
403 |
# marc('490','x', |
404 |
# rec('225','x') |
405 |
# ); |
406 |
# |
407 |
# if ( rec('11') ) { |
408 |
# marc('999','a', |
409 |
# lookup( |
410 |
# sub { rec('110','a'), }, |
411 |
# 'nsk','bbaza', |
412 |
# sub { rec('011','a') }, |
413 |
# sub { rec('11') } |
414 |
# ) |
415 |
# ); |
416 |
# } |
417 |
# |
418 |
# |
419 |
# #marc('998','a', |
420 |
# # lookup( |
421 |
# # sub { rec('H') }, |
422 |
# # 'ffsf','xls', |
423 |
# # sub { rec('A') }, |
424 |
# # sub { $id }, |
425 |
# # ), |
426 |
# #); |
427 |
|
428 |
|
429 |
### 500 |
430 |
# lookup |
431 |
# |
432 |
# |
433 |
# marc('500','a', |
434 |
# rec(''), |
435 |
# ); |
436 |
# |
437 |
# |
438 |
# ### 534 - napomena o pretisku |
439 |
# |
440 |
# marc('534','a', |
441 |
# rec('324') |
442 |
# ); |
443 |
# |
444 |
# ## potencijalno za izvuæi iz NSK |
445 |
# #if ( rec('11') ) { |
446 |
# #marc('546','a', |
447 |
# # lookup( |
448 |
# # sub { rec('302','a') }, |
449 |
# # 'nsk','bbaza', |
450 |
# # sub { rec('011','a') }, |
451 |
# # sub { rec('11') }, |
452 |
# # ) |
453 |
# #); |
454 |
# # |
455 |
# #marc('550','a', |
456 |
# # lookup( |
457 |
# # sub { rec('314','a') }, |
458 |
# # 'nsk','bbaza', |
459 |
# # sub { rec('011','a') }, |
460 |
# # sub { rec('11') }, |
461 |
# # ) |
462 |
# #); |
463 |
# # |
464 |
# #marc('555','a', |
465 |
# # lookup( |
466 |
# # sub { rec('320','a') }, |
467 |
# # 'nsk','bbaza', |
468 |
# # sub { rec('011','a') }, |
469 |
# # sub { rec('11') }, |
470 |
# # ) |
471 |
# #); |
472 |
# # |
473 |
# # |
474 |
# ## marc('562','a', |
475 |
# ## lookup( |
476 |
# ## sub { rec('316','a') }, |
477 |
# ## 'nsk','bbaza', |
478 |
# ## sub { rec('011','a') }, |
479 |
# ## sub { rec('11') }, |
480 |
# ## ) |
481 |
# ## ); |
482 |
# #} |
483 |
|
484 |
|
485 |
if ( rec('B') ) { |
486 |
marc('996','a', |
487 |
lc( rec('A') ) |
488 |
); |
489 |
|
490 |
marc('996','b', |
491 |
'peri' |
492 |
); |
493 |
|
494 |
marc('996','c', |
495 |
rec('B') |
496 |
); |
497 |
} |
498 |
|
499 |
# |
500 |
# ### 653 indikatori |
501 |
# marc_indicators('653', 0, ' '); |
502 |
# |
503 |
# ### 653 |
504 |
# |
505 |
# marc('653','a', |
506 |
# rec('610') |
507 |
# ); |
508 |
# |
509 |
# # marc_indicators('655', ' ', 4); |
510 |
# # marc('655','a', |
511 |
# # lookup( |
512 |
# # sub { rec('608','a') }, |
513 |
# # 'nsk','bbaza', |
514 |
# # sub { rec('011','a') }, |
515 |
# # sub { rec('11') }, |
516 |
# # ) |
517 |
# # ); |
518 |
# |
519 |
# |
520 |
# #_debug(2); |
521 |
# |
522 |
# ### 700 indikatori |
523 |
# |
524 |
# marc_indicators('700', 1, ' '); |
525 |
# |
526 |
# ### 700 |
527 |
# |
528 |
# marc('700','a', |
529 |
# rec('702','a'), |
530 |
# ); |
531 |
# |
532 |
# marc('700','a', |
533 |
# join_with(', ', |
534 |
# rec('702','c'), |
535 |
# rec('702','d') |
536 |
# ) |
537 |
# ); |
538 |
# |
539 |
# |
540 |
# #_debug(0); |
541 |
# |
542 |
# ### 710 indikatori |
543 |
# |
544 |
# marc_indicators('710', '2', ' '); |
545 |
# |
546 |
# ### 710 |
547 |
# marc('710','a', |
548 |
# rec('710','a') |
549 |
# ); |
550 |
# |
551 |
# ### 770 indikatori |
552 |
# |
553 |
# marc_indicators('770', 0, ' '); |
554 |
# |
555 |
# ### 770 |
556 |
# marc('770','t', |
557 |
# rec('421','a'), |
558 |
# ); |
559 |
# |
560 |
# ### 772 indikatori |
561 |
# marc_indicators('772', 0, ' '); |
562 |
# |
563 |
# ### 772 |
564 |
# marc('772','t', |
565 |
# rec('422','a'), |
566 |
# ); |
567 |
# |
568 |
# ### 773 indikatori |
569 |
# |
570 |
# if ( rec('225','a') ) { |
571 |
# |
572 |
# marc_indicators('773', 0, ' '); |
573 |
# |
574 |
# ### 773 |
575 |
# ## da li je bitan redoslijed potpolja? |
576 |
# |
577 |
# marc('773','w', |
578 |
# lookup( |
579 |
# sub { rec('000') }, |
580 |
# 'ffsf','peri', |
581 |
# sub { rec('200','a') }, |
582 |
# sub { |
583 |
# regex('s/ ; //g', |
584 |
# rec('225','a') |
585 |
# ) |
586 |
# }, |
587 |
# ) |
588 |
# ); |
589 |
# |
590 |
# } |
591 |
# |
592 |
# |
593 |
# ### 777 indikatori |
594 |
# |
595 |
# marc_indicators('777', 0, ' '); |
596 |
# |
597 |
# ### 777 |
598 |
# |
599 |
# marc('777','t', |
600 |
# rec('423','a'), |
601 |
# ); |
602 |
# |
603 |
# ### 780 indikatori |
604 |
# |
605 |
# marc_indicators('780', 0, 0); |
606 |
# |
607 |
# ### 780 |
608 |
# marc('780','t', |
609 |
# rec('430','a'), |
610 |
# ); |
611 |
# |
612 |
# ### 785 indikatori |
613 |
# |
614 |
# marc_indicators('785', 0, 0); |
615 |
# |
616 |
# ### 785 |
617 |
# marc('785','t', |
618 |
# rec('440','a'), |
619 |
# ); |
620 |
# |
621 |
# ### 852 |
622 |
# |
623 |
# marc('852','j', |
624 |
# join_with(' ', |
625 |
# rec('990') |
626 |
# ) |
627 |
# ); |
628 |
# |
629 |
# ### 876 |
630 |
# |
631 |
# marc('876','a', |
632 |
# rec('991','a') |
633 |
# ); |
634 |
|
635 |
marc('942','d', |
636 |
rec('C') |
637 |
); |
638 |
|
639 |
|
640 |
|
641 |
# |
642 |
# ### 992 |
643 |
# |
644 |
# marc('992','a', |
645 |
# join_with(' ; ', |
646 |
# rec('992') |
647 |
# ) |
648 |
# ); |
649 |
# |
650 |
# |
651 |
### polja za probu |
652 |
|
653 |
|
654 |
#marc('998','a', |
655 |
# lookup( |
656 |
# sub { rec('200','a') }, |
657 |
# 'ffiz','peri', |
658 |
# sub { rec('200','a'), }, |
659 |
# sub { rec('225','a'), } |
660 |
# ) |
661 |
#); |
662 |
|
663 |
|
664 |
# marc('997','a', |
665 |
# sort( |
666 |
# lookup( |
667 |
# sub { rec('001') }, |
668 |
# 'nsk','bbaza', |
669 |
# sub { rec('011','a') }, |
670 |
# sub { rec('11') }, |
671 |
# ) |
672 |
# ) |
673 |
# ); |
674 |
# |
675 |
# marc('998','a', |
676 |
# sort( |
677 |
# lookup( |
678 |
# sub { rec('001') }, |
679 |
# 'nsk','bbaza', |
680 |
# sub { first(rec('200','a')) . first(rec('200','e')) }, |
681 |
# sub { rec('200','a') . rec('200','e') }, |
682 |
# ) |
683 |
# ) |
684 |
# ); |
685 |
# |
686 |
# marc('998','a', |
687 |
# sort( |
688 |
# lookup( |
689 |
# sub { rec('001') }, |
690 |
# 'nsk','bbaza', |
691 |
# sub { first(rec('200','a')) }, |
692 |
# sub { rec('200','a') }, |
693 |
# ) |
694 |
# ) |
695 |
# ); |
696 |
|