/[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 1064 - (hide annotations)
Tue Nov 27 21:02:15 2007 UTC (16 years, 5 months ago) by dpavlin
File MIME type: text/plain
File size: 14158 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 dpavlin 1064 if ( rec('999') && rec('999','a') =~ 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 dpavlin 1064 # regex('s/\(\d\)\(/$1 \(//g',
122 dpavlin 1010 rec('10')
123     )
124     );
125     }
126 dpavlin 876
127 dpavlin 1010 #warn(
128     # dump(
129     # frec('10')
130     # ),
131     #);
132 dpavlin 876
133 dpavlin 792 ### 035$6
134 dpavlin 1042 ## Privemeno koristimo 035$6 umjesto 035$9, zato ¹to marclint prijavljuje 9 kao gre¹ku.
135     ## marc 035a - System Number - Voyagerov ID (001)
136     ## polje 035$9 mo¾e sadr¾avati slova i razmake
137 dpavlin 792
138 dpavlin 751 marc('035','6',
139 dpavlin 824 join_with('',
140 dpavlin 751 # config('input normalize path'),
141     # config('name'),
142 dpavlin 758 config(),
143 dpavlin 876 ' L',
144 dpavlin 751 # config('input name'),
145     # id(),
146     # rec('994','a'),
147     rec('000')
148     )
149     );
150    
151 dpavlin 792 ### 040
152 dpavlin 1042 ## za sve je isti
153     ## treba utvrditi toènu oznaku za ustanovu
154 dpavlin 792
155 dpavlin 751 marc('040','a',
156     'HR FFZG'
157     );
158    
159     marc('040','b',
160     'hrv'
161     );
162    
163 dpavlin 758 marc('040','e',
164     'HR PPIAK'
165     );
166    
167 dpavlin 792
168 dpavlin 905 ### 041 - indikatori
169 dpavlin 1042 ## pretpostavke o indikatorima
170     ## 1. Ako postoji polje 300 i ono sadr¾i /Prijevod/ ili /Izv. stv. nasl./, i1 = 1
171     ## (Da li je napomena uvijek pisana?)
172     ## 2. Podatak o prevodiocu u 200g. Problem: razlièiti oblici rijeèi, razlièiti jezici.
173     ## 3. Ako u UDK oznaci postoji "=", bez zagrada, onda je to prijevod
174     ## (ako postoje zagrade pr. 94(=411.16) onda su to pomoæne oznake)
175     ## pr. 821.111-2=163.42 je prijevod engleske drame na HR.
176     ## to ima samo za knji¾evna djela, eseje....
177     ## ????
178 dpavlin 792
179 dpavlin 1010 #if ( rec('675') =~ m/\d=\d/ ) ??
180    
181     if (
182     grep( m/[prijevod|prevedeno|izv.*stv.*nasl|izvornik]/i, rec('300') ) ||
183     grep( m/[preve|prijevod]/i, rec('200','f')) ||
184     grep( m/[preve|prijevod]/i, rec('200','g'))
185     ) {
186 dpavlin 751 marc_indicators('041', 1, ' ');
187     } else {
188     marc_indicators('041', 0, ' ');
189     }
190    
191 dpavlin 792 ### 041
192 dpavlin 1042 ## ponovljivo polje (101) konvertira se u ponovljivo potpolje (041a)
193 dpavlin 792
194 dpavlin 783 #_debug(2);
195 dpavlin 903
196 dpavlin 751 marc_repeatable_subfield('041','a',
197 dpavlin 1010 map { lc($_) } rec('101')
198 dpavlin 751 );
199 dpavlin 903
200 dpavlin 783 #_debug(0);
201 dpavlin 751
202 dpavlin 876 ### 044
203 dpavlin 905 ## kako dobiti zemlju izdavanja?
204 dpavlin 751
205 dpavlin 792 ### 080
206 dpavlin 1042 ## 675 podpolja b, c, d ... - ¹to s njima? - provjeriti za svaku bazu
207 dpavlin 783
208 dpavlin 792 marc('080','a',
209     rec('675','a')
210     );
211    
212 dpavlin 876 marc('080','a',
213     rec('675','b')
214     );
215 dpavlin 792
216 dpavlin 876 marc('080','a',
217     rec('675','c')
218     );
219    
220     marc('080','a',
221     rec('675','d')
222     );
223    
224    
225 dpavlin 792 ### 084 - other classification (R)
226 dpavlin 1042 ## NSK ga koristi za struènu oznaku NSK iz polja 681
227     ## NSK konvertira polje 686 u 084, u skladu s LOC konv. tablicom
228     ## polje 686 koristi FFPS. jo¹ netko?
229 dpavlin 792
230     marc('084','a',
231     rec('686')
232     );
233    
234 dpavlin 1042 ### 100
235     ## I1 = 0 ako je pseudonim (ima 700a, nema 700b)
236 dpavlin 903
237 dpavlin 807 if ( rec('700','a') && ! rec('700','b') ) {
238     marc_indicators('100', 0, ' ');
239     } else {
240     marc_indicators('100', 1, ' ');
241     }
242    
243 dpavlin 792 marc('100','a',
244     join_with(', ',
245     rec('700', 'a'),
246     rec('700', 'b')
247     )
248     );
249    
250    
251     ### 111 i 110
252 dpavlin 1042 ## konverzija u 110 ili 111 ovisno o postojanju/nepostojanju nekih polja - provjeriti ispise naslova iz svake baze - moguæe su gre¹ke.
253 dpavlin 905
254 dpavlin 802 # ovo vrijedi za FFSFB
255 dpavlin 876 if ( rec('710','d') || rec('710','e') || rec('710','f') ) {
256 dpavlin 792
257     marc_indicators('111', 2, ' ');
258    
259 dpavlin 802 marc_compose('111',
260 dpavlin 876 'a', suffix(
261     rec('710','b') ? '.' :
262     '',
263     rec('710','a'),
264     ),
265 dpavlin 802 'e', rec('710','b'),
266 dpavlin 876 'n', prefix(
267     rec('710','d') ? '(' :
268     '',
269     rec('710','d')
270     ),
271     'd', prefix(
272     ( ! rec('710','d') ) ? '(' :
273     ( ! rec('710','e') ) ? '(' :
274     '; ',
275     rec('710','f'),
276     ),
277     'c', prefix(
278     ( rec('710','e') && ( rec('710','d') || rec('710','f') ) ) ? '; ' :
279     ( ! rec('710','d') && ! rec('710','f') ) ? '(' :
280     '',
281     rec('710','e'),
282     ),
283     '+',')',
284 dpavlin 792 );
285    
286    
287     } else {
288    
289     marc_indicators('110', 2, ' ');
290 dpavlin 876
291 dpavlin 792 marc('110','a',
292     rec('710','a')
293     );
294    
295 dpavlin 876 marc('110','b',
296     rec('710','b')
297     );
298 dpavlin 792
299 dpavlin 903 if ( rec('710','c') ) {
300     marc('110','c',
301     surround('(', ')', rec('710','c'))
302     );
303     }
304    
305 dpavlin 802 }
306 dpavlin 792
307    
308 dpavlin 905 ### 245 indikatori
309 dpavlin 1042 ## i1 = 0 za anonimne publikacije, i1 = 1 ako postoji 700 ili 710
310     ## i2 = pretpostavlja se na temelju èlana na poèetku naslova i jezika
311     ## treba provjeriti
312 dpavlin 903
313 dpavlin 816 my $i1;
314 dpavlin 792
315 dpavlin 816 if ( rec('700') || rec('710') ) {
316     $i1 = 1;
317    
318     } else {
319     $i1 = 0;
320     }
321    
322     marc_indicators('245', $i1, 0);
323    
324 dpavlin 1064 if ( rec('200','a') =~ m/^Einen / ) {
325     marc_indicators('245', $i1, 6);
326     }
327 dpavlin 1010
328 dpavlin 1064 if ( rec('200','a') =~ m/^Eine / ) {
329     marc_indicators('245', $i1, 5);
330 dpavlin 783 }
331 dpavlin 751
332 dpavlin 1064 if ( rec('200','a') =~ m/^(Die|Das|Der|Ein|Les|The) / ) {
333     marc_indicators('245', $i1, 4);
334     }
335    
336     if ( rec('200','a') =~ m/^(Um|Un|An|La|Le|Il) / ) {
337 dpavlin 1010 marc_indicators('245', $i1, 3);
338 dpavlin 783 }
339    
340 dpavlin 1064 if ( rec('200','a') =~ m/^(A|L') / ) {
341 dpavlin 816 marc_indicators('245', $i1, 2);
342 dpavlin 807 }
343    
344 dpavlin 1064
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 1064 '.',
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 1064 '',
427 dpavlin 751 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 1064 '',
436 dpavlin 751 rec('215','c')
437     )
438     );
439    
440     marc('300','c',
441     suffix(
442     rec('215','e') ? ' + ' :
443 dpavlin 1064 '',
444 dpavlin 751 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 1064 ## 2.ind. prema jeziku i èlanu, provjeriti
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 dpavlin 1064 marc_indicators('440', ' ', 3);
471 dpavlin 816 }
472    
473 dpavlin 824 #_debug(3);
474    
475 dpavlin 905 ### 440
476    
477 dpavlin 1020 marc_template(
478     from => 225, to => 440,
479     subfields_rename => [
480     'a' => 'a',
481     'x' => 'x',
482     'v' => 'v',
483     'h' => 'n',
484     'i' => 'p',
485     'w' => 'v',
486     ],
487 dpavlin 1042 isis_template => [
488 dpavlin 1064 'a.|h,|i ;|w',
489     'a.|h.|w',
490     'a.|i ;|w',
491     'a ;|v.|i',
492 dpavlin 1042 'a ;|v.|i ;|w',
493 dpavlin 1064 'a ;|v.|h,|i ;|w',
494     'a ;|v.|h ;|w',
495     'a ;|v ;|w',
496     #mozda greska:
497     'a ;|v,|x ;|w',
498     'a,|x ;|v',
499     'a,|x.|p ;|w',
500 dpavlin 1042 ],
501 dpavlin 1020 marc_template => [
502     'a',
503 dpavlin 1064 'a ;|v',
504     'a,|x',
505     'a.|n', # mozda greska
506     'a.|n,|p',
507     'a.|p',
508     'a ;|v.|n',
509     'a ;|v.|n,|p', # mozda greska
510 dpavlin 1020 'v',
511 dpavlin 1064 'x',
512 dpavlin 1020 ],
513 dpavlin 1010 );
514 dpavlin 751
515 dpavlin 1010
516 dpavlin 1064 ## marc_compose za 440 radi samo kad polje ni potpolja nisu ponovljiva. ne zapisuje dobro drugo pojavljivanje ^v, tj. ^v iza ^p (iz 225^w)
517    
518 dpavlin 876 #marc_compose('440',
519     # 'a', suffix(
520 dpavlin 1020 # ( rec('225','v') ) ? ' ;' :
521     # ( rec('225','w') ) ? ' ; ' :
522     # ( rec('225','x') ) ? ',' :
523     # ( rec('225','h') || rec('225','i') ) ? '.' :
524     # '.',
525     # frec('225','a')
526     # ),
527     # 'x',suffix(
528     # ( rec('225','x') && ( rec('225','h') || rec('225','i') ) ) ? '.' :
529 dpavlin 876 # '',
530 dpavlin 1020 # frec('225','x')
531 dpavlin 824 # ),
532 dpavlin 1020 # 'v',suffix(
533     # ( rec('225','v') && ( rec('225','h') || rec('225','i') ) ) ? '.' :
534     # ( rec('225','v') && rec('225','w') ) ? ' ; ' :
535 dpavlin 876 # '',
536 dpavlin 1020 # frec('225','v')
537 dpavlin 876 # ),
538 dpavlin 1020 # 'n',suffix(
539     # ( rec('225','h') && rec('225','i') ) ? ',' :
540     # ( rec('225','h') && rec('225','w') ) ? ' ; ' :
541 dpavlin 876 # '',
542 dpavlin 1020 # frec('225','h')
543 dpavlin 876 # ),
544 dpavlin 1020 # 'p',suffix(
545     # ( rec('225','i') && rec('225','w') ) ? ' ; ' :
546     # ( rec('225','i') && rec('225','x') ) ? ',' :
547     # '',
548     # frec('225','i')
549     # ),
550 dpavlin 1042 ## 225w treba ici u 440v, na kraj
551 dpavlin 1020 # '+', join_with(' ; ',
552     # rec('225','w'),
553     # )
554 dpavlin 876 #);
555 dpavlin 824
556 dpavlin 1020 #marc_original_order('440','225');
557 dpavlin 824
558 dpavlin 1020
559 dpavlin 876 #if (
560     # count( lookup(
561     # sub { 1 },
562     # 'ffps','libri',
563     # sub { rec('225','a') }
564     # ) ) > 1
565     #) {
566 dpavlin 783
567    
568 dpavlin 876 #_debug(0);
569 dpavlin 792
570 dpavlin 751
571 dpavlin 1042 ### 500
572 dpavlin 792
573 dpavlin 751 marc('500','a',
574     rec('300')
575     );
576    
577     marc('500','a',
578 dpavlin 773 rec('305')
579     );
580    
581     marc('500','a',
582     rec('307')
583     );
584    
585     marc('500','a',
586 dpavlin 751 rec('314')
587     );
588    
589 dpavlin 795 ### 502 - bilje¹ka o disertacijama
590 dpavlin 1042 ## odgovarajuæeg polja nema u originalnim podacima. mo¾da se mo¾e pretpostaviti?
591 dpavlin 795
592 dpavlin 792 ### 504
593    
594 dpavlin 751 marc('504','a',
595     rec('320')
596     );
597    
598 dpavlin 1042 ### 505
599     ## FFPS 327 - sadrzaj
600     ## NSK konvertira 327 (NP) u 501 (R)
601     ## u LOC konv. tablici stoji 327 (NP) u 505 (NR)
602     ## standard i validacije dopu¹taju 501 (R) i 505 (R)
603 dpavlin 751
604 dpavlin 758 if ( config() =~ m/ffps/ || config() =~ m/fftu/ ) {
605 dpavlin 773 marc_indicators('505', '0', ' ');
606 dpavlin 758 marc('505','a',
607     regex('s/\s*[\\r\\n]+\s*\**\s*/ ; /g',
608     rec('327')
609     )
610     );
611     }
612 dpavlin 751
613 dpavlin 816 if ( config() =~ m/ffan/ ) {
614     marc_indicators('505', '0', ' ');
615     marc('505','a',
616     regex('s/[<>]//g',
617     rec('330')
618     )
619     );
620     }
621 dpavlin 751
622 dpavlin 792
623 dpavlin 751
624    
625 dpavlin 792 ### 520
626 dpavlin 1042 ## NSK konvertira 330 (P) u 520 (P) = LOC konv. tablica
627     ## FFPS 330 (NP) - sa¾etak
628 dpavlin 792
629 dpavlin 758 if ( config() =~ m/ffps/ ) {
630     marc('520','a',
631     regex('s/[\\r\\n]+/. /g',
632     rec('330')
633     )
634     );
635     }
636 dpavlin 751
637 dpavlin 816 ### 526 - STUDY PROGRAM INFORMATION NOTE
638 dpavlin 1042 ## provjeriti za svaku bazu sta je u 996?
639 dpavlin 751
640 dpavlin 816 marc_indicators('526', 8, ' ');
641 dpavlin 792
642 dpavlin 816 marc('526','a',
643     rec('996')
644     );
645 dpavlin 792
646 dpavlin 816 ### 538 - zahtjevi sustava
647    
648 dpavlin 773 marc('538','a',
649     rec('337','a')
650     );
651 dpavlin 758
652 dpavlin 792 ### 655
653    
654 dpavlin 751 marc_indicators('655', ' ', 4);
655     marc('655','a',
656     rec('608')
657     );
658    
659 dpavlin 792 ### 653
660    
661 dpavlin 758 marc_indicators('653', 0, ' ');
662 dpavlin 751 marc('653','a',
663     rec('610')
664     );
665    
666 dpavlin 792 #_debug(2);
667 dpavlin 751
668    
669 dpavlin 792 ### 700
670 dpavlin 1042 ## ako je u originalu ponovljivo polje treba biti i konvertirano u ponovljivo !!
671 dpavlin 751
672     marc_indicators('700', 1, ' ');
673    
674     if ( rec('701') ) {
675     marc('700','4',
676     'aut'
677     );
678     }
679    
680     marc('700','a',
681 dpavlin 758 join_with(', ',
682     rec('701', 'a'),
683     rec('701', 'b')
684     )
685 dpavlin 751 );
686    
687     marc('700','a',
688     join_with(', ',
689     rec('701', 'c'),
690     rec('701', 'd')
691     )
692     );
693    
694     marc('700','a',
695     join_with(', ',
696     rec('701', 'e'),
697     rec('701', 'f')
698     )
699     );
700    
701     marc('700','a',
702     join_with(', ',
703     rec('701', 'g'),
704     rec('701', 'h')
705     )
706     );
707    
708    
709     marc('700','a',
710 dpavlin 876 join_with(', ',
711     rec('702', 'a'),
712     rec('702', 'b')
713     )
714 dpavlin 751 );
715    
716     marc('700','a',
717     join_with(', ',
718     rec('702','c'),
719     rec('702','d')
720     )
721     );
722    
723     marc('700','a',
724     join_with(', ',
725     rec('702','e'),
726     rec('702','f')
727     )
728     );
729    
730     marc('700','a',
731     join_with(', ',
732     rec('702','g'),
733     rec('702','h')
734     )
735     );
736    
737     #_debug(0);
738    
739    
740 dpavlin 1042 ### 740 - nadopuniti
741 dpavlin 751
742 dpavlin 792 marc_indicators('740', 0, ' ');
743 dpavlin 751
744 dpavlin 792 # if ( ! rec('464') ) {
745     # marc('740','a',
746     # rec('200','c')
747     # );
748 dpavlin 751
749 dpavlin 807 marc('740','a',
750     rec('200','k')
751     );
752 dpavlin 751
753 dpavlin 792 # } else {
754 dpavlin 751
755 dpavlin 792 #marc('740','a',
756     # rec('464','a')
757     #);
758 dpavlin 751
759 dpavlin 792 # };
760 dpavlin 751
761    
762 dpavlin 1042 ### 760 w
763     ## generiranje zapisa o nakladnièkoj cjelini i povezivanje podreðenog zapisa s nadreðenim
764    
765 dpavlin 1064 #if (
766     # rec('225','a') # da li je nakladnièka cjelina?
767     #) {
768     #
769     #my $series_key =
770     #join_with('',
771     # rec('225','a'),
772     # rec('210','a'),
773     # rec('210','b'),
774     #);
775     #
776     #my $series = get( $series_key );
777     #
778     #if ($series) {
779     # warn "nije novi";
780     #} else {
781     #
782     #$series = join_with('',
783     # uc( config() ),
784     # ' LS',
785     # rec('000')
786     #);
787     #
788     #set( $series_key => $series );
789     #
790     #} # $series
791     #} # nakladnièka cjelina
792     #
793     #my $series_key = join_with('',
794     # rec('225','a'),
795     # rec('210','a'),
796     # rec('210','b'),
797     #);
798     #
799     #if ($series_key) {
800     #
801     # marc_indicators('760', 0, ' ');
802     #
803     # marc('760','w',
804     # get( $series_key )
805     # );
806     #}
807 dpavlin 751
808 dpavlin 1042 # ## testing
809 dpavlin 792 #
810     # my $dup_key = join_with('',
811     # rec('200','a'),
812     #);
813     #
814     #if ($dup_key) {
815     # marc('995','a',
816     # get( $dup_key )
817     # );
818     #}
819     #
820     #
821     # marc_indicators('776', 0, ' ');
822     #
823     # marc('776','a',
824     # rec('452','1')
825     # );
826     #
827 dpavlin 751
828    
829 dpavlin 1042 ### 852 - signatura
830 dpavlin 783
831 dpavlin 816 marc_indicators('852', 4, ' ');
832 dpavlin 773
833 dpavlin 816 marc('852','j',
834     join_with(' ',
835     rec('990')
836     )
837     );
838 dpavlin 783
839 dpavlin 903 ### 876 - item information - basic bibliographic unit
840 dpavlin 783
841 dpavlin 816 marc('876','a',
842     rec('991'),
843     );
844 dpavlin 783
845 dpavlin 903 ### 886 - former marc
846 dpavlin 783
847 dpavlin 816 marc_indicators('886', 2, ' ');
848 dpavlin 783
849 dpavlin 816 marc('886','2',
850     'ffmarc'
851     );
852 dpavlin 792
853 dpavlin 816 marc('886','a',
854     '994'
855     );
856 dpavlin 792
857 dpavlin 816 marc('886','b',
858     join_with(''.
859     '##^a',
860     join_with('',
861     prefix('^a',
862     rec('994','a'),
863     ),
864     prefix('^b',
865     rec('994','b')
866     )
867     )
868     )
869     );
870 dpavlin 792
871    
872 dpavlin 795 } # polje 200a

  ViewVC Help
Powered by ViewVC 1.1.26