/[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 603 by dpavlin, Sun Jul 23 20:19:56 2006 UTC revision 722 by dpavlin, Fri Sep 29 12:48:07 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('',
# Line 45  join_with('', Line 45  join_with('',
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 63  if (rec('300') && first(rec('300')) =~ m Line 63  if (rec('300') && first(rec('300')) =~ m
63          marc_indicators('041', 1, ' ');          marc_indicators('041', 1, ' ');
64  } else {  } else {
65          marc_indicators('041', 0, ' ');          marc_indicators('041', 0, ' ');
66  }  };
67    
68  marc_repeatable_subfield('041','a',  marc_repeatable_subfield('041','a',
69          rec('101')          rec('101')
70  );  );
71    
72  marc_indicators('245', 0, 0);  # marc_indicators('245', 0, 0);
73    
74    if ( rec('700') ) {
75            marc_indicators('245', 1, 0);
76    } else {
77            marc_indicators('245', 0, 0);
78    };
79    
80  #_debug(3);  #_debug(3);
81    
# Line 84  marc_compose('245', Line 90  marc_compose('245',
90                          rec('200','a')                          rec('200','a')
91          ),          ),
92          'h', rec('200','b'),          'h', rec('200','b'),
93          'b', rec('200','k'),          'b',
94          'b', rec('200','d'),                  join_with(' ; ',
95          'b', rec('200','e'),                          rec('200','k'),
96          'c', rec('200','f'),                  ),
97            'b', rec('200','d'),
98            'b',
99                    join_with(' : ',
100                            rec('200','e'),
101                    ),
102            'c',
103                    join_with(' ; ',
104                            rec('200','f'),
105                    ),
106  # FIXME append to last subfield  # FIXME append to last subfield
107          '+', prefix('. ', rec('200','c') ),          '+', prefix('. ', rec('200','c') ),
108  );  );
# Line 120  marc('250','a', Line 135  marc('250','a',
135    
136  # FIXME ponovljiva potpolja u originalnom redosljedu  # FIXME ponovljiva potpolja u originalnom redosljedu
137  #  #
138  # marc_original_order('260', '210');  marc_original_order('260', '210');
   
 marc('260','a',  
         rec('210','a'),  
 );  
139    
140  marc('260','b',  # marc('260','a',
141          rec('210','c'),  #       rec('210','a'),
142  );  # );
143    #
144    # marc('260','b',
145    #       rec('210','c'),
146    # );
147    
148  marc('260','c',  # marc('260','c',
149          rec('210','d'),  #       rec('210','d'),
150  );  # );
151    
152  # marc_compose('260',  # marc_compose('260',
153  #       'a', split_rec_on('210','a', qr/\s*;\s*/, 1),  #       'a', split_rec_on('210','a', qr/\s*;\s*/, 1),
# Line 362  marc('110','c', Line 377  marc('110','c',
377    
378    
379  marc_indicators('740', 0, ' ');  marc_indicators('740', 0, ' ');
380    
381    if ( ! rec('464') ) {
382  marc('740','a',  marc('740','a',
383          rec('200','c')          rec('200','c')
384  );  );
385    
386    marc('740','a',
387            rec('200','k')
388    );
389    
390    } else {
391    marc('740','a',
392            rec('464','a')
393    );
394    };
395    
396    
397  # višerazinci  
398    ## višerazinci
399    
400  if ( rec('230') ) {  if ( rec('230') ) {
401    
402          marc_duplicate();          marc_duplicate();
403            
404          marc_remove('245');          marc_remove('245');
405            marc_compose('245',
406          marc('245','a',          'a', suffix(
407                  rec('230','a')                  rec('200','b') ? '. '   :
408                    rec('200','k') ? ' ; '  :
409                    rec('200','d') ? ' = '  :
410                    rec('200','e') ? ' : '  :
411                    rec('200','f') ? ' / '  :
412                                     '.',
413                            rec('230','a')
414            ),
415            'b',
416                    join_with(' ; ',
417                            rec('230','k'),
418                    ),
419            'b', rec('230','d'),
420            'b',
421                    join_with(' : ',
422                            rec('230','e'),
423                    ),
424            'c',
425                    join_with(' ; ',
426                            rec('230','f'),
427                    ),
428          );          );
429    
430          if ( ! rec('230','a') ) {          marc_remove('260');
431            marc('260','c',
432                  marc('245','a',                  rec('250')
                         rec('200','a')  
                 );  
         }  
   
         marc('245','b',  
                 rec('230','e')  
433          );          );
434    
435          marc('245','c',          marc_remove('300');
436                  rec('230','f')          marc('300','a',
437                    rec('260')
438          );          );
439    
440          marc('245','n',          marc_remove('490');
441                  rec('230','v')          marc('490','a',
442                    rec('270')
443          );          );
444    
445  }          marc_remove('500');
446            marc('500','a',
447  if ( rec('231') ) {                  rec('280')
   
         marc_duplicate();  
         marc_remove('245');  
   
         marc('245','a',  
                 rec('231','a')  
448          );          );
449    
450          if ( ! rec('231','a') ) {          marc_remove('020');
451            marc('020','a',
452                  marc('245','a',                  rec('290')
                         rec('200','a')  
                 );  
         }  
   
         marc('245','b',  
                 rec('231','e')  
453          );          );
454    
455          marc('245','c',          marc_indicators('774', 0, ' ');
456                  rec('231','f')          marc('774','6',
457                    join_with('',
458                            config(),
459                            rec('000')
460                    )
461          );          );
462    
463          marc('245','n',          marc('774','g',
464                  rec('231','v')                  rec('230','v')
465          );          );
466    
467    };
468    
469  }  }
 }  

Legend:
Removed from v.603  
changed lines
  Added in v.722

  ViewVC Help
Powered by ViewVC 1.1.26