/[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 591 by dpavlin, Sun Jul 9 14:07:10 2006 UTC
# Line 1  Line 1 
1    if ( rec('200','a') ) {
2    
3  # Leader  # Leader
4  #  #
5  # if ( rec('999') && first(rec('999')) =~ m/pregledan/i) {  # raspraviti 17,18
 #       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');  
 # }  
6    
7    # u nekim knjižnicama koristi se 999a i 999b
8    
9    if ( rec('999') && first(rec('999')) =~ m/pregledan/i) {
10            marc_leader('05','c');
11    } else {
12            marc_leader('05','n');
13    }
14    
15  # greška! - 000 se ne zapisuje u marc:          marc_leader('06','a');
16            marc_leader('07','m');
17            marc_leader('18','i');
18    
19  marc('001',  if ( rec('230') ) {
20          rec('000')          marc_leader('19','r');
21    }
22    
23    
24    # 001 polje dodaje Voyager
25    
26    # polje 035 je u NSK ponovljivo. zašto ???
27    
28    # privemeno koristimo 0356 umjesto 0359
29    
30    
31    marc('035','6',
32            join_with(' ',
33    #               config('input normalize path'),
34    #               config('name'),
35    #               config('input name'),
36    #               config(),
37    #               id(),
38                    rec('994','a'),
39                    rec('000')
40            )
41  );  );
42    
43    
44    # u marc 035a treba dodati System Number -
45    # NSK zapisuje Voyagerov ID (001) - kako ???
46    
47    # u FFSF bazama postoji nekoliko zaredanih ISBN, odvojenih s '. - '
48    
49  marc('020','a',  marc('020','a',
50          rec('010')          rec('010')
51  );  );
52    
53    # u polje 040a možda još dodati prefiks HR
54    # NSK ima HR NSB (možda u novijim zapisima ima NSK?)
55    
56    marc('040','a',
57            'FFZG'
58    );
59    
60    marc('040','b',
61            'hrv'
62    );
63    
64  if (rec('300') && first(rec('300')) =~ m/prijevod/i) {  if (rec('300') && first(rec('300')) =~ m/prijevod/i) {
65          marc_indicators('041', 1, ' ');          marc_indicators('041', 1, ' ');
66  } else {  } else {
# Line 39  marc_repeatable_subfield('041','a', Line 72  marc_repeatable_subfield('041','a',
72  );  );
73    
74  marc_indicators('245', 0, 0);  marc_indicators('245', 0, 0);
 marc('245','a',  
         rec('200','a')  
 );  
75    
76  marc('245','b',  #_debug(3);
77    
78    marc_compose('245',
79            'a', rec('200','a'),
80            'h', rec('200','b'),
81            'b',
82          join_with(' : ',          join_with(' : ',
83                  rec('200','d'),                  rec('200','d'),
84                  rec('200','e')                  rec('200','e')
85          )          ),
86  );          'c',
   
 marc('245','c',  
87          join_with(' ; ',          join_with(' ; ',
88                  rec('200','f'),                  rec('200','f'),
89                  rec('200','g')                  rec('200','g')
90          )          ),
91  );  );
92    
93    #_debug(0);
94    
95    # marc('245','a',
96    #       rec('200','a')
97    # );
98    #
99    # marc('245','b',
100    #       join_with(' : ',
101    #               rec('200','d'),
102    #               rec('200','e')
103    #       )
104    # );
105    #
106    # marc('245','c',
107    #       join_with(' ; ',
108    #               rec('200','f'),
109    #               rec('200','g')
110    #       )
111    # );
112    
113  marc('250','a',  marc('250','a',
114          rec('205','a')          rec('205','a')
115  );  );
# Line 118  marc('504','a', Line 171  marc('504','a',
171          rec('320')          rec('320')
172  );  );
173    
174  marc('501','a',  # napomene uz konverziju polja sa sadržajem:
175          rec('327')  # NSK konvertira 327 (NP) u 501 (R)
176    # u LOC konv. tablici stoji 327 (NP) u 505 (NR)
177    # standard i validacije dopuštaju 501 (R) i 505 (R)
178    # FFPS koristi 327 (P)
179    # FFIZ koristi 327
180    
181    
182    marc_indicators('505', '0', ' ');
183    marc('505','a',
184            regex('s/\s*[\\r\\n]+\s*\**\s*/ ; /g',
185                    rec('327')
186            )
187  );  );
188    
189    # napomene uz konverziju polja 330:
190    # NSK konvertira 330 (P) u 520 (P) = LOC konv. tablica
191    # FFIZ koristi 330 (P) - ključne riječi, dijelovi sadržaja, sažeci
192    # FFFO koristi 330 (P) - ključne riječi, dijelovi sadržaja
193    # FFPS koristi 330 (NP) - sažetak
194    
195  marc('520','a',  marc('520','a',
196          rec('330')          regex('s/[\\r\\n]+/. /g',
197                    rec('330')
198            )
199  );  );
200    
201  # 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 210  marc('653','a',
210          rec('610')          rec('610')
211  );  );
212    
213    # 675 podpolja c, d ... - što s njima ???
214    
215  marc('080','a',  marc('080','a',
216          rec('675','a')          rec('675','a')
217  );  );
218    
219  # podpolja c, d ... - što s njima?  # 084 je other classification (R)
220    # NSK ga koristi za stručnu oznaku NSK iz polja 681
221    # NSK definira i prelazak polja 686 u 084, u skladu s LOC konv. tablicom
222    #
223    # polje 686 koristi FFPS
224    
225  marc('084','a',  marc('084','a',
226          rec('686')          rec('686')
# Line 158  marc('100','a', Line 236  marc('100','a',
236    
237    
238  marc_indicators('700', 1, ' ');  marc_indicators('700', 1, ' ');
239    
240    if ( rec('701') ) {
241    marc('700','4',
242            'aut'
243    );
244    }
245    
246  marc('700','a',  marc('700','a',
247          join_with(', ',          join_with(', ',
248                  rec('701', 'a'),                  rec('701', 'a'),
# Line 165  marc('700','a', Line 250  marc('700','a',
250          )          )
251  );  );
252    
253  if ( rec('701') ) {  marc('700','a',
254  marc('700','4',          join_with(', ',
255          'aut'                  rec('701', 'c'),
256  );                  rec('701', 'd')
257  }          )
258    );
259    
260    marc('700','a',
261            join_with(', ',
262                    rec('701', 'e'),
263                    rec('701', 'f')
264            )
265    );
266    
267    marc('700','a',
268            join_with(', ',
269                    rec('701', 'g'),
270                    rec('701', 'h')
271            )
272    );
273    
274  marc('700','a',  marc('700','a',
275          join_with(', ',          join_with(', ',
# Line 178  marc('700','a', Line 278  marc('700','a',
278          )          )
279  );  );
280    
281  # podesiti podpolje 4 na editore nije dobra ideja  marc('700','a',
282  #          join_with(', ',
283  # if ( rec('702') ) {                  rec('702','c'),
284  #       marc('700','4',                  rec('702','d')
285  #               '340'          )
286  #       );  );
287  # }  
288    marc('700','a',
289            join_with(', ',
290                    rec('702','e'),
291                    rec('702','f')
292            )
293    );
294    
295    marc('700','a',
296            join_with(', ',
297                    rec('702','g'),
298                    rec('702','h')
299            )
300    );
301    
302    
303  if ( rec('710','f') ) {  if ( rec('710','f') ) {
304    
# Line 193  marc('111','a', Line 307  marc('111','a',
307          rec('710','a')          rec('710','a')
308  );  );
309    
310    marc('111','c',
311            rec('710','e')
312    );
313    
314    marc('111','d',
315            rec('710','f')
316    );
317    
318  marc('111','e',  marc('111','e',
319          rec('710','b')          rec('710','b')
320  );  );
# Line 201  marc('111','n', Line 323  marc('111','n',
323          rec('710','d')          rec('710','d')
324  );  );
325    
 marc('111','c',  
         rec('710','e')  
 );  
   
 marc('111','d',  
         rec('710','f')  
 );  
326    
327  } else {  } else {
328                    
# Line 223  marc('110','c', Line 338  marc('110','c',
338  }  }
339    
340  # zapisi za duplanje  # zapisi za duplanje
341  #  
342  # if ( rec('230') ) {  if ( rec('230') ) {
343  #  
344  # marc('245','a',  marc_duplicate();
345  #       rec('230','a')  
346  # );  marc_remove('245');
347  #  marc_remove('035','6');
348  # marc('245','b',  
349  #       rec('230','e')  marc('245','a',
350  # );          rec('230','a')
351  #  );
352  # marc('245','c',  
353  #       rec('230','f')  if ( ! rec('230','a') ) {
354  # );  
355  #  marc('245','a',
356  # marc('245','n',          rec('200','a')
357  #       rec('230','v')  );
358  # );  
359  #  }
360  # }  
361    marc('245','b',
362            rec('230','e')
363    );
364    
365    marc('245','c',
366            rec('230','f')
367    );
368    
369    marc('245','n',
370            rec('230','v')
371    );
372    
373    }
374    
375    }

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

  ViewVC Help
Powered by ViewVC 1.1.26