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

  ViewVC Help
Powered by ViewVC 1.1.26