/[webpac2]/trunk/conf/normalize/mapping.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

Diff of /trunk/conf/normalize/mapping.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 595 by dpavlin, Mon Jul 10 10:16:11 2006 UTC revision 629 by dpavlin, Tue Sep 5 21:02:39 2006 UTC
# Line 25  if ( rec('230') ) { Line 25  if ( rec('230') ) {
25    
26  # polje 035 je u NSK ponovljivo. zašto ???  # polje 035 je u NSK ponovljivo. zašto ???
27    
28  # privemeno koristimo 0356 umjesto 0359  # privemeno koristimo 0356 umjesto 0359, zato što marclint 9 prijavljuje kao grešku
29    
30  marc('035','6',  marc('035','6',
31          join_with(' ',  join_with('',
32  #               config('input normalize path'),  #               config('input normalize path'),
33                  config('name'),  #               config('name'),
34                  config('input name'),  #               config('input name'),
35                  config(),                  config(),
36                  id(),  #               id(),
37                  rec('994','a'),  #               rec('994','a'),
38                  rec('000')                  rec('000')
39          )          )
40  );  );
# Line 45  marc('035','6', Line 45  marc('035','6',
45  # u FFSF bazama postoji nekoliko zaredanih ISBN, odvojenih s '. - '  # u FFSF bazama postoji nekoliko zaredanih ISBN, odvojenih s '. - '
46    
47  marc('020','a',  marc('020','a',
48          rec('010')          rec('10')
49  );  );
50    
51  # u polje 040a možda još dodati prefiks HR  # u polje 040a možda još dodati prefiks HR
# Line 74  marc_indicators('245', 0, 0); Line 74  marc_indicators('245', 0, 0);
74  #_debug(3);  #_debug(3);
75    
76  marc_compose('245',  marc_compose('245',
77          'a', rec('200','a'),          'a', suffix(
78                    rec('200','b') ? '. '   :
79                    rec('200','k') ? ' ; '  :
80                    rec('200','d') ? ' = '  :
81                    rec('200','e') ? ' : '  :
82                    rec('200','f') ? ' / '  :
83                                     '.',
84                            rec('200','a')
85            ),
86          'h', rec('200','b'),          'h', rec('200','b'),
87          'b',          'b',
88          join_with(' : ',                  join_with(' ; ',
89                  rec('200','d'),                          rec('200','k'),
90                  rec('200','e')                  ),
91          ),          'b', rec('200','d'),
92            'b',
93                    join_with(' : ',
94                            rec('200','e'),
95                    ),
96          'c',          'c',
97          join_with(' ; ',                  join_with(' ; ',
98                  rec('200','f'),                          rec('200','f'),
99                  rec('200','g')                  ),
100          ),  # FIXME append to last subfield
101            '+', prefix('. ', rec('200','c') ),
102  );  );
103    
104    
105  #_debug(0);  #_debug(0);
106    
107    
108  # marc('245','a',  # marc('245','a',
109  #       rec('200','a')  #       rec('200','a')
110  # );  # );
# Line 112  marc('250','a', Line 127  marc('250','a',
127          rec('205','a')          rec('205','a')
128  );  );
129    
130  marc_compose('260',  # FIXME ponovljiva potpolja u originalnom redosljedu
131          'a', split_rec_on('210','a', qr/\s*;\s*/, 1),  #
132          'b', first(rec('210','c')),  marc_original_order('260', '210');
133          'a', split_rec_on('210','a', qr/\s*;\s*/, 2),  
134          'c', first(rec('210','d')),  # marc('260','a',
135  );  #       rec('210','a'),
136    # );
137    #
138    # marc('260','b',
139    #       rec('210','c'),
140    # );
141    
142    # marc('260','c',
143    #       rec('210','d'),
144    # );
145    
146    # marc_compose('260',
147    #       'a', split_rec_on('210','a', qr/\s*;\s*/, 1),
148    #       'b', first(rec('210','c')),
149    #       'a', split_rec_on('210','a', qr/\s*;\s*/, 2),
150    #       'c', first(rec('210','d')),
151    # );
152    
153  marc('300','a',  marc('300','a',
154          rec('215','a')          rec('215','a')
# Line 138  marc('300','e', Line 169  marc('300','e',
169    
170  marc_indicators('490', 1, ' ');  marc_indicators('490', 1, ' ');
171  marc('490','a',  marc('490','a',
172          join_with(' = ',          join_with(' : ',
173                  rec('225','a'),                  rec('225','a'),
174                  join_with(" :  ",                  join_with(" =  ",
175                          rec('225','d'),                          rec('225','d'),
176                          join_with(" / ",                          join_with(" / ",
177                                  rec('225','e'),                                  rec('225','e'),
# Line 151  marc('490','a', Line 182  marc('490','a',
182  );  );
183    
184  marc('490','v',  marc('490','v',
185    #       join2_with(225, 'v', ' , ', 225,'w');
186          join_with(', ',          join_with(', ',
187                  rec('225','v'),                  rec('225','v'),
188                  rec('225','w')                  rec('225','w')
# Line 232  marc('100','a', Line 264  marc('100','a',
264          )          )
265  );  );
266    
267    #_debug(2);
268    
269  marc_indicators('700', 1, ' ');  marc_indicators('700', 1, ' ');
270    
# Line 242  marc('700','4', Line 275  marc('700','4',
275  }  }
276    
277  marc('700','a',  marc('700','a',
278          join_with(', ',          rec('701', 'a'),
                 rec('701', 'a'),  
                 rec('701', 'b')  
         )  
279  );  );
280    
281  marc('700','a',  marc('700','a',
# Line 269  marc('700','a', Line 299  marc('700','a',
299          )          )
300  );  );
301    
302    
303  marc('700','a',  marc('700','a',
304          join_with(', ',          rec('702','a'),
                 rec('702','a'),  
                 rec('702','b')  
         )  
305  );  );
306    
307    
308    # ako je u originalu ponovljivo polje treba biti i konvertirano!!
309    
310    
311  marc('700','a',  marc('700','a',
312          join_with(', ',          join_with(', ',
313                  rec('702','c'),                  rec('702','c'),
# Line 297  marc('700','a', Line 329  marc('700','a',
329          )          )
330  );  );
331    
332    #_debug(0);
333    
334    
335  if ( rec('710','f') ) {  if ( rec('710','f') ) {
336    
# Line 333  marc('110','c', Line 367  marc('110','c',
367          rec('710','c')          rec('710','c')
368  );  );
369    
370  }  };
   
 # zapisi za duplanje  
   
 if ( rec('230') ) {  
371    
 marc_duplicate();  
372    
373  marc_remove('245');  marc_indicators('740', 0, ' ');
 marc_remove('035','6');  
374    
375  marc('245','a',  if ( ! rec('464') ) {
376          rec('230','a')  marc('740','a',
377            rec('200','c')
378  );  );
379    
380  if ( ! rec('230','a') ) {  marc('740','a',
381            rec('200','k')
382    );
383    
384  marc('245','a',  } else {
385          rec('200','a')  marc('740','a',
386            rec('464','a')
387  );  );
388    };
389    
 }  
390    
 marc('245','b',  
         rec('230','e')  
 );  
391    
392  marc('245','c',  ## višerazinci
         rec('230','f')  
 );  
393    
394  marc('245','n',  if ( rec('230') ) {
         rec('230','v')  
 );  
395    
396  }          marc_duplicate();
397            
398            marc_remove('245');
399            marc_compose('245',
400            'a', suffix(
401                    rec('200','b') ? '. '   :
402                    rec('200','k') ? ' ; '  :
403                    rec('200','d') ? ' = '  :
404                    rec('200','e') ? ' : '  :
405                    rec('200','f') ? ' / '  :
406                                     '.',
407                            rec('230','a')
408            ),
409            'b',
410                    join_with(' ; ',
411                            rec('230','k'),
412                    ),
413            'b', rec('230','d'),
414            'b',
415                    join_with(' : ',
416                            rec('230','e'),
417                    ),
418            'c',
419                    join_with(' ; ',
420                            rec('230','f'),
421                    ),
422            );
423    
424            marc_remove('260');
425            marc('260','c',
426                    rec('250')
427            );
428    
429            marc_remove('300');
430            marc('300','a',
431                    rec('260')
432            );
433    
434            marc_remove('490');
435            marc('490','a',
436                    rec('270')
437            );
438    
439            marc_remove('500');
440            marc('500','a',
441                    rec('280')
442            );
443    
444            marc_remove('020');
445            marc('020','a',
446                    rec('290')
447            );
448    
449            marc_indicators('774', 0, ' ');
450            marc('774','6',
451                    join_with('',
452                            config(),
453                            rec('000')
454                    )
455            );
456    
457            marc('774','g',
458                    rec('230','v')
459            );
460    
461    };
462    
463  }  }

Legend:
Removed from v.595  
changed lines
  Added in v.629

  ViewVC Help
Powered by ViewVC 1.1.26