/[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 569 by dpavlin, Sun Jul 2 21:32:53 2006 UTC revision 583 by dpavlin, Wed Jul 5 00:12:08 2006 UTC
# Line 1  Line 1 
1  # Leader  # Leader
 #  
 # if ( rec('999') && first(rec('999')) =~ m/pregledan/i) {  
 #       marc_leader('05','c');  
 # } else {  
 #       marc_leader('05','n');  
 # }  
 #  
 # marc_leader('06','a');  
 #  
 # marc_leader('07','m');  
 #  
 # marc_leader('18','i');  
 #  
 # if ( rec('230') ) {  
 #       marc_leader('19','r');  
 # }  
2    
3    if ( rec('200','a') ) {
4    
5    if ( rec('999') && first(rec('999')) =~ m/pregledan/i) {
6            marc_leader('05','c');
7    } else {
8            marc_leader('05','n');
9    }
10    
11    marc_leader('06','a');
12    
13    marc_leader('07','m');
14    
15  # greška! - 000 se ne zapisuje u marc:  marc_leader('18','i');
16    
17  marc('001',  if ( rec('230') ) {
18          rec('000')          marc_leader('19','r');
19    }
20    
21    
22    # 001 polje dodaje Voyager
23    
24    # polje 035 je u NSK ponovljivo. zašto ???
25    
26    
27    marc('035','6',
28            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 193  marc('111','a', Line 291  marc('111','a',
291          rec('710','a')          rec('710','a')
292  );  );
293    
294    marc('111','c',
295            rec('710','e')
296    );
297    
298    marc('111','d',
299            rec('710','f')
300    );
301    
302  marc('111','e',  marc('111','e',
303          rec('710','b')          rec('710','b')
304  );  );
# Line 201  marc('111','n', Line 307  marc('111','n',
307          rec('710','d')          rec('710','d')
308  );  );
309    
 marc('111','c',  
         rec('710','e')  
 );  
   
 marc('111','d',  
         rec('710','f')  
 );  
310    
311  } else {  } else {
312                    
# Line 223  marc('110','c', Line 322  marc('110','c',
322  }  }
323    
324  # zapisi za duplanje  # zapisi za duplanje
325  #  
326  # if ( rec('230') ) {  if ( rec('230') ) {
327  #  
328  # marc('245','a',  marc_duplicate();
329  #       rec('230','a')  
330  # );  marc_remove('245');
331  #  
332  # marc('245','b',  marc('245','a',
333  #       rec('230','e')          rec('230','a')
334  # );  );
335  #  
336  # marc('245','c',  if ( ! rec('230','a') ) {
337  #       rec('230','f')  
338  # );  marc('245','a',
339  #          rec('200','a')
340  # marc('245','n',  );
341  #       rec('230','v')  
342  # );  }
343  #  
344  # }  marc('245','b',
345            rec('230','e')
346    );
347    
348    marc('245','c',
349            rec('230','f')
350    );
351    
352    marc('245','n',
353            rec('230','v')
354    );
355    
356    }
357    
358    }

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

  ViewVC Help
Powered by ViewVC 1.1.26