/[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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 876 - (hide annotations)
Thu Aug 23 19:21:23 2007 UTC (16 years, 8 months ago) by dpavlin
File MIME type: text/plain
File size: 15096 byte(s)
local changes

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

  ViewVC Help
Powered by ViewVC 1.1.26