/[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 1112 - (hide annotations)
Sat Sep 6 10:54:35 2008 UTC (15 years, 9 months ago) by dpavlin
File MIME type: text/plain
File size: 24829 byte(s)
local
1 dpavlin 795
2 dpavlin 1095 # Ova datoteka sadr¾i pravila za generiranje MARC21 ISO 2709 izlazne
3     # datoteke. Ulazni format je CDS/ISIS izvorni format, sa zapisima u
4     # UNIMARC formatu, sa vi¹estrukim odstupanjima od standarda.
5    
6    
7 dpavlin 1112 ## lookup rezultat za sabrana djela
8     my $sabrana;
9    
10    
11 dpavlin 1020 ## konvertira se ako postoji polje 200^a
12 dpavlin 751 if ( rec('200','a') ) {
13    
14 dpavlin 792 ### LEADER
15 dpavlin 751
16 dpavlin 1090 ## LDR 05 - c = pregledan ; n = new
17 dpavlin 1112 ## provjeriti za svaku bazu koje polje koristi
18 dpavlin 1090 ## 999^aP - SFM
19 dpavlin 1042
20 dpavlin 1095 if ( rec('999','a') && rec('999','a') =~ m/(pregledan|P)/i) {
21 dpavlin 751 marc_leader('05','c');
22     } else {
23     marc_leader('05','n');
24     }
25    
26 dpavlin 1090 ## LDR 06 - a - language material
27 dpavlin 1020
28 dpavlin 751 marc_leader('06','a');
29 dpavlin 1042
30 dpavlin 1090 ## LDR 07 - m - Monograph/item
31 dpavlin 1042
32 dpavlin 1112 if ( config() =~ m/fffi/ ) {
33     $sabrana =
34     lookup(
35     sub{ rec('A') },
36     'fffi','sabrana',
37     sub { rec('B') },
38     sub { rec('000') }
39     );
40     }
41    
42     if ( ! $sabrana ) {
43 dpavlin 751 marc_leader('07','m');
44 dpavlin 1112 } else {
45     marc_leader('07','c');
46     }
47 dpavlin 1042
48 dpavlin 1112 ## LDR 17 - Encoding level ; 7 - minimal level
49 dpavlin 1090 marc_leader('17','7');
50 dpavlin 1042
51 dpavlin 1112 ## LDR 18 - i - isbd
52 dpavlin 751 marc_leader('18','i');
53    
54 dpavlin 1112 ## LDR 19
55     # # - Not specified or not applicable; a - Set; b - Part with independent title; c - Part with dependent title
56 dpavlin 876
57 dpavlin 1112 #if ( ( ! $sabrana ) && ( rec('230') || rec('231') || rec('232') || rec('233') ) ) {
58     # marc_leader('19','a');
59     #}
60    
61     if ( ( rec('230') || rec('231') || rec('232') || rec('233') ) ) {
62 dpavlin 1095 marc_leader('19','a');
63 dpavlin 751 }
64    
65 dpavlin 905 ### 008 - All materials
66 dpavlin 1090 ## dodati sve moguce slucajeve za datum, popuniti ono sto nedostaje
67 dpavlin 1112 ## provjereno: fi
68 dpavlin 905
69 dpavlin 1095 if ( rec('994','c') =~ m/\d{8}/ ) {
70 dpavlin 816 marc_fixed('008','00',
71     regex('s/^\d\d//',
72     rec('994','c')
73     ),
74     );
75 dpavlin 1095 } elsif ( rec('994','c') =~ m/\d{6}/ ) {
76 dpavlin 816 marc_fixed('008', 00,
77 dpavlin 1103 regex('s/^\d\d//',
78     rec('994','c')
79     ),
80 dpavlin 816 );
81 dpavlin 1095 marc_fixed('008', '04',
82     '01'
83     );
84     } elsif ( rec('994','c') =~ m/\d{4}/ ) {
85     marc_fixed('008', 00,
86     regex('s/^\d\d//',
87     rec('994','c')
88     ),
89     );
90     marc_fixed('008', '02',
91     '0101'
92     );
93 dpavlin 816 }
94    
95     #warn( dump(
96     # regex('s/^\d\d//',
97     # rec('994','c')
98     # ),
99     #)
100     #);
101    
102 dpavlin 1090 ## 008 06 - Type of date/Publication status
103 dpavlin 1042
104 dpavlin 1112 ## 008 07-10 - Date 1 -
105     ## srediti sve moguæe oznake za godine (06)
106     ## 210d kroz modify postaje 210c
107    
108 dpavlin 1090 if ( rec('210','c') ) {
109 dpavlin 1112 my $d1 = '';
110     my $d2 = '';
111     if ( rec('210','c') =~ m/(\?)/ ) {
112 dpavlin 1103 marc_fixed('008','06','q');
113 dpavlin 1112 if ( rec('210','c') =~ m/(\d{2})(--|__)/ ) {
114     $d1 = $1.'uu';
115     }
116     if ( rec('210','c') =~ m/(\d{3})(-|_)/ ) {
117     $d1 = $1.'u';
118     }
119     if ( rec('210','c') =~ m/(\d{4})/ ) {
120     $d1 = $1;
121     }
122     } elsif ( rec('210','c') =~ m/(\d{4})-/ ) {
123     if ( $sabrana ) {
124     marc_fixed('008','06','i');
125     } else {
126     marc_fixed('008','06','m');
127     }
128     if ( rec('210','c') =~ m/(\d{4})-/ ) {
129     $d1 = $1;
130     $d2 = '9999';
131     }
132     if ( rec('210','c') =~ m/-(\d{4})/ ) {
133     $d2 = $1;
134     }
135 dpavlin 1103 } else {
136     marc_fixed('008','06','s');
137 dpavlin 1112 if ( rec('210','c') =~ m/(\d{4})/ ) {
138     $d1 = $1;
139     }
140 dpavlin 1103 }
141 dpavlin 1042
142 dpavlin 1103 marc_fixed('008','07',$d1); # 07-10 - Date 1
143     marc_fixed('008','11',$d2); # 07-10 - Date 1
144 dpavlin 1042
145 dpavlin 1090 } else {
146     marc_fixed('008','06','n'); # 06 - n = unknown date
147     marc_fixed('008','07','uuuu');
148     }
149    
150    
151 dpavlin 1042 ## 008 11-14 - Date 2
152    
153     ## 008 15-17 - Place of publication, production, or execution - ¹to ako nema 102?
154 dpavlin 1090 ## raspraviti
155 dpavlin 1042
156 dpavlin 1103 marc_fixed('008','15','xx');
157    
158 dpavlin 1090 #marc_fixed('008','15',
159     # lc ( rec('102') )
160     #);
161 dpavlin 1042
162 dpavlin 1103 #my $zemlja =
163     # lookup(
164     # sub { rec('B') },
165     # 'kodovi','zemlje',
166     # sub { rec('A') },
167     # sub {
168     # regex('s/[\s;:]/g',
169     # rec('210','a')
170     # )
171     # },
172     # );
173 dpavlin 1042
174 dpavlin 1090
175     ## 008 35-37 - Language
176 dpavlin 816 marc_fixed('008','35',
177 dpavlin 1090 # first( lc(rec('101')) )
178     lc( frec('101'))
179 dpavlin 816 );
180 dpavlin 1042
181     ## 008 38 - Modified record - razjasniti
182 dpavlin 1095 marc_fixed('008','38','|');
183 dpavlin 816
184 dpavlin 1090 ## 008 39 - Cataloging source - d (other)
185 dpavlin 1042 marc_fixed('008','39','d');
186 dpavlin 905
187 dpavlin 1042 ### 008 - Books - raspraviti upotrebu ovih polja
188     ## 008 18-21 - Illustrations
189 dpavlin 1095 if ( rec('215','c') && rec('215','c') =~ m/ilustr/ ) {
190     marc_fixed('008','18','a')
191     }
192    
193 dpavlin 1042 ## 008 22 - Target audience
194 dpavlin 1095 marc_fixed('008','22','|');
195    
196 dpavlin 1042 ## 008 23 - Form of item
197 dpavlin 1095
198 dpavlin 1042 ## 008 24-27 - Nature of contents
199 dpavlin 1095 marc_fixed('008','24','||||');
200    
201 dpavlin 1042 ## 008 28 - Government publication
202 dpavlin 1095 marc_fixed('008','28','|');
203    
204 dpavlin 1042 ## 008 29 - Conference publication
205 dpavlin 1095 marc_fixed('008','29','|');
206    
207 dpavlin 1042 ## 008 30 - Festschrift
208 dpavlin 1095 marc_fixed('008','30','|');
209    
210 dpavlin 1042 ## 008 31 - Index
211 dpavlin 1095 marc_fixed('008','31','|');
212    
213 dpavlin 1042 ## 008 32 - Undefined
214     ## 008 33 - Literary form
215 dpavlin 1095 marc_fixed('008','33','|');
216    
217 dpavlin 1042 ## 008 34 - Biography
218 dpavlin 1095 marc_fixed('008','34','|');
219 dpavlin 905
220 dpavlin 876 ### 020
221 dpavlin 1090 ## modify za polje 10 -> drugi ISBN poèinje prefixom "ISBN" koji se mièe (pr. u sfb)
222 dpavlin 816
223 dpavlin 1020 if ( frec('10') ne ( frec('290') ) ) {
224 dpavlin 1103 if ( rec('10','a') !~ /pogre/ ) {
225     marc('020','a',
226     # isbn_13(
227     regex('s/\s\s/ /g',
228     # regex('s/\(\d\)\(/$1 \(//g',
229     rec('10','a')
230     )
231     # )
232     );
233     }
234     if ( rec('10','a') =~ /pogre/ ) {
235     marc('020','z',
236 dpavlin 1090 regex('s/\s\s/ /g',
237     rec('10','a')
238     )
239 dpavlin 1103 );
240     }
241     marc('020','z',
242     rec('10','z')
243     );
244 dpavlin 1010 }
245 dpavlin 876
246 dpavlin 1010 #warn(
247     # dump(
248     # frec('10')
249     # ),
250     #);
251 dpavlin 876
252 dpavlin 1090 ### 035$
253 dpavlin 1112 ## marc 035a - System Number
254     ## polje mo¾e sadr¾avati slova i razmake, problem u pretra¾ivanju ako ima zagrade, kako bi trebalo po standardu
255 dpavlin 792
256 dpavlin 1095 marc('035','a',
257 dpavlin 824 join_with('',
258 dpavlin 1090 # config('input normalize path'),
259     # config('name'),
260 dpavlin 1103 'HR-ZaFF ',
261 dpavlin 1090 config(),
262 dpavlin 1103 'L-',
263 dpavlin 1090 # config('input name'),
264     # id(),
265     # rec('994','a'),
266     rec('000')
267 dpavlin 751 )
268     );
269    
270 dpavlin 792 ### 040
271 dpavlin 1042 ## za sve je isti
272 dpavlin 792
273 dpavlin 751 marc('040','a',
274 dpavlin 1095 'HR-ZaFF'
275 dpavlin 751 );
276     marc('040','b',
277     'hrv'
278     );
279 dpavlin 1082 marc('040','c',
280 dpavlin 1095 'HR-ZaFF'
281 dpavlin 1082 );
282 dpavlin 758 marc('040','e',
283 dpavlin 1082 'ppiak'
284 dpavlin 758 );
285    
286 dpavlin 905 ### 041 - indikatori
287 dpavlin 1042 ## pretpostavke o indikatorima
288     ## 1. Ako postoji polje 300 i ono sadr¾i /Prijevod/ ili /Izv. stv. nasl./, i1 = 1
289     ## (Da li je napomena uvijek pisana?)
290     ## 2. Podatak o prevodiocu u 200g. Problem: razlièiti oblici rijeèi, razlièiti jezici.
291     ## 3. Ako u UDK oznaci postoji "=", bez zagrada, onda je to prijevod
292     ## (ako postoje zagrade pr. 94(=411.16) onda su to pomoæne oznake)
293     ## pr. 821.111-2=163.42 je prijevod engleske drame na HR.
294     ## to ima samo za knji¾evna djela, eseje....
295 dpavlin 792
296 dpavlin 1090 #if ( rec('675') =~ m/\d=\d/ ) ?
297 dpavlin 1010
298     if (
299 dpavlin 1112 grep( m/prijevod/i, rec('300') )
300     || grep( m/nasl.*izv/i, rec('300') )
301     # ( frec('300') =~ m/Prijevod/ )
302     # || ( rec('300') =~ m/izvorni stvarni naslov/i )
303     # || ( rec('300') =~ m/naslov izvornika/i )
304     # grep( m/[prijevod|stvarni\snaslov]/i, rec('300') )
305 dpavlin 1010 ) {
306 dpavlin 751 marc_indicators('041', 1, ' ');
307 dpavlin 1112 marc_repeatable_subfield('041','a',
308     map { lc($_) } rec('101')
309     );
310     } elsif (
311     count( rec('101') ) > 1
312     ) {
313 dpavlin 751 marc_indicators('041', 0, ' ');
314 dpavlin 1112 marc_repeatable_subfield('041','a',
315     map { lc($_) } rec('101')
316     );
317 dpavlin 751 }
318    
319 dpavlin 1112 ### 041
320     ## ponovljivo polje (101) konvertira se u ponovljivo potpolje (041a)
321     ## polje se koristi kad ima vi¹e od jednog jezika, ili kad se radi o prijevodu
322     #_debug(2);
323 dpavlin 792
324 dpavlin 783 #_debug(0);
325 dpavlin 751
326 dpavlin 876 ### 044
327 dpavlin 905 ## kako dobiti zemlju izdavanja?
328 dpavlin 751
329 dpavlin 792 ### 080
330 dpavlin 1042 ## 675 podpolja b, c, d ... - ¹to s njima? - provjeriti za svaku bazu
331 dpavlin 1112 ## fi: abcd
332 dpavlin 783
333 dpavlin 792 marc('080','a',
334     rec('675','a')
335     );
336    
337 dpavlin 876 marc('080','a',
338     rec('675','b')
339     );
340 dpavlin 792
341 dpavlin 876 marc('080','a',
342     rec('675','c')
343     );
344    
345     marc('080','a',
346     rec('675','d')
347     );
348    
349    
350 dpavlin 792 ### 084 - other classification (R)
351 dpavlin 1042 ## NSK ga koristi za struènu oznaku NSK iz polja 681
352     ## NSK konvertira polje 686 u 084, u skladu s LOC konv. tablicom
353     ## polje 686 koristi FFPS. jo¹ netko?
354 dpavlin 792
355     marc('084','a',
356     rec('686')
357     );
358    
359 dpavlin 1042 ### 100
360     ## I1 = 0 ako je pseudonim (ima 700a, nema 700b)
361 dpavlin 903
362 dpavlin 807 if ( rec('700','a') && ! rec('700','b') ) {
363     marc_indicators('100', 0, ' ');
364     } else {
365     marc_indicators('100', 1, ' ');
366     }
367    
368 dpavlin 792 marc('100','a',
369     join_with(', ',
370     rec('700', 'a'),
371     rec('700', 'b')
372     )
373     );
374    
375 dpavlin 1095 ### formalna odrednica - iz 503 u 110, i1=0, i2=1
376 dpavlin 792
377     ### 111 i 110
378 dpavlin 1042 ## konverzija u 110 ili 111 ovisno o postojanju/nepostojanju nekih polja - provjeriti ispise naslova iz svake baze - moguæe su gre¹ke.
379 dpavlin 1112 ## popraviti interpunkciju
380 dpavlin 905
381 dpavlin 802 # ovo vrijedi za FFSFB
382 dpavlin 876 if ( rec('710','d') || rec('710','e') || rec('710','f') ) {
383 dpavlin 792
384     marc_indicators('111', 2, ' ');
385    
386 dpavlin 802 marc_compose('111',
387 dpavlin 876 'a', suffix(
388     rec('710','b') ? '.' :
389     '',
390     rec('710','a'),
391     ),
392 dpavlin 802 'e', rec('710','b'),
393 dpavlin 876 'n', prefix(
394     rec('710','d') ? '(' :
395     '',
396     rec('710','d')
397     ),
398     'd', prefix(
399     ( ! rec('710','d') ) ? '(' :
400     ( ! rec('710','e') ) ? '(' :
401     '; ',
402     rec('710','f'),
403     ),
404     'c', prefix(
405     ( rec('710','e') && ( rec('710','d') || rec('710','f') ) ) ? '; ' :
406     ( ! rec('710','d') && ! rec('710','f') ) ? '(' :
407     '',
408     rec('710','e'),
409     ),
410     '+',')',
411 dpavlin 792 );
412     } else {
413 dpavlin 1112 marc_indicators('110', 2, ' ');
414     marc('110','a',
415     rec('710','a')
416     );
417     marc('110','b',
418     rec('710','b')
419     );
420 dpavlin 903 if ( rec('710','c') ) {
421 dpavlin 1112 marc('110','c',
422     surround('(', ')', rec('710','c'))
423     );
424 dpavlin 903 }
425 dpavlin 802 }
426 dpavlin 792
427 dpavlin 905 ### 245 indikatori
428 dpavlin 1042 ## i1 = 0 za anonimne publikacije, i1 = 1 ako postoji 700 ili 710
429     ## i2 = pretpostavlja se na temelju èlana na poèetku naslova i jezika
430     ## treba provjeriti
431 dpavlin 903
432 dpavlin 816 my $i1;
433 dpavlin 792
434 dpavlin 816 if ( rec('700') || rec('710') ) {
435     $i1 = 1;
436     } else {
437     $i1 = 0;
438     }
439    
440     marc_indicators('245', $i1, 0);
441    
442 dpavlin 1095 if ( rec('200','a') =~ m/^Einen / ) {
443 dpavlin 1064 marc_indicators('245', $i1, 6);
444     }
445 dpavlin 1095 if ( rec('200','a') =~ m/^Eine / ) {
446 dpavlin 1064 marc_indicators('245', $i1, 5);
447 dpavlin 783 }
448 dpavlin 1112 if ( rec('200','a') =~ m/^(Die|Das|Der|Ein|Les|Los|The) / ) {
449 dpavlin 1064 marc_indicators('245', $i1, 4);
450     }
451 dpavlin 1112 if ( rec('200','a') =~ m/^(Um|Un|An|La|Le|Lo|Il) / ) {
452 dpavlin 1010 marc_indicators('245', $i1, 3);
453 dpavlin 783 }
454 dpavlin 1112 if ( ( rec('101') =~ m/ENG/ ) && ( rec('200','a') =~ m/^A / ) ) {
455 dpavlin 816 marc_indicators('245', $i1, 2);
456 dpavlin 807 }
457 dpavlin 1112 if ( rec('200','a') =~ m/^L / ) {
458     marc_indicators('245', $i1, 2);
459     }
460 dpavlin 1095 if ( rec('200','a') =~ m/^L'/ ) {
461     marc_indicators('245', $i1, 2);
462     }
463 dpavlin 1064
464 dpavlin 1095
465 dpavlin 905 ### 245
466 dpavlin 1112 ## postoji modify
467 dpavlin 1095 ## da li treba makivati razmake u inicijalima?
468 dpavlin 783
469 dpavlin 751 #_debug(3);
470 dpavlin 816
471 dpavlin 751 marc_compose('245',
472     'a', suffix(
473 dpavlin 944 ( ! ( rec('200','d') || rec('200','e') || rec('200','k') ) ) && ( rec('200','f') ) ? ' /' :
474     ( rec('200','d') ) ? ' =' :
475     ( rec('200','e') ) ? ' :' :
476     ( rec('200','k') ) ? ' ;' :
477 dpavlin 1064 '.',
478 dpavlin 816 rec('200','a'),
479 dpavlin 751 ),
480     'b', suffix(
481 dpavlin 944 ( rec('200','d') && rec('200','f') ) ? ' /' :
482     ( rec('200','d') && rec('200','c') ) ? '.' :
483 dpavlin 824 '',
484 dpavlin 876 rec('200','d'),
485 dpavlin 751 ),
486 dpavlin 876 'b', suffix(
487 dpavlin 944 ( rec('200','e') && rec('200','f') ) ? ' /' :
488     ( rec('200','e') && rec('200','c') ) ? '.' :
489 dpavlin 876 '',
490     rec('200','e'),
491     ),
492     'b', suffix(
493 dpavlin 944 ( rec('200','k') && rec('200','f') ) ? ' /' :
494     ( rec('200','k') && rec('200','c') ) ? '.' :
495 dpavlin 876 '',
496     rec('200','k'),
497     ),
498 dpavlin 816 'c', suffix(
499 dpavlin 1112 ( rec('200','f') && rec('200','c') ) ? '. ' :
500 dpavlin 824 '',
501 dpavlin 1010 join_with(' ; ',
502 dpavlin 1090 regex('s/(\S\.)\s(\S\.\s)/$1$2/g',
503     rec('200','f'),
504     ),
505     regex('s/(\S\.)\s(\S\.\s)/$1$2/g',
506     rec('200','g')
507     )
508 dpavlin 1010 )
509 dpavlin 751 ),
510 dpavlin 1042 ## append to last subfield
511 dpavlin 944 '+', suffix('.',
512 dpavlin 1112 join_with(' / ',
513     rec('200','c'),
514     rec('200','x')
515     )
516 dpavlin 944 ),
517 dpavlin 816 );
518 dpavlin 751
519 dpavlin 816 #_debug(0);
520 dpavlin 783
521 dpavlin 1042 ### 246
522 dpavlin 1095 ## i1=1 ukoliko pravilo nalaze napomenu, ali napomenu necemo pisati ponovo u 500
523     ## i1=3 ako pravlo na nalze napomenu
524     ## vidi na wiki
525     ## i2 - pogledati za svaku bazu sto su ti naslovi, pa onda oderditi indikatoda oderditi indikatoree
526 dpavlin 751
527 dpavlin 1095 marc_indicators('246', 3, ' ');
528 dpavlin 1042 marc('246','a',
529     rec('532')
530     );
531 dpavlin 751
532 dpavlin 792 ### 250
533 dpavlin 1042 ## zapisima koji nemaju potpolje, dodaje se ^a u modify - provjeriti
534 dpavlin 783
535 dpavlin 824 marc_compose('250',
536     'a',suffix(
537     rec('205','f') ? ' / ' :
538 dpavlin 1095 '',
539 dpavlin 751 rec('205','a')
540 dpavlin 824 ),
541     'b', rec('205','f'),
542 dpavlin 751 );
543    
544 dpavlin 792 ### 260
545 dpavlin 1042 ## ponovljiva potpolja u originalnom redosljedu - priprema u modify
546 dpavlin 773
547 dpavlin 1095 marc_original_order('260', '210');
548 dpavlin 751
549    
550 dpavlin 792 ### 300
551 dpavlin 1042 ## urediti interpunkcije za sve kombinacije
552 dpavlin 758
553 dpavlin 751 marc('300','a',
554     suffix(
555 dpavlin 783 rec('215','c') ? ' : ' :
556     rec('215','d') ? ' ; ' :
557     rec('215','e') ? ' + ' :
558 dpavlin 1064 '',
559 dpavlin 751 rec('215','a')
560     )
561     );
562     marc('300','b',
563     suffix(
564 dpavlin 783 ( rec('215','c') && rec('215','d') ) ? ' ; ' :
565     ( rec('215','c') && rec('215','e') ) ? ' + ' :
566 dpavlin 1064 '',
567 dpavlin 751 rec('215','c')
568     )
569     );
570     marc('300','c',
571     suffix(
572     rec('215','e') ? ' + ' :
573 dpavlin 1112 '',
574 dpavlin 751 rec('215','d')
575     )
576     );
577     marc('300','e',
578     rec('215','e')
579     );
580    
581 dpavlin 1112 ### 362 - brojèani podaci za nakladnièku cjelinu - to mi nemamo, polje se koristi samo za èasopise
582 dpavlin 751
583 dpavlin 1112
584 dpavlin 1095 # if ( ! rec('225','z') ) {
585    
586     # ako je naslov nakladnièke cjeline slo¾en, podatak se zapisuje u 490, s pripadajuæim 830
587    
588     #if ( frec('225','a') =~ m/[\/=:]/ ) {
589     #
590     ##_debug(3);
591     #
592     #### 490
593     ### 490: Subfield _p is not allowed.
594     #
595     #marc_indicators('490','0',' ');
596     #
597     #marc_template(
598     # from => 225, to => 490,
599     # subfields_rename => [
600     # 'a' => 'a',
601     # 'x' => 'x',
602     # 'v' => 'v',
603     # 'h' => 'n',
604     # 'i' => 'p',
605     # 'w' => 'v',
606     # ],
607     # isis_template => [
608     # 'a',
609     # 'a ;|v',
610     # 'a,|x ;|v',
611     # 'a,|x ;|w',
612     # 'a,|x.|h ;|w',
613     # 'a.|h,|i ;|v',
614     # 'a ;|v.|i',
615     # 'a.|i ;|w',
616     # 'a,|x',
617     # # greske:
618     # 'i ;|v',
619     # 'i'
620     # ],
621     #);
622    
623     #marc_template(
624     # from => 225, to => 490,
625     # from => "{ z => 1 }",
626     # to => "{ a => 1 }",
627     #
628     # marc_template => [
629     # 'a',
630     # ],
631     #);
632    
633     # marc_indicators('830',' ','0');
634     # i2 ovisi èlanu - popraviti
635     #
636     # marc('830','a',
637     # regex('s/(^.*)\s\/\s(.*)/$1 ($2)/g',
638     # rec('225','a')
639     # )
640     # );
641    
642    
643     #} else {
644    
645 dpavlin 905 ### 440 - indikatori
646 dpavlin 1112 ## 2.ind. prema jeziku i èlanu, uskladiti s 245
647 dpavlin 758
648 dpavlin 783 marc_indicators('440', ' ', '0');
649 dpavlin 751
650 dpavlin 1112 if ( rec('225','a') =~ m/^Einen / ) {
651 dpavlin 1095 marc_indicators('440', ' ', 6);
652 dpavlin 816 }
653    
654 dpavlin 1112 if ( rec('225','a') =~ m/^Eine / ) {
655 dpavlin 1095 marc_indicators('440', ' ', 5);
656 dpavlin 816 }
657    
658 dpavlin 1112 if ( rec('225','a') =~ m/^(Die|Das|Der|Ein|Les|The) / ) {
659 dpavlin 1095 marc_indicators('440', ' ', 4);
660     }
661    
662 dpavlin 1112 if ( rec('225','a') =~ m/^(Um|Un|An|La|Le|Il) / ) {
663 dpavlin 1064 marc_indicators('440', ' ', 3);
664 dpavlin 816 }
665    
666 dpavlin 1112 if ( rec('225','a') =~ m/^(A|L') / ) {
667 dpavlin 1095 marc_indicators('440', ' ', 2);
668     }
669 dpavlin 824
670 dpavlin 1095 ## 440v nije ponovljivo
671 dpavlin 905
672 dpavlin 1020 marc_template(
673     from => 225, to => 440,
674     subfields_rename => [
675     'a' => 'a',
676     'x' => 'x',
677     'v' => 'v',
678     'h' => 'n',
679     'i' => 'p',
680     'w' => 'v',
681     ],
682 dpavlin 1042 isis_template => [
683 dpavlin 1095 'a',
684     'a,|x',
685     'a,|x ;|v',
686     'a,|x.|i',
687     'a,|x.|i ;|w',
688     'a,|x.|h ;|w',
689     'a,|x.|h,|i ;|w',
690     'a,|x ;|v.|h ;|w',
691     'a,|x ;|v.|h,|i ;|w',
692     'a ;|v',
693 dpavlin 1064 'a ;|v.|i',
694 dpavlin 1095 'a ;|v.|h,|i',
695     'a ;|w',
696 dpavlin 1042 'a ;|v.|i ;|w',
697 dpavlin 1064 'a ;|v.|h,|i ;|w',
698     'a ;|v.|h ;|w',
699 dpavlin 1095 'a.|h,|i',
700     'a.|h,|i ;|w',
701     'a.|i',
702     'a.|i ;|w',
703 dpavlin 1112 # gre¹ke:
704 dpavlin 1064 'a ;|v ;|w',
705 dpavlin 1103 'a.|h',
706     'a.|h ;|w',
707     'a.|h ;|v',
708     'h,|i',
709     'h ;|v',
710     'i ;|w',
711     'v',
712     'w',
713 dpavlin 1020 ],
714 dpavlin 1010 );
715 dpavlin 751
716 dpavlin 1095 #}
717 dpavlin 1010
718 dpavlin 1095 #marc_template(
719     # from => 225, to => 490,
720     # subfields_rename => [
721     # 'a' => 'a',
722     # 'x' => 'x',
723     # 'v' => 'v',
724     # 'h' => 'n',
725     # 'i' => 'p',
726     # 'w' => 'v',
727     # ],
728     # isis_template => [
729     # 'a.|h,|i ;|w',
730     # 'a.|h.|w',
731     # 'a.|i ;|w',
732     # 'a ;|v.|i',
733     # 'a ;|v.|i ;|w',
734     # 'a ;|v.|h,|i ;|w',
735     # 'a ;|v.|h ;|w',
736     # 'a ;|v ;|w',
737     # #mozda greska:
738     # 'a ;|v,|x ;|w',
739     # 'a ;|v,|x.|p',
740     # 'a,|x ;|v',
741     # 'a,|x.|p ;|w',
742     # ],
743     # from => "{ a => 1, i => 1, w => 1, \"x\" => 1 }",
744     # to => "{ a => 1, p => 1, v => 1, \"x\" => 1 }",
745     #
746     # marc_template => [
747     # 'a',
748     # 'a ;|v',
749     # 'a,|x',
750     # 'a.|n', # mozda greska
751     # 'a.|n,|p',
752     # 'a.|p',
753     # 'a ;|v.|n',
754     # 'a ;|v.|n,|p', # mozda greska
755     # 'n,|p',
756     # 'n ;|v', # mozda greska
757     # 'p ;|v',
758     # 'v',
759     # 'x',
760     # 'x ;|v' # greska
761     # ],
762     #);
763    
764    
765 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)
766    
767 dpavlin 876 #marc_compose('440',
768     # 'a', suffix(
769 dpavlin 1020 # ( rec('225','v') ) ? ' ;' :
770     # ( rec('225','w') ) ? ' ; ' :
771     # ( rec('225','x') ) ? ',' :
772     # ( rec('225','h') || rec('225','i') ) ? '.' :
773     # '.',
774     # frec('225','a')
775     # ),
776     # 'x',suffix(
777     # ( rec('225','x') && ( rec('225','h') || rec('225','i') ) ) ? '.' :
778 dpavlin 876 # '',
779 dpavlin 1020 # frec('225','x')
780 dpavlin 824 # ),
781 dpavlin 1020 # 'v',suffix(
782     # ( rec('225','v') && ( rec('225','h') || rec('225','i') ) ) ? '.' :
783     # ( rec('225','v') && rec('225','w') ) ? ' ; ' :
784 dpavlin 876 # '',
785 dpavlin 1020 # frec('225','v')
786 dpavlin 876 # ),
787 dpavlin 1020 # 'n',suffix(
788     # ( rec('225','h') && rec('225','i') ) ? ',' :
789     # ( rec('225','h') && rec('225','w') ) ? ' ; ' :
790 dpavlin 876 # '',
791 dpavlin 1020 # frec('225','h')
792 dpavlin 876 # ),
793 dpavlin 1020 # 'p',suffix(
794     # ( rec('225','i') && rec('225','w') ) ? ' ; ' :
795     # ( rec('225','i') && rec('225','x') ) ? ',' :
796     # '',
797     # frec('225','i')
798     # ),
799 dpavlin 1042 ## 225w treba ici u 440v, na kraj
800 dpavlin 1020 # '+', join_with(' ; ',
801     # rec('225','w'),
802     # )
803 dpavlin 876 #);
804 dpavlin 824
805 dpavlin 1020 #marc_original_order('440','225');
806 dpavlin 824
807 dpavlin 1020
808 dpavlin 876 #if (
809     # count( lookup(
810     # sub { 1 },
811     # 'ffps','libri',
812     # sub { rec('225','a') }
813     # ) ) > 1
814     #) {
815 dpavlin 783
816    
817 dpavlin 876 #_debug(0);
818 dpavlin 792
819 dpavlin 751
820 dpavlin 1042 ### 500
821 dpavlin 792
822 dpavlin 751 marc('500','a',
823     rec('300')
824     );
825    
826     marc('500','a',
827 dpavlin 773 rec('305')
828     );
829    
830     marc('500','a',
831     rec('307')
832     );
833    
834     marc('500','a',
835 dpavlin 751 rec('314')
836     );
837    
838 dpavlin 795 ### 502 - bilje¹ka o disertacijama
839 dpavlin 1042 ## odgovarajuæeg polja nema u originalnim podacima. mo¾da se mo¾e pretpostaviti?
840 dpavlin 795
841 dpavlin 792 ### 504
842    
843 dpavlin 751 marc('504','a',
844     rec('320')
845     );
846    
847 dpavlin 1042 ### 505
848     ## FFPS 327 - sadrzaj
849     ## NSK konvertira 327 (NP) u 501 (R)
850     ## u LOC konv. tablici stoji 327 (NP) u 505 (NR)
851     ## standard i validacije dopu¹taju 501 (R) i 505 (R)
852 dpavlin 1112 ## za svaku bazu posebno provjeriti sta je u poljima 327 i 330
853 dpavlin 1095 if ( config() =~ m/ffps|fftu/ ) {
854 dpavlin 773 marc_indicators('505', '0', ' ');
855 dpavlin 758 marc('505','a',
856     regex('s/\s*[\\r\\n]+\s*\**\s*/ ; /g',
857     rec('327')
858     )
859     );
860     }
861 dpavlin 751
862 dpavlin 816 if ( config() =~ m/ffan/ ) {
863     marc_indicators('505', '0', ' ');
864     marc('505','a',
865     regex('s/[<>]//g',
866     rec('330')
867     )
868     );
869     }
870 dpavlin 751
871 dpavlin 792 ### 520
872 dpavlin 1042 ## NSK konvertira 330 (P) u 520 (P) = LOC konv. tablica
873 dpavlin 758 if ( config() =~ m/ffps/ ) {
874     marc('520','a',
875     regex('s/[\\r\\n]+/. /g',
876     rec('330')
877     )
878     );
879     }
880 dpavlin 751
881 dpavlin 816 ### 526 - STUDY PROGRAM INFORMATION NOTE
882 dpavlin 1042 ## provjeriti za svaku bazu sta je u 996?
883 dpavlin 751
884 dpavlin 816 marc_indicators('526', 8, ' ');
885 dpavlin 792
886 dpavlin 816 marc('526','a',
887     rec('996')
888     );
889 dpavlin 792
890 dpavlin 816 ### 538 - zahtjevi sustava
891    
892 dpavlin 773 marc('538','a',
893     rec('337','a')
894     );
895 dpavlin 758
896 dpavlin 792 ### 655
897    
898 dpavlin 751 marc_indicators('655', ' ', 4);
899     marc('655','a',
900     rec('608')
901     );
902    
903 dpavlin 792 ### 653
904 dpavlin 1095 ## da li ponovljivo polje ili potpolje, pogledati u Koha tags
905 dpavlin 792
906 dpavlin 1095 marc_indicators('653', ' ', ' ');
907 dpavlin 751 marc('653','a',
908     rec('610')
909     );
910    
911 dpavlin 792 #_debug(2);
912 dpavlin 751
913    
914 dpavlin 792 ### 700
915 dpavlin 1112 ## ako je u originalu ponovljivo polje treba bioti i konvertirano u ponovljivo !!
916     ## ako ima samo podpolje a onda je pseudonim - popraviti indikator
917 dpavlin 751
918     marc_indicators('700', 1, ' ');
919    
920     marc('700','a',
921 dpavlin 1095 rec('701', 'a'),
922 dpavlin 751 );
923     marc('700','a',
924     join_with(', ',
925     rec('701', 'c'),
926     rec('701', 'd')
927     )
928     );
929     marc('700','a',
930     join_with(', ',
931     rec('701', 'e'),
932     rec('701', 'f')
933     )
934     );
935     marc('700','a',
936     join_with(', ',
937     rec('701', 'g'),
938     rec('701', 'h')
939     )
940     );
941     marc('700','a',
942 dpavlin 876 rec('702', 'a'),
943 dpavlin 751 );
944     marc('700','a',
945     join_with(', ',
946     rec('702','c'),
947     rec('702','d')
948     )
949     );
950     marc('700','a',
951     join_with(', ',
952     rec('702','e'),
953     rec('702','f')
954     )
955     );
956     marc('700','a',
957     join_with(', ',
958     rec('702','g'),
959     rec('702','h')
960     )
961     );
962    
963     #_debug(0);
964    
965    
966 dpavlin 1112 ### 740 - sta s tim?
967 dpavlin 751
968 dpavlin 792 marc_indicators('740', 0, ' ');
969 dpavlin 751
970 dpavlin 792 # if ( ! rec('464') ) {
971     # marc('740','a',
972     # rec('200','c')
973     # );
974 dpavlin 751
975 dpavlin 807 marc('740','a',
976     rec('200','k')
977     );
978 dpavlin 751
979 dpavlin 792 # } else {
980 dpavlin 751
981 dpavlin 792 #marc('740','a',
982     # rec('464','a')
983     #);
984 dpavlin 751
985 dpavlin 792 # };
986 dpavlin 751
987 dpavlin 1112 # -------------------------------------------------------------------
988 dpavlin 1042 ### 760 w
989     ## generiranje zapisa o nakladnièkoj cjelini i povezivanje podreðenog zapisa s nadreðenim
990    
991 dpavlin 1064 #if (
992     # rec('225','a') # da li je nakladnièka cjelina?
993     #) {
994 dpavlin 1095
995 dpavlin 1064 #my $series_key =
996     #join_with('',
997     # rec('225','a'),
998     # rec('210','a'),
999     # rec('210','b'),
1000     #);
1001     #
1002     #my $series = get( $series_key );
1003     #
1004     #if ($series) {
1005     # warn "nije novi";
1006     #} else {
1007     #
1008     #$series = join_with('',
1009     # uc( config() ),
1010     # ' LS',
1011     # rec('000')
1012     #);
1013     #
1014     #set( $series_key => $series );
1015     #
1016     #} # $series
1017     #} # nakladnièka cjelina
1018     #
1019     #my $series_key = join_with('',
1020     # rec('225','a'),
1021     # rec('210','a'),
1022     # rec('210','b'),
1023     #);
1024     #
1025     #if ($series_key) {
1026     #
1027     # marc_indicators('760', 0, ' ');
1028     #
1029 dpavlin 1095 # marc('760','t',
1030     # rec('225','a')
1031     # );
1032 dpavlin 1064 # marc('760','w',
1033     # get( $series_key )
1034     # );
1035     #}
1036 dpavlin 751
1037 dpavlin 1042 # ## testing
1038 dpavlin 792 #
1039     # my $dup_key = join_with('',
1040     # rec('200','a'),
1041     #);
1042     #
1043     #if ($dup_key) {
1044     # marc('995','a',
1045     # get( $dup_key )
1046     # );
1047     #}
1048     #
1049     #
1050     # marc_indicators('776', 0, ' ');
1051     #
1052     # marc('776','a',
1053     # rec('452','1')
1054     # );
1055     #
1056 dpavlin 1112 # -------------------------------------------------------------------
1057 dpavlin 751
1058 dpavlin 1112 ### 774 - Constituent Item Entry - to bi trebali koristiti ali ne koristimo jer NSK to koristi za ne¹to drugo
1059 dpavlin 1095 ### 787 - Nonspecific Relationship Entry
1060 dpavlin 783
1061 dpavlin 1112 #marc_indicators('787','0',' ');
1062     #
1063     #marc_compose('787',
1064     # 'g', rec('230','v'),
1065     # 't', rec('230','a'),
1066     # 'b', rec('240','a'),
1067     # 'd', rec('250','a'),
1068     # 'd', rec('250','d'),
1069     # 'h', rec('260','a'),
1070     # 'k', rec('270','a'),
1071     # 'n', join_with('. - ',
1072     # rec('280'),
1073     # ),
1074     # 'x', join_with(', ',
1075     # rec('290'),
1076     # )
1077 dpavlin 1095 #);
1078 dpavlin 1112 #marc_compose('787',
1079     # 'g', rec('231','v'),
1080     # 't', rec('231','a'),
1081     # 'b', rec('241','a'),
1082     # 'd', rec('251','a'),
1083     # 'd', rec('251','d'),
1084     # 'h', rec('261','a'),
1085     # 'k', rec('271','a'),
1086     # 'n', join_with('. - ',
1087     # rec('281'),
1088     # ),
1089     # 'x', join_with(', ',
1090     # rec('291'),
1091     # )
1092     #);
1093     #marc_compose('787',
1094     # 'g', rec('232','v'),
1095     # 't', rec('232','a'),
1096     # 'b', rec('242','a'),
1097     # 'd', rec('252','a'),
1098     # 'd', rec('252','d'),
1099     # 'h', rec('262','a'),
1100     # 'k', rec('272','a'),
1101     # 'n', join_with('. - ',
1102     # rec('282'),
1103     # ),
1104     # 'x', join_with(', ',
1105     # rec('292'),
1106     # )
1107     #);
1108     #marc_compose('787',
1109     # 'g', rec('233','v'),
1110     # 't', rec('233','a'),
1111     # 'b', rec('243','a'),
1112     # 'd', rec('253','a'),
1113     # 'h', rec('263','a'),
1114     # 'k', rec('273','a'),
1115     # 'n', join_with('. - ',
1116     # rec('283'),
1117     # ),
1118     # 'x', join_with(', ',
1119     # rec('293'),
1120     # )
1121     #);
1122     #
1123     ### 852 - ne koristimo, koristimo 942 i 952
1124 dpavlin 1095
1125 dpavlin 903 ### 876 - item information - basic bibliographic unit
1126 dpavlin 1112 #marc('876','a',
1127     # rec('991','t'),
1128     #);
1129 dpavlin 783
1130 dpavlin 903 ### 886 - former marc
1131 dpavlin 1112 # inicijale treba prebaciti u neko lokalno polje, a ovo polje nam ne treba
1132 dpavlin 783
1133 dpavlin 816 marc_indicators('886', 2, ' ');
1134     marc('886','2',
1135     'ffmarc'
1136     );
1137     marc('886','a',
1138     '994'
1139     );
1140     marc('886','b',
1141     join_with(''.
1142     '##^a',
1143     join_with('',
1144     prefix('^a',
1145     rec('994','a'),
1146     ),
1147     prefix('^b',
1148     rec('994','b')
1149     )
1150     )
1151     )
1152     );
1153 dpavlin 792
1154 dpavlin 1112 ### KOHA items
1155 dpavlin 792
1156 dpavlin 1095 marc('942','b',
1157     'LIB'
1158     );
1159    
1160    
1161 dpavlin 1112 if ( grep( m/Posebni otisak/, rec('300') ) ) {
1162     marc('942','c',
1163     'SEP'
1164     );
1165     } else {
1166     marc('942','c',
1167     'KNJ'
1168     );
1169     }
1170    
1171 dpavlin 1095 marc('942','d',
1172     join_with(' | ',
1173     rec('990')
1174     )
1175     );
1176    
1177 dpavlin 1112 if ( config() =~ m/ffan/ ) {
1178 dpavlin 1095 my $novasig1 =
1179     lookup(
1180     sub { rec('C') },
1181 dpavlin 1112 'ffan','mapirano',
1182 dpavlin 1095 sub { rec('B') },
1183     sub { rec('990') }
1184     );
1185     my $novasig2 =
1186     lookup(
1187     sub { rec('C') . ' ' . rec('D') },
1188 dpavlin 1112 'ffan','starasig',
1189 dpavlin 1095 sub { rec('A') },
1190     sub { rec('000') },
1191     );
1192     marc('942','h',
1193     $novasig1
1194     );
1195     marc('942','i',
1196     $novasig2
1197     );
1198     }
1199    
1200    
1201 dpavlin 1112 if ( config() =~ m/ffsf|ffpo|fffi/ ) {
1202     my $sig1 =
1203     lookup(
1204     sub { rec('C') },
1205     'fffi','signature',
1206     sub { rec('B') },
1207     sub { frec('990') },
1208     );
1209     if ( rec('700','a') ) {
1210     marc('942','h',
1211     $sig1,
1212     );
1213     if ( rec('200','a') =~ m/^(The|Die|Das|Der|Ein|Les) / ) {
1214     marc('942','i',
1215     join_with(' ',
1216     regex('s/(^.{3}).*/$1/',
1217     uc ( rec('700','a') )
1218     ),
1219     regex('s/^.{4}(.{1}).*/$1/',
1220     lc ( rec('200','a') )
1221     )
1222     )
1223     );
1224     } elsif ( rec('200','a') =~ m/^(Um|Un|An|La|Le|Il) / ) {
1225     marc('942','i',
1226     join_with(' ',
1227     regex('s/(^.{3}).*/$1/',
1228     uc ( rec('700','a') )
1229     ),
1230     regex('s/^.{3}(.{1}).*/$1/',
1231     lc ( rec('200','a') )
1232     )
1233     )
1234     );
1235     } elsif ( rec('200','a') =~ m/^Eine / ) {
1236     marc('942','i',
1237     join_with(' ',
1238     regex('s/(^.{3}).*/$1/',
1239     uc ( rec('700','a') )
1240     ),
1241     regex('s/^.{5}(.{1}).*/$1/',
1242     lc ( rec('200','a') )
1243     )
1244     )
1245     );
1246     } elsif ( rec('200','a') =~ m/^Einen / ) {
1247     marc('942','i',
1248     join_with(' ',
1249     regex('s/(^.{3}).*/$1/',
1250     uc ( rec('700','a') )
1251     ),
1252     regex('s/^.{6}(.{1}).*/$1/',
1253     lc ( rec('200','a') )
1254     )
1255     )
1256     );
1257     } elsif ( rec('200','a') =~ m/^(A|L) / ) {
1258     marc('942','i',
1259     join_with(' ',
1260     regex('s/(^.{3}).*/$1/',
1261     uc ( rec('700','a') )
1262     ),
1263     regex('s/^.{2}(.{1}).*/$1/',
1264     lc ( rec('200','a') )
1265     )
1266     )
1267     );
1268     } else {
1269     marc('942','i',
1270     join_with(' ',
1271     regex('s/(^.{3}).*/$1/',
1272     uc ( rec('700','a') )
1273     ),
1274     regex('s/(^.{1}).*/$1/',
1275     lc ( rec('200','a') )
1276     )
1277     )
1278     );
1279     }
1280     } elsif ( rec('710','a') ) {
1281     marc('942','h',
1282     $sig1,
1283     );
1284     if ( rec('200','a') =~ m/^(The|Die|Das|Der|Ein|Les) / ) {
1285     marc('942','i',
1286     join_with(' ',
1287     regex('s/(^.{3}).*/$1/',
1288     uc ( rec('710','a') )
1289     ),
1290     regex('s/^.{4}(.{1}).*/$1/',
1291     lc ( rec('200','a') )
1292     )
1293     )
1294     );
1295     } elsif ( rec('200','a') =~ m/^(Um|Un|An|La|Le|Il) / ) {
1296     marc('942','i',
1297     join_with(' ',
1298     regex('s/(^.{3}).*/$1/',
1299     uc ( rec('710','a') )
1300     ),
1301     regex('s/^.{3}(.{1}).*/$1/',
1302     lc ( rec('200','a') )
1303     )
1304     )
1305     );
1306     } elsif ( rec('200','a') =~ m/^Eine / ) {
1307     marc('942','i',
1308     join_with(' ',
1309     regex('s/(^.{3}).*/$1/',
1310     uc ( rec('710','a') )
1311     ),
1312     regex('s/^.{5}(.{1}).*/$1/',
1313     lc ( rec('200','a') )
1314     )
1315     )
1316     );
1317     } elsif ( rec('200','a') =~ m/^Einen / ) {
1318     marc('942','i',
1319     join_with(' ',
1320     regex('s/(^.{3}).*/$1/',
1321     uc ( rec('710','a') )
1322     ),
1323     regex('s/^.{6}(.{1}).*/$1/',
1324     lc ( rec('200','a') )
1325     )
1326     )
1327     );
1328     } elsif ( rec('200','a') =~ m/^(A|L) / ) {
1329     marc('942','i',
1330     join_with(' ',
1331     regex('s/(^.{3}).*/$1/',
1332     uc ( rec('710','a') )
1333     ),
1334     regex('s/^.{2}(.{1}).*/$1/',
1335     lc ( rec('200','a') )
1336     )
1337     )
1338     );
1339     } else {
1340     marc('942','i',
1341     join_with(' ',
1342     regex('s/(^.{3}).*/$1/',
1343     uc ( rec('710','a') )
1344     ),
1345     regex('s/(^.{1}).*/$1/',
1346     lc ( rec('200','a') )
1347     )
1348     )
1349     );
1350     }
1351     } elsif ( rec('200','a') =~ m/^(The|Die|Das|Der|Ein|Les) / ) {
1352     marc('942','h',
1353     $sig1,
1354     );
1355     marc('942','i',
1356     regex('s/^.{4}(.{3}).*/$1/',
1357     uc ( rec('200','a') )
1358     ),
1359     );
1360    
1361     } else {
1362     marc('942','h',
1363     $sig1,
1364     );
1365     marc('942','i',
1366     regex('s/(^\w{3}).*/$1/',
1367     uc ( rec('200','a') )
1368     )
1369     )
1370     }
1371     } # if config()
1372 dpavlin 1095
1373 dpavlin 1112 if ( ( rec('230') || rec('231') || rec('232') || rec('233') ) ) {
1374     warn "nema primjeraka";
1375     } else {
1376     marc('952','8',
1377     rec('991','8')
1378     );
1379     marc('952','a',
1380     rec('991','a')
1381     );
1382     marc('952','b',
1383     rec('991','b')
1384     );
1385     marc('952','c',
1386     rec('991','c'),
1387     );
1388     marc('952','i',
1389     rec('991','i')
1390     );
1391     marc('952','y',
1392     rec('991','y')
1393     );
1394     }
1395 dpavlin 795 } # polje 200a
1396 dpavlin 1095 # } sig

  ViewVC Help
Powered by ViewVC 1.1.26