/[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

Diff of /trunk/conf/normalize/ff-libri.pl

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

revision 792 by dpavlin, Tue Jan 30 18:23:53 2007 UTC revision 795 by dpavlin, Sun Feb 4 12:37:42 2007 UTC
# Line 1  Line 1 
1    ##################################################################################
2    ## Ova datoteka sadrži pravila za generiranje MARC21 ISO 2709 izlazne datoteke. ##
3    ## Ulazni format je CDS/ISIS sa zapisima u UNIMARC-u.                           ##
4    ##################################################################################
5    
6    
7  # konvertira se ako postoji polje 200^a  # konvertira se ako postoji polje 200^a
8    
9  if ( rec('200','a') ) {  if ( rec('200','a') ) {
10    
11  ### LEADER  ### LEADER
12  # raspraviti 17,18  # raspraviti 17,18
13  # u nekim knjižnicama koristi se 999a i 999b  # u nekim knjižnicama koristi se 999a i 999b, a u nekima samo 999
14    
15  if ( rec('999') && first(rec('999')) =~ m/pregledan/i) {  if ( rec('999') && first(rec('999')) =~ m/(pregledan|P)/i) {
16          marc_leader('05','c');          marc_leader('05','c');
17  } else {  } else {
18          marc_leader('05','n');          marc_leader('05','n');
# Line 303  marc_indicators('440', ' ', '0'); Line 309  marc_indicators('440', ' ', '0');
309  marc('440','a',  marc('440','a',
310          join_with(' : ',          join_with(' : ',
311                  rec('225','a'),                  rec('225','a'),
312                  rec('225','e')                  join_with(' / ',
313                            rec('225','e'),
314                            rec('225','f')
315                    )
316          )          )
317  ) ;  ) ;
318    
# Line 356  marc('500','a', Line 365  marc('500','a',
365          rec('314')          rec('314')
366  );  );
367    
368    ### 502 - bilješka o disertacijama
369    # odgovarajućeg polja nema u originalnim podacima. možda se može pretpostaviti?
370    
371  ### 504  ### 504
372    
373  marc('504','a',  marc('504','a',
# Line 598  if ($series_key) { Line 610  if ($series_key) {
610  #  #
611    
612    
 ### višerazinci  
 # odvojiti u posebnu datoteku i dokumentirati  
   
   
 if ( rec('230') ) {  
   
         marc_duplicate();  
   
         marc_remove('035');  
         marc('035','6',  
                 join_with('',  
                         config(),  
                         rec('000'),  
                         '-',  
                         id(),  
                 )  
         );  
   
   
         marc_remove('245');  
           
         if ( rec('230','a') ) {  
                 marc_compose('245',  
                 'a', suffix(  
                         rec('230','b') ? '. '   :  
                         rec('230','k') ? ' ; '  :  
                         rec('230','d') ? ' = '  :  
                         rec('230','e') ? ' : '  :  
                         rec('230','f') ? ' / '  :  
                                          '.',  
                                 rec('230','a')  
                 ),  
                 'b',  
                         join_with(' ; ',  
                                 rec('230','k'),  
                         ),  
                 'b', rec('230','d'),  
                 'b',  
                         join_with(' : ',  
                                 rec('230','e'),  
                         ),  
                 'c',  
                         join_with(' ; ',  
                                 rec('230','f'),  
                         ),  
         );  
           
         } else {  
           
                 marc_compose('245',  
                 'a', suffix(  
                         rec('230','b') ? '. '   :  
                         rec('230','k') ? ' ; '  :  
                         rec('230','d') ? ' = '  :  
                         rec('230','e') ? ' : '  :  
                         rec('230','f') ? ' / '  :  
                                          '.',  
                                 rec('200','a')  
                 ),  
                 'b',  
                         join_with(' ; ',  
                                 rec('230','k'),  
                         ),  
                 'b', rec('230','d'),  
                 'b',  
                         join_with(' : ',  
                                 rec('230','e'),  
                         ),  
                 'c',  
                         join_with(' ; ',  
                                 rec('230','f'),  
                         ),  
                 'n', rec('230','v'),  
         );  
           
         }  
   
         marc_remove('260');  
   
 #       marc_original_order('260', '250');  
   
         marc('260','c',  
                 rec1('251')  
         );  
   
   
 #       marc('260','a',  
 #               rec('251','a')  
 #       );  
 #       marc('260','b',  
 #               rec('251','c')  
 #       );  
 #       marc('260','c',  
 #               rec('251','d'),  
 #               rec1('251')  
 #       );  
   
         marc_remove('300');  
         marc('300','a',  
                 rec('260')  
         );  
   
         marc_remove('440');  
         marc('440','a',  
                 rec('270')  
         );  
   
         marc_remove('500');  
         marc('500','a',  
                 rec('280')  
         );  
   
         marc_remove('020');  
         marc('020','a',  
                 rec('290')  
         );  
   
         marc_indicators('774', 0, ' ');  
         marc('774','g',  
                 rec('230','v')  
         );  
   
         marc('774','t',  
                 rec('200','a')  
         );  
           
         marc('774','w',  
                 join_with('',  
                         config(),  
                         rec('000')  
                 )  
         );  
   
   
 }  
613    
614  ##################################  ##################################
615  ##                              ##  ##                              ##
# Line 772  if ( rec('200') =~ m/prev/ ) { Line 649  if ( rec('200') =~ m/prev/ ) {
649    
650    
651    
652  }  } # polje 200a

Legend:
Removed from v.792  
changed lines
  Added in v.795

  ViewVC Help
Powered by ViewVC 1.1.26