/[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 582 by dpavlin, Tue Jul 4 11:36:03 2006 UTC revision 583 by dpavlin, Wed Jul 5 00:12:08 2006 UTC
# Line 1  Line 1 
1  # Leader  # Leader
2    
3    if ( rec('200','a') ) {
4    
5  if ( rec('999') && first(rec('999')) =~ m/pregledan/i) {  if ( rec('999') && first(rec('999')) =~ m/pregledan/i) {
6          marc_leader('05','c');          marc_leader('05','c');
7  } else {  } else {
# Line 17  if ( rec('230') ) { Line 19  if ( rec('230') ) {
19  }  }
20    
21    
22    # 001 polje dodaje Voyager
23    
24    # polje 035 je u NSK ponovljivo. zašto ???
25    
 # greška! - 000 se ne zapisuje u marc:  
26    
27  marc('001',  marc('035','6',
28          rec('000')          prefix(
29                    rec('994','a'),
30                    rec('000')
31            )
32  );  );
33    
34    # u marc 035a treba dodati System Number -
35    # NSK zapisuje Voyagerov ID (001) - kako ???
36    
37  marc('020','a',  marc('020','a',
38          rec('010')          rec('010')
39  );  );
40    
41    # u polje 040a možda još dodati prefiks HR
42    # NSK ima HR NSB (možda u novijim zapisima ima NSK)
43    
44    marc('040','a',
45            rec('801')
46    );
47    
48    marc('040','b',
49            'hrv'
50    );
51    
52  if (rec('300') && first(rec('300')) =~ m/prijevod/i) {  if (rec('300') && first(rec('300')) =~ m/prijevod/i) {
53          marc_indicators('041', 1, ' ');          marc_indicators('041', 1, ' ');
54  } else {  } else {
# Line 39  marc_repeatable_subfield('041','a', Line 60  marc_repeatable_subfield('041','a',
60  );  );
61    
62  marc_indicators('245', 0, 0);  marc_indicators('245', 0, 0);
 marc('245','a',  
         rec('200','a')  
 );  
63    
64  marc('245','b',  marc_compose('245',
65            'a', rec('200','a'),
66            'h', rec('200','b'),
67            'b',
68          join_with(' : ',          join_with(' : ',
69                  rec('200','d'),                  rec('200','d'),
70                  rec('200','e')                  rec('200','e')
71          )          ),
72  );          'c',
   
 marc('245','c',  
73          join_with(' ; ',          join_with(' ; ',
74                  rec('200','f'),                  rec('200','f'),
75                  rec('200','g')                  rec('200','g')
76          )          ),
77  );  );
78    
79    # marc('245','a',
80    #       rec('200','a')
81    # );
82    #
83    # marc('245','b',
84    #       join_with(' : ',
85    #               rec('200','d'),
86    #               rec('200','e')
87    #       )
88    # );
89    #
90    # marc('245','c',
91    #       join_with(' ; ',
92    #               rec('200','f'),
93    #               rec('200','g')
94    #       )
95    # );
96    
97  marc('250','a',  marc('250','a',
98          rec('205','a')          rec('205','a')
99  );  );
# Line 118  marc('504','a', Line 155  marc('504','a',
155          rec('320')          rec('320')
156  );  );
157    
158  marc('501','a',  # napomene uz konverziju polja sa sadržajem:
159          rec('327')  # NSK konvertira 327 (NP) u 501 (R)
160    # u LOC konv. tablici stoji 327 (NP) u 505 (NR)
161    # standard i validacije dopuštaju 501 (R) i 505 (R)
162    # FFPS koristi 327 (P)
163    # FFIZ koristi 327
164    
165    
166    marc_indicators('505', '0', ' ');
167    marc('505','a',
168            regex('s/\\r\\n\\r\\n|\\r\\n/ ; /g',
169                    rec('327')
170            )
171  );  );
172    
173    # napomene uz konverziju polja 330:
174    # NSK konvertira 330 (P) u 520 (P) = LOC konv. tablica
175    # FFIZ koristi 330 (P) - ključne riječi, dijelovi sadržaja, sažeci
176    # FFFO koristi 330 (P) - ključne riječi, dijelovi sadržaja
177    # FFPS koristi 330 (NP) - sažetak
178    
179  marc('520','a',  marc('520','a',
180          rec('330')          regex('s/\\r\\n\\r\\n|\\r\\n/. /g',
181                    rec('330')
182            )
183  );  );
184    
185  # možda i polje 520y - jezik napomene ako je uvijek isti jezik  # možda i polje 520y - jezik napomene ako je uvijek isti jezik
# Line 138  marc('653','a', Line 194  marc('653','a',
194          rec('610')          rec('610')
195  );  );
196    
197    # 675 podpolja c, d ... - što s njima ???
198    
199  marc('080','a',  marc('080','a',
200          rec('675','a')          rec('675','a')
201  );  );
202    
203  # podpolja c, d ... - što s njima?  # 084 je other classification (R)
204    # NSK ga koristi za stručnu oznaku NSK iz polja 681
205    # NSK definira i prelazak polja 686 u 084, u skladu s LOC konv. tablicom
206    #
207    # polje 686 koristi FFPS
208    
209  marc('084','a',  marc('084','a',
210          rec('686')          rec('686')
# Line 158  marc('100','a', Line 220  marc('100','a',
220    
221    
222  marc_indicators('700', 1, ' ');  marc_indicators('700', 1, ' ');
223    
224    if ( rec('701') ) {
225    marc('700','4',
226            'aut'
227    );
228    }
229    
230  marc('700','a',  marc('700','a',
231          join_with(', ',          join_with(', ',
232                  rec('701', 'a'),                  rec('701', 'a'),
# Line 165  marc('700','a', Line 234  marc('700','a',
234          )          )
235  );  );
236    
237  if ( rec('701') ) {  marc('700','a',
238  marc('700','4',          join_with(', ',
239          'aut'                  rec('701', 'c'),
240  );                  rec('701', 'd')
241  }          )
242    );
243    
244    marc('700','a',
245            join_with(', ',
246                    rec('701', 'e'),
247                    rec('701', 'f')
248            )
249    );
250    
251    marc('700','a',
252            join_with(', ',
253                    rec('701', 'g'),
254                    rec('701', 'h')
255            )
256    );
257    
258  marc('700','a',  marc('700','a',
259          join_with(', ',          join_with(', ',
# Line 178  marc('700','a', Line 262  marc('700','a',
262          )          )
263  );  );
264    
265  # podesiti podpolje 4 na editore nije dobra ideja  marc('700','a',
266  #          join_with(', ',
267  # if ( rec('702') ) {                  rec('702','c'),
268  #       marc('700','4',                  rec('702','d')
269  #               '340'          )
270  #       );  );
271  # }  
272    marc('700','a',
273            join_with(', ',
274                    rec('702','e'),
275                    rec('702','f')
276            )
277    );
278    
279    marc('700','a',
280            join_with(', ',
281                    rec('702','g'),
282                    rec('702','h')
283            )
284    );
285    
286    
287  if ( rec('710','f') ) {  if ( rec('710','f') ) {
288    
# Line 235  marc('245','a', Line 333  marc('245','a',
333          rec('230','a')          rec('230','a')
334  );  );
335    
336    if ( ! rec('230','a') ) {
337    
338    marc('245','a',
339            rec('200','a')
340    );
341    
342    }
343    
344  marc('245','b',  marc('245','b',
345          rec('230','e')          rec('230','e')
346  );  );
# Line 248  marc('245','n', Line 354  marc('245','n',
354  );  );
355    
356  }  }
357    
358    }

Legend:
Removed from v.582  
changed lines
  Added in v.583

  ViewVC Help
Powered by ViewVC 1.1.26