/[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 1042 - (hide annotations)
Mon Nov 12 12:22:21 2007 UTC (16 years, 6 months ago) by dpavlin
File MIME type: text/plain
File size: 14115 byte(s)
local

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

  ViewVC Help
Powered by ViewVC 1.1.26