/[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 782 by dpavlin, Fri Nov 3 20:41:12 2006 UTC revision 783 by dpavlin, Wed Dec 6 23:42:20 2006 UTC
# Line 44  join_with('', Line 44  join_with('',
44  );  );
45    
46    
47  # u FFSF bazama postoji nekoliko zaredanih ISBN, odvojenih s '. - '  # FFSF - nekoliko zaredanih ISBN, odvojenih s '. - '
48    # drugi ISBN počinje prefixom ISBN
49    
50  marc('020','a',  marc('020','a',
51          rec('10')          regex('s/ ISBN //g',
52                    rec('10')
53            )
54  );  );
55    
   
56  # u polje 040a - prefiks HR ?  # u polje 040a - prefiks HR ?
57  # NSK ima HR NSB (možda u novijim zapisima ima NSK?)  # NSK ima HR NSB (možda u novijim zapisima ima NSK?)
58    
# Line 74  if ( rec('300') && first(rec('300')) =~ Line 76  if ( rec('300') && first(rec('300')) =~
76    
77  ## naći primjer u NSK  ## naći primjer u NSK
78    
79    #_debug(2);
80  marc_repeatable_subfield('041','a',  marc_repeatable_subfield('041','a',
81          rec('101')          rec('101')
82  );  );
83    #_debug(0);
84    
85  # indikatori za članove. treba uvjetovati prema jezicima !!  # indikatori za članove. treba uvjetovati prema jezicima !!
86    
87    marc_indicators('245', 0, 0);
88    
89  if (    ( rec('200','a') =~ m/^Die /) ||  if (    ( rec('200','a') =~ m/^Die /) ||
90          ( rec('200','a') =~ m/^Das /) ||          ( rec('200','a') =~ m/^Das /) ||
91          ( rec('200','a') =~ m/^The /) ) {          ( rec('200','a') =~ m/^The /) ) {
92                  marc_indicators('245', 0, 4);                  marc_indicators('245', 0, 4);
93  } else {  }
94          marc_indicators('245', 0, 0);  
95  }  if (    ( rec('200','a') =~ m/^A /) && ( rec(101) =~ m/ENG/ ) )
96            {
97                    marc_indicators('245', 0, 2);
98    }
99    
100    
101    
102    
103  #_debug(3);  #_debug(3);
104    
# Line 100  marc_compose('245', Line 112  marc_compose('245',
112                                   '.',                                   '.',
113                          rec('200','a')                          rec('200','a')
114          ),          ),
115          'h', rec('200','b'),  #       'h', rec('200','b'),
116          'b', suffix(          'b', suffix(
117                  ( rec('200','k') && rec('200','f') ) ? ' / ' :                  ( rec('200','k') && rec('200','f') ) ? ' / ' :
118                                       ' ',                                       ' ',
# Line 121  marc_compose('245', Line 133  marc_compose('245',
133                          ),                          ),
134          ),          ),
135    
136  # ovo trenutno radi za slučaj kad f nije ponovljivo i kad uvijek postoje c i f u paru !!!          'c', rec('200','f'),
137          'c', join_with('. ',  
138                  rec('200','f'),  # append to last subfield
139                  rec('200','c'),          '+', prefix('. ', rec('200','c') ),
         ),  
 # FIXME append to last subfield  
 #       '+', prefix('. ', rec('200','c') ),  
140  );  );
141    
142    
143    #marc('440','a',
144    #       suffix(
145    #               rec('225','e') ?  ' : ' :
146    #               rec('225','v') ?  ' ; ' :
147    #                                 '. ',
148    #                       rec('225','a'),
149    #       )
150    #);
151    
152    
153    
154    
155    
156    
157  #_debug(0);  #_debug(0);
158    
159  marc('250','a',  marc('250','a',
# Line 155  marc_original_order('260', '210'); Line 178  marc_original_order('260', '210');
178    
179  marc('300','a',  marc('300','a',
180          suffix(          suffix(
181                  rec('215','c')  ?       ' : ' :                  rec('215','c') ? ' : ' :
182                  rec('215','d')  ?       ' ; ' :                  rec('215','d') ? ' ; ' :
183                  rec('215','e')  ?       ' + ' :                  rec('215','e') ? ' + ' :
184                                          ' ',                                          ' ',
185                          rec('215','a')                          rec('215','a')
186          )          )
# Line 165  marc('300','a', Line 188  marc('300','a',
188    
189  marc('300','b',  marc('300','b',
190          suffix(          suffix(
191                  ( rec('215','c') && rec('215','d') )    ?       ' ; ' :                  ( rec('215','c') && rec('215','d') ) ? ' ; ' :
192                  ( rec('215','c') && rec('215','e') )    ?       ' + ' :                  ( rec('215','c') && rec('215','e') ) ? ' + ' :
193                                                                  ' ',                                                                  ' ',
194                          rec('215','c')                          rec('215','c')
195          )          )
# Line 187  marc('300','e', Line 210  marc('300','e',
210    
211  # provjeriti  # provjeriti
212    
213  marc_indicators('490', 0, ' ');  marc_indicators('440', ' ', '0');
   
 marc('490','a',  
         rec('225','a')  
 );  
   
 marc('490','v',  
         join_with(', ',  
                 rec('225','v'),  
                 rec('225','w')  
         ),  
 );  
214    
215  marc('490','x',  marc('440','a',
216          rec('225','x')          join_with(' / ',
217                    rec('225','a'),
218                    rec('225','f')
219            )
220  );  );
221    
222  #marc('490','a',  #marc('440','a',
223  #       join_with(' : ',  #       join_with(' : ',
224  #               rec('225','a'),  #               rec('225','a'),
225  #               join_with(" =  ",  #               join_with(" =  ",
# Line 217  marc('490','x', Line 232  marc('490','x',
232  #       )  #       )
233  #);  #);
234    
235    marc('440','h',
236            rec('225','h')
237    );
238    
239    marc('440','p',
240            rec('225','i')
241    );
242    
243    marc('440','v',
244            join_with(', ',
245                    rec('225','v'),
246                    rec('225','w')
247            ),
248    );
249    
250    marc('440','x',
251            rec('225','x')
252    );
253    
254  #marc('490','v',  #marc('490','v',
255  #       join2_with(225, 'v', ' , ', 225,'w');  #       join2_with(225, 'v', ' , ', 225,'w');
256  #       join_with(', ',  #       join_with(', ',
# Line 467  marc('110','c', Line 501  marc('110','c',
501    
502  marc_indicators('740', 0, ' ');  marc_indicators('740', 0, ' ');
503    
504  if ( ! rec('464') ) {  # if ( ! rec('464') ) {
505  marc('740','a',  # marc('740','a',
506          rec('200','c')  #       rec('200','c')
507  );  # );
508    
509  marc('740','a',  # marc('740','a',
510          rec('200','k')  #       rec('200','k')
511  );  # );
512    
513  } else {  # } else {
514  marc('740','a',  
515          rec('464','a')          marc('740','a',
516  );                  rec('464','a')
517  };          );
518    
519    # };
520    
521    
522    
# Line 584  if ( rec('230') ) { Line 620  if ( rec('230') ) {
620                  rec('260')                  rec('260')
621          );          );
622    
623          marc_remove('490');          marc_remove('440');
624          marc('490','a',          marc('440','a',
625                  rec('270')                  rec('270')
626          );          );
627    
# Line 618  if ( rec('230') ) { Line 654  if ( rec('230') ) {
654    
655  };  };
656    
657    my $nak_cj = get( rec('225','a') );
658    
659    if ($nak_cj) {
660    
661    marc('760','w',
662            $nak_cj
663    );
664    
665    }
666    
667  marc_indicators('776', 0, ' ');  marc_indicators('776', 0, ' ');
668    
669  marc('776','a',  marc('776','a',
670          rec('452','1')          rec('452','1')
671  );  );
672    
673  marc('900','a',  #marc('900','a',
674          lookup(  #       lookup(
675                  sub { rec('000') },  #               sub { rec('000') },
676                  'ffps','libri',  #               'ffps','libri',
677                  sub { rec('200','a') },  #               sub { rec('200','a') . rec('200','f') . rec('205') },
678          )  #       )
679  );  #);
680    
681    #marc('901','a',
682    #       lookup(
683    #               sub { 'NSK: ' . rec('200','a') },
684    #               'nsk','baza',
685    #               sub { rec('200','a') },
686    #               sub { rec('10') }
687    #       )
688    #);
689    
690    if ( ! rec('464') && rec('200','c') ) {
691            marc('003','a',
692                    'ima-200c-nema-464'
693            );
694    }
695    
696    if ( ! rec('464') && rec('200','k') ) {
697            marc('005','a',
698                    'ima-200k-nema-464'
699            );
700    }
701    
702    if ( ! ( rec('200','c') || rec('200','k') ) && rec('464') ) {
703            marc('006','a',
704                    'ima-464-nema-200c-ili-200k'
705            );
706    }
707    
708    
 marc('901','a',  
         lookup(  
                 sub { 'NSK' },  
                 'nsk','baza',  
                 sub { rec('200','a') },  
         )  
 );  
709    
710  }  }

Legend:
Removed from v.782  
changed lines
  Added in v.783

  ViewVC Help
Powered by ViewVC 1.1.26