/[webpac2]/trunk/conf/normalize/ff-libri.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /trunk/conf/normalize/ff-libri.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1010 - (show annotations)
Tue Nov 6 20:20:37 2007 UTC (16 years, 5 months ago) by dpavlin
File MIME type: text/plain
File size: 16621 byte(s)
local

1 #########################################################################
2 ## ##
3 ## Ova datoteka sadr¾i pravila za generiranje MARC21 ISO 2709 izlazne ##
4 ## datoteke. Ulazni format je CDS/ISIS sa zapisima u UNIMARC-u. ##
5 ## ##
6 ##########################################################################
7
8 # konvertira se ako postoji polje 200^a
9
10 if ( rec('200','a') ) {
11
12 ### LEADER
13 # raspraviti 17,18
14 # u nekim knji¾nicama koristi se 999a i 999b, a u nekima samo 999
15
16 if ( rec('999') && first(rec('999')) =~ m/(pregledan|P)/i) {
17 marc_leader('05','c');
18 } else {
19 marc_leader('05','n');
20 }
21
22 # moguæa je i oznaka "m" u 06 - odrediti kriterije
23 marc_leader('06','a');
24 marc_leader('07','m');
25 marc_leader('18','i');
26
27 # pojasniti upotrebu 19 lidera!
28
29 if ( rec('230') ) {
30 marc_leader('19','r');
31 }
32
33 ### 001 - Voyager
34
35 ### 003
36 # Pojasniti upotrebu polja
37
38 ### 007
39 # pojasniti upotrebu polja
40
41 marc_fixed('007',00,'ta');
42
43 ### 008 - All materials
44
45 # ¹to zapisati u polje kad datum nije poznat?
46
47 if ( rec('994','c') ) {
48 marc_fixed('008','00',
49 regex('s/^\d\d//',
50 rec('994','c')
51 ),
52 );
53 } else {
54 marc_fixed('008', 00,
55 '000101'
56 );
57 }
58
59 #warn( dump(
60 # regex('s/^\d\d//',
61 # rec('994','c')
62 # ),
63 #)
64 #);
65
66 marc_fixed('008','06', 't'); # 06 - Type of date/Publication status
67 marc_fixed('008','07',
68 rec('210','d')
69 ); # 07-10 - Date 1
70 # marc_fixed('008','11', ' '); # 11-14 - Date 2
71 marc_fixed('008','15',
72 lc ( rec('102') )
73 ); # 15-17 - Place of publication, production, or execution
74 marc_fixed('008','35',
75 first( lc(rec('101')) ) # 35-37 - Language
76 );
77 marc_fixed('008','38', '|'); # 38 - Modified record
78 marc_fixed('008','39','d'); # 39 - Cataloging source
79
80
81 ### 008 - Books
82
83 # 18-21 - Illustrations
84 # 22 - Target audience
85 # 23 - Form of item
86 # 24-27 - Nature of contents
87 # 28 - Government publication
88 # 29 - Conference publication
89 # 30 - Festschrift
90 # 31 - Index
91 # 32 - Undefined
92 # 33 - Literary form
93 # 34 - Biography
94
95
96 ### 020
97 # postoji modify -> drugi ISBN poèinje prefixom "ISBN" koji se mièe (sfb)
98
99 if ( frec('10') ne frec('290') ) {
100 marc('020','a',
101 regex('s/-//g',
102 rec('10')
103 )
104 );
105 }
106
107 #warn(
108 # dump(
109 # frec('10')
110 # ),
111 #);
112
113 ### 035$6
114 # Privemeno koristimo 035$6 umjesto 035$9, zato ¹to marclint prijavljuje 9 kao gre¹ku.
115 # marc 035a - System Number - Voyagerov ID (001)
116 # polje 035$9 mo¾e sadr¾avati slova i razmake
117
118 marc('035','6',
119 join_with('',
120 # config('input normalize path'),
121 # config('name'),
122 config(),
123 ' L',
124 # config('input name'),
125 # id(),
126 # rec('994','a'),
127 rec('000')
128 )
129 );
130
131 ### 040
132 # za sve je isti
133 # treba utvrditi toènu oznaku za ustanovu
134
135 marc('040','a',
136 'HR FFZG'
137 );
138
139 marc('040','b',
140 'hrv'
141 );
142
143 marc('040','e',
144 'HR PPIAK'
145 );
146
147
148 ### 041 - indikatori
149 #
150 # pretpostavke o indikatorima:
151 #
152 # 1. Ako postoji polje 300 i ono sadr¾i /Prijevod/ ili /Izv. stv. nasl./, i1 = 1
153 # (Da li je napomena uvijek pisana?)
154 #
155 # 2. Podatak o prevodiocu u 200g. Problem: razlièiti oblici rijeèi, razlièiti jezici.
156 #
157 # 3. Ako u UDK oznaci postoji "=", bez zagrada, onda je to prijevod
158 # (ako postoje zagrade pr. 94(=411.16) onda su to pomoæne oznake)
159 # pr. 821.111-2=163.42 je prijevod engleske drame na HR.
160 # to ima samo za knji¾evna djela, eseje....
161 # ????
162
163
164 #if ( rec('675') =~ m/\d=\d/ ) ??
165
166 if (
167 grep( m/[prijevod|prevedeno|izv.*stv.*nasl|izvornik]/i, rec('300') ) ||
168 grep( m/[preve|prijevod]/i, rec('200','f')) ||
169 grep( m/[preve|prijevod]/i, rec('200','g'))
170 ) {
171 marc_indicators('041', 1, ' ');
172 } else {
173 marc_indicators('041', 0, ' ');
174 }
175
176
177 ### 041
178 # ponovljivo polje konvertira se u ponovljivo potpolje
179
180 #_debug(2);
181
182 marc_repeatable_subfield('041','a',
183 map { lc($_) } rec('101')
184 );
185
186 #_debug(0);
187
188 ### 044
189 ## kako dobiti zemlju izdavanja?
190
191 ### 080
192 # 675 podpolja b, c, d ... - ¹to s njima ???
193
194 marc('080','a',
195 rec('675','a')
196 );
197
198 marc('080','a',
199 rec('675','b')
200 );
201
202 marc('080','a',
203 rec('675','c')
204 );
205
206 marc('080','a',
207 rec('675','d')
208 );
209
210
211 ### 084 - other classification (R)
212 # NSK ga koristi za struènu oznaku NSK iz polja 681
213 # NSK konvertira polje 686 u 084, u skladu s LOC konv. tablicom
214 # polje 686 koristi FFPS. jo¹ netko?
215
216 marc('084','a',
217 rec('686')
218 );
219
220 ### 100 indikatori
221
222 # I1 = 0 ako je pseudonim (ima 700a, nema 700b)
223
224 if ( rec('700','a') && ! rec('700','b') ) {
225 marc_indicators('100', 0, ' ');
226 } else {
227 marc_indicators('100', 1, ' ');
228 }
229
230 ### 100
231
232 marc('100','a',
233 join_with(', ',
234 rec('700', 'a'),
235 rec('700', 'b')
236 )
237 );
238
239
240 ### 111 i 110
241 # provjeriti ispise naslova iz svake baze - moguæe su gre¹ke.
242
243 # ovo vrijedi za FFSFB
244 if ( rec('710','d') || rec('710','e') || rec('710','f') ) {
245
246 marc_indicators('111', 2, ' ');
247
248 marc_compose('111',
249 'a', suffix(
250 rec('710','b') ? '.' :
251 '',
252 rec('710','a'),
253 ),
254 'e', rec('710','b'),
255 'n', prefix(
256 rec('710','d') ? '(' :
257 '',
258 rec('710','d')
259 ),
260 'd', prefix(
261 ( ! rec('710','d') ) ? '(' :
262 ( ! rec('710','e') ) ? '(' :
263 '; ',
264 rec('710','f'),
265 ),
266 'c', prefix(
267 ( rec('710','e') && ( rec('710','d') || rec('710','f') ) ) ? '; ' :
268 ( ! rec('710','d') && ! rec('710','f') ) ? '(' :
269 '',
270 rec('710','e'),
271 ),
272 '+',')',
273 );
274
275
276 } else {
277
278 marc_indicators('110', 2, ' ');
279
280 marc('110','a',
281 rec('710','a')
282 );
283
284 marc('110','b',
285 rec('710','b')
286 );
287
288 if ( rec('710','c') ) {
289 marc('110','c',
290 surround('(', ')', rec('710','c'))
291 );
292 }
293
294 }
295
296
297 ### 245 indikatori
298 # treba nadopuniti i dati podatke na verifikaciju knji¾nièarima
299
300 # i1 = 0 za anonimne publikacije, i1 = 1 ako postoji 700 ili 710
301 # i2 = pretpostavlja se na temelju èlana na poèetku naslova i jezika
302
303 my $i1;
304
305 if ( rec('700') || rec('710') ) {
306 $i1 = 1;
307
308 } else {
309 $i1 = 0;
310 }
311
312 marc_indicators('245', $i1, 0);
313
314 if ( ( rec('200','a') =~ m/^Die /) ||
315 ( rec('200','a') =~ m/^Das /) ||
316 ( rec('200','a') =~ m/^Der /) ||
317 ( rec('200','a') =~ m/^Les /) ||
318 ( rec('200','a') =~ m/^The /) ) {
319 marc_indicators('245', $i1, 4);
320
321 }
322
323 if ( ( rec('200','a') =~ m/^Un /) ||
324 ( rec('200','a') =~ m/^An /) ||
325 ( rec('200','a') =~ m/^La /) ||
326 ( rec('200','a') =~ m/^Le /) ||
327 ( rec('200','a') =~ m/^Il /) ) {
328 marc_indicators('245', $i1, 3);
329 }
330
331 if ( ( rec('200','a') =~ m/^A /) ||
332 ( rec('200','a') =~ m/^L'/) ) {
333 marc_indicators('245', $i1, 2);
334 }
335
336 ### 245
337 # podpolja i interpunkcije pripremljeni u modify
338
339 #_debug(3);
340
341 marc_compose('245',
342 'a', suffix(
343 ( ! ( rec('200','d') || rec('200','e') || rec('200','k') ) ) && ( rec('200','f') ) ? ' /' :
344 ( rec('200','d') ) ? ' =' :
345 ( rec('200','e') ) ? ' :' :
346 ( rec('200','k') ) ? ' ;' :
347 '',
348 rec('200','a'),
349 ),
350 'b', suffix(
351 ( rec('200','d') && rec('200','f') ) ? ' /' :
352 ( rec('200','d') && rec('200','c') ) ? '.' :
353 '',
354 rec('200','d'),
355 ),
356 'b', suffix(
357 ( rec('200','e') && rec('200','f') ) ? ' /' :
358 ( rec('200','e') && rec('200','c') ) ? '.' :
359 '',
360 rec('200','e'),
361 ),
362 'b', suffix(
363 ( rec('200','k') && rec('200','f') ) ? ' /' :
364 ( rec('200','k') && rec('200','c') ) ? '.' :
365 '',
366 rec('200','k'),
367 ),
368 'c', suffix(
369 ( rec('200','f') && rec('200','c') ) ? '.' :
370 '',
371 join_with(' ; ',
372 rec('200','f'),
373 rec('200','g')
374 )
375 ),
376 '+', suffix('.',
377 rec('200','c'),
378 ),
379 );
380
381 #marc_compose('245',
382 # 'a', suffix(
383 # ( ! rec('200','p') && ( rec('200','f') || rec('200','c') ) ) ? ' / ' :
384 # ( ! rec('200','p') && rec('200','c') ) ? ' : ' :
385 # '',
386 # rec('200','a'),
387 # ),
388 # 'b', suffix(
389 # ( rec('200','p') && rec('200','f') ) ? ' / ' :
390 # ( rec('200','p') && rec('200','c') ) ? '. ' :
391 # '',
392 # rec('200','p'),
393 # ),
394 # 'c', suffix(
395 # ( rec('200','f') && rec('200','c') ) ? '. ' :
396 # '',
397 # rec('200','f'),
398 # ),
399 # '+', rec('200','c'),
400 #);
401
402 #_debug(0);
403
404 #marc_compose('245',
405 # 'a', suffix(
406 # rec('200','b') ? '. ' :
407 # rec('200','k') ? ' ; ' :
408 # rec('200','d') ? ' = ' :
409 # rec('200','e') ? ' : ' :
410 # rec('200','f') ? ' / ' :
411 # '.',
412 # rec('200','a')
413 # ),
414 ## 'h', rec('200','b'),
415 # 'b', suffix(
416 # ( rec('200','k') && rec('200','f') ) ? ' / ' :
417 # ' ',
418 # join_with(' ; ',
419 # rec('200','k'),
420 # ),
421 # ),
422 # 'b', suffix(
423 # ( rec('200','d') && rec('200','f') ) ? ' / ' :
424 # ' ',
425 # rec('200','d'),
426 # ),
427 # 'b', suffix(
428 # ( rec('200','e') && rec('200','f') ) ? ' / ' :
429 # ' ',
430 # join_with(' : ',
431 # rec('200','e'),
432 # ),
433 # ),
434 # 'c', rec('200','f'),
435 ## append to last subfield
436 # '+', prefix('. ',
437 # rec('200','c')
438 # ),
439 #);
440
441
442 ### 250
443 # zapisima koji nemaju potpolje, dodaje se ^a u modify - provjeriti
444
445 marc_compose('250',
446 'a',suffix(
447 rec('205','f') ? ' / ' :
448 ' ',
449 rec('205','a')
450 ),
451 'b', rec('205','f'),
452 );
453
454 ### 260
455 # ponovljiva potpolja u originalnom redosljedu
456
457 marc_original_order('260', '210');
458
459
460 ### 300
461 # urediti interpunkcije za sve kombinacije
462
463 marc('300','a',
464 suffix(
465 rec('215','c') ? ' : ' :
466 rec('215','d') ? ' ; ' :
467 rec('215','e') ? ' + ' :
468 ' ',
469 rec('215','a')
470 )
471 );
472
473 marc('300','b',
474 suffix(
475 ( rec('215','c') && rec('215','d') ) ? ' ; ' :
476 ( rec('215','c') && rec('215','e') ) ? ' + ' :
477 ' ',
478 rec('215','c')
479 )
480 );
481
482 marc('300','c',
483 suffix(
484 rec('215','e') ? ' + ' :
485 ' ',
486 rec('215','d')
487 )
488 );
489
490 marc('300','e',
491 rec('215','e')
492 );
493
494 ### 362
495 # brojèani podaci za nakladnièku cjelinu
496 # ???
497
498 ### 440 - indikatori
499 # 2.ind. prema jeziku i èlanu, provjeriri
500
501 marc_indicators('440', ' ', '0');
502
503 if ( ( rec('225','a') =~ m/^Die /) ||
504 ( rec('225','a') =~ m/^Das /) ||
505 ( rec('225','a') =~ m/^The /) ) {
506 marc_indicators('440', ' ', 4);
507 }
508
509 if ( ( rec('225','a') =~ m/^A /) && ( rec(101) =~ m/ENG/ ) ) {
510 marc_indicators('440', ' ', 2);
511 }
512
513 if ( ( rec('225','a') =~ m/^An /) && ( rec(101) =~ m/ENG/ ) ) {
514 marc_indicators('440', ' ', 2);
515 }
516
517 #_debug(3);
518
519 ### 440
520 ## marc_compose radi samo kad polje ni potpolja nisu ponovljivi
521
522 marc_compose('440',
523 'a', suffix(
524 ( rec('225','v') ) ? ' ;' :
525 ( rec('225','w') ) ? ' ; ' :
526 ( rec('225','x') ) ? ',' :
527 ( rec('225','h') || rec('225','i') ) ? '.' :
528 '.',
529 frec('225','a')
530 ),
531 'x',suffix(
532 ( rec('225','x') && ( rec('225','h') || rec('225','i') ) ) ? '.' :
533 '',
534 frec('225','x')
535 ),
536 'v',suffix(
537 ( rec('225','v') && ( rec('225','h') || rec('225','i') ) ) ? '.' :
538 ( rec('225','v') && rec('225','w') ) ? ' ; ' :
539 '',
540 frec('225','v')
541 ),
542 'n',suffix(
543 ( rec('225','h') && rec('225','i') ) ? ',' :
544 ( rec('225','h') && rec('225','w') ) ? ' ; ' :
545 '',
546 frec('225','h')
547 ),
548 'p',suffix(
549 ( rec('225','i') && rec('225','w') ) ? ' ; ' :
550 ( rec('225','i') && rec('225','x') ) ? ',' :
551 '',
552 frec('225','i')
553 ),
554 ## 225w treba ici u 440v, na kraj
555 '+', join_with(' ; ',
556 rec('225','w'),
557 )
558 );
559
560
561 #marc_original_order('440','225');
562
563 #marc_compose('440',
564 # 'a', suffix(
565 # rec('225','i') ? '. ' :
566 # '',
567 # rec('225','a'),
568 # ),
569 # 'p', suffix(
570 # ( ! rec('225','x') && rec('225','i') && rec('225','v') ) ? ' ; ' :
571 # ( rec('225','i') && rec('225','x') ) ? ', ' :
572 # '',
573 # rec('225','i'),
574 # ),
575 # 'x', suffix(
576 # ( rec('225','x') && rec('225','v') ) ? ' ; ' :
577 # '',
578 # rec('225','x'),
579 # ),
580 # 'v', rec('225','v'),
581 #);
582
583 ## ovo radi samo kad 225 nije ponovljivo
584
585 #if (
586 # count( lookup(
587 # sub { 1 },
588 # 'ffps','libri',
589 # sub { rec('225','a') }
590 # ) ) > 1
591 #) {
592
593 #marc_compose('440',
594 # 'a', suffix(
595 # ( rec('225','x') ) ? ', ' :
596 # ( rec('225','v') || rec('225','w') ) ? ' ; ' :
597 # ( rec('225','h') || rec('225','i') ) ? '. ' :
598 # '',
599 # join_with(' / ',
600 # join_with(' : ',
601 # join_with(' = ',
602 # rec('225','a'),
603 # rec('225','d'),
604 # ),
605 # rec('225','e'),
606 # ),
607 # rec('225','f'),
608 # ),
609 # ),
610 # 'x', suffix(
611 # ( rec('225','x') && rec('225','v') ) ? ' ; ' :
612 # ( rec('225','x') && ( rec('225','h') || rec('225','i') ) ) ? '. ' :
613 # '',
614 # rec('225','x'),
615 # ),
616 # 'v', suffix(
617 # ( rec('225','v') && rec('225','h') || rec('225','i') ) ? '. ' :
618 # '',
619 # join_with('; ',
620 # rec('225','v'),
621 # )
622 # ),
623 # 'n', suffix(
624 # ( rec('225','h') && rec('225','p') || rec('225','y') ) ? ', ' :
625 # '',
626 # rec('225','h'),
627 # ),
628 # 'p', suffix(
629 # ( rec('225','i') && rec('225','x') ) ? ', ' :
630 # ( rec('225','i') && rec('225','v') ) ? ' ; ' :
631 # '',
632 # rec('225','i'),
633 # ),
634 # 'x', suffix(
635 # ( rec('225','y') && rec('225','v') ) ? ' ; ' :
636 # '',
637 # rec('225','y'),
638 # ),
639 # 'v', rec('225','w'),
640 # );
641 #
642 # marc_compose('440',
643 # 'a', suffix(
644 # rec('225','k') ? ' ; ' :
645 # '',
646 # join_with(' / ',
647 # rec('225','b'),
648 # rec('225','j')
649 # ),
650 # ),
651 # 'v',
652 # rec('225','k'),
653 # );
654 #
655 #
656 # marc_compose('440',
657 # 'a', suffix(
658 # rec('225','s') ? ' ; ' :
659 # '',
660 # join_with(' / ',
661 # rec('225','c'),
662 # rec('225','r')
663 # ),
664 # ),
665 # 'v',
666 # rec('225','s'),
667 # );
668
669 #}
670
671 #if ( rec('225','i') ) {
672 # marc('440','p',
673 # prefix('. ',
674 # rec('225','i')
675 # ),
676 # );
677 #}
678 #
679 #if ( rec('225','v') ) {
680 # marc('440','v',
681 # prefix(' ; ',
682 # rec('225','v'),
683 # ),
684 # );
685 #}
686
687 #_debug(0);
688
689
690 ### 50x
691
692 marc('500','a',
693 rec('300')
694 );
695
696 marc('500','a',
697 rec('305')
698 );
699
700 marc('500','a',
701 rec('307')
702 );
703
704 marc('500','a',
705 rec('314')
706 );
707
708 ### 502 - bilje¹ka o disertacijama
709 # odgovarajuæeg polja nema u originalnim podacima. mo¾da se mo¾e pretpostaviti?
710
711 ### 504
712
713 marc('504','a',
714 rec('320')
715 );
716
717 ## napomene uz konverziju polja 327 (sadrzaj):
718 # NSK konvertira 327 (NP) u 501 (R)
719 # u LOC konv. tablici stoji 327 (NP) u 505 (NR)
720 # standard i validacije dopu¹taju 501 (R) i 505 (R)
721
722 ## 505
723 # FFPS 327 - sadrzaj
724
725 if ( config() =~ m/ffps/ || config() =~ m/fftu/ ) {
726 marc_indicators('505', '0', ' ');
727 marc('505','a',
728 regex('s/\s*[\\r\\n]+\s*\**\s*/ ; /g',
729 rec('327')
730 )
731 );
732 }
733
734 if ( config() =~ m/ffan/ ) {
735 marc_indicators('505', '0', ' ');
736 marc('505','a',
737 regex('s/[<>]//g',
738 rec('330')
739 )
740 );
741 }
742
743
744 # NSK konvertira 330 (P) u 520 (P) = LOC konv. tablica
745
746
747 ### 520
748 # mo¾da i polje 520y - jezik napomene ako je uvijek isti jezik?
749
750 # FFPS 330 (NP) - sa¾etak
751 if ( config() =~ m/ffps/ ) {
752 marc('520','a',
753 regex('s/[\\r\\n]+/. /g',
754 rec('330')
755 )
756 );
757 }
758
759 ### 526 - STUDY PROGRAM INFORMATION NOTE
760 # provjeriti za svaku bazu sta je tocno u 996?
761
762 marc_indicators('526', 8, ' ');
763
764 marc('526','a',
765 rec('996')
766 );
767
768 ### 538 - zahtjevi sustava
769
770 marc('538','a',
771 rec('337','a')
772 );
773
774
775 ### 246
776
777 marc_indicators('246', 1, 3);
778 marc('246','a',
779 rec('532')
780 );
781
782 ### 655
783
784 marc_indicators('655', ' ', 4);
785 marc('655','a',
786 rec('608')
787 );
788
789 ### 653
790
791 marc_indicators('653', 0, ' ');
792 marc('653','a',
793 rec('610')
794 );
795
796 #_debug(2);
797
798
799 ### 700
800
801 marc_indicators('700', 1, ' ');
802
803 if ( rec('701') ) {
804 marc('700','4',
805 'aut'
806 );
807 }
808
809 marc('700','a',
810 join_with(', ',
811 rec('701', 'a'),
812 rec('701', 'b')
813 )
814 );
815
816 marc('700','a',
817 join_with(', ',
818 rec('701', 'c'),
819 rec('701', 'd')
820 )
821 );
822
823 marc('700','a',
824 join_with(', ',
825 rec('701', 'e'),
826 rec('701', 'f')
827 )
828 );
829
830 marc('700','a',
831 join_with(', ',
832 rec('701', 'g'),
833 rec('701', 'h')
834 )
835 );
836
837
838 marc('700','a',
839 join_with(', ',
840 rec('702', 'a'),
841 rec('702', 'b')
842 )
843 );
844
845
846 # ako je u originalu ponovljivo polje treba biti i konvertirano u ponovljivo !!
847
848
849 marc('700','a',
850 join_with(', ',
851 rec('702','c'),
852 rec('702','d')
853 )
854 );
855
856 marc('700','a',
857 join_with(', ',
858 rec('702','e'),
859 rec('702','f')
860 )
861 );
862
863 marc('700','a',
864 join_with(', ',
865 rec('702','g'),
866 rec('702','h')
867 )
868 );
869
870 #_debug(0);
871
872
873 ### 740
874
875 marc_indicators('740', 0, ' ');
876
877 # if ( ! rec('464') ) {
878 # marc('740','a',
879 # rec('200','c')
880 # );
881
882 marc('740','a',
883 rec('200','k')
884 );
885
886 # } else {
887
888 #marc('740','a',
889 # rec('464','a')
890 #);
891
892 # };
893
894 # generiranje zapisa o nakladnièkoj cjelini i povezivanje podreðenog zapisa s nadreðenim
895
896 if (
897 rec('225','a') # da li je nakladnièka cjelina?
898 ) {
899
900 my $series_key =
901 join_with('',
902 rec('225','a'),
903 rec('210','a'),
904 rec('210','b'),
905 );
906
907 my $series = get( $series_key );
908
909 if ($series) {
910 warn "nije novi";
911 } else {
912
913 $series = join_with('',
914 uc( config() ),
915 ' LS',
916 rec('000')
917 );
918
919 set( $series_key => $series );
920
921 } # $series
922 } # nakladnièka cjelina
923
924 my $series_key = join_with('',
925 rec('225','a'),
926 rec('210','a'),
927 rec('210','b'),
928 );
929
930 if ($series_key) {
931
932 marc_indicators('760', 0, ' ');
933
934 marc('760','w',
935 get( $series_key )
936 );
937 }
938 ### testing
939 #
940 # my $dup_key = join_with('',
941 # rec('200','a'),
942 #);
943 #
944 #if ($dup_key) {
945 # marc('995','a',
946 # get( $dup_key )
947 # );
948 #}
949 #
950 #
951 # marc_indicators('776', 0, ' ');
952 #
953 # marc('776','a',
954 # rec('452','1')
955 # );
956 #
957
958
959 ### 852 - lokacija
960
961 marc_indicators('852', 4, ' ');
962
963 marc('852','j',
964 join_with(' ',
965 rec('990')
966 )
967 );
968
969 ### 876 - item information - basic bibliographic unit
970
971 marc('876','a',
972 rec('991'),
973 );
974
975 ### 886 - former marc
976
977 marc_indicators('886', 2, ' ');
978
979 marc('886','2',
980 'ffmarc'
981 );
982
983 marc('886','a',
984 '994'
985 );
986
987 marc('886','b',
988 join_with(''.
989 '##^a',
990 join_with('',
991 prefix('^a',
992 rec('994','a'),
993 ),
994 prefix('^b',
995 rec('994','b')
996 )
997 )
998 )
999 );
1000
1001
1002 } # polje 200a

  ViewVC Help
Powered by ViewVC 1.1.26