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