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

Annotation of /trunk/conf/normalize/mapping.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 622 - (hide annotations)
Fri Aug 25 19:22:33 2006 UTC (17 years, 9 months ago) by dpavlin
File MIME type: text/plain
File size: 6028 byte(s)
local

1 dpavlin 591 if ( rec('200','a') ) {
2    
3 dpavlin 563 # Leader
4 dpavlin 591 #
5     # raspraviti 17,18
6 dpavlin 583
7 dpavlin 591 # u nekim knji¾nicama koristi se 999a i 999b
8 dpavlin 583
9 dpavlin 570 if ( rec('999') && first(rec('999')) =~ m/pregledan/i) {
10     marc_leader('05','c');
11     } else {
12     marc_leader('05','n');
13     }
14 dpavlin 563
15 dpavlin 591 marc_leader('06','a');
16     marc_leader('07','m');
17     marc_leader('18','i');
18 dpavlin 563
19 dpavlin 570 if ( rec('230') ) {
20     marc_leader('19','r');
21     }
22    
23    
24 dpavlin 583 # 001 polje dodaje Voyager
25 dpavlin 570
26 dpavlin 583 # polje 035 je u NSK ponovljivo. za¹to ???
27 dpavlin 563
28 dpavlin 622 # privemeno koristimo 0356 umjesto 0359, zato ¹to marclint 9 prijavljuje kao gre¹ku
29 dpavlin 583
30     marc('035','6',
31 dpavlin 602 join_with('',
32 dpavlin 591 # config('input normalize path'),
33 dpavlin 602 # config('name'),
34     # config('input name'),
35 dpavlin 595 config(),
36 dpavlin 602 # id(),
37     # rec('994','a'),
38 dpavlin 583 rec('000')
39     )
40 dpavlin 537 );
41    
42 dpavlin 583 # u marc 035a treba dodati System Number -
43     # NSK zapisuje Voyagerov ID (001) - kako ???
44    
45 dpavlin 591 # u FFSF bazama postoji nekoliko zaredanih ISBN, odvojenih s '. - '
46    
47 dpavlin 547 marc('020','a',
48 dpavlin 622 rec('10')
49 dpavlin 537 );
50    
51 dpavlin 583 # u polje 040a mo¾da jo¹ dodati prefiks HR
52 dpavlin 591 # NSK ima HR NSB (mo¾da u novijim zapisima ima NSK?)
53 dpavlin 583
54     marc('040','a',
55 dpavlin 591 'FFZG'
56 dpavlin 583 );
57    
58     marc('040','b',
59     'hrv'
60     );
61    
62 dpavlin 549 if (rec('300') && first(rec('300')) =~ m/prijevod/i) {
63     marc_indicators('041', 1, ' ');
64     } else {
65     marc_indicators('041', 0, ' ');
66     }
67    
68 dpavlin 547 marc_repeatable_subfield('041','a',
69 dpavlin 537 rec('101')
70     );
71    
72 dpavlin 547 marc_indicators('245', 0, 0);
73 dpavlin 537
74 dpavlin 591 #_debug(3);
75    
76 dpavlin 583 marc_compose('245',
77 dpavlin 602 'a', suffix(
78     rec('200','b') ? '. ' :
79     rec('200','k') ? ' ; ' :
80     rec('200','d') ? ' = ' :
81     rec('200','e') ? ' : ' :
82     rec('200','f') ? ' / ' :
83     '.',
84     rec('200','a')
85     ),
86 dpavlin 583 'h', rec('200','b'),
87 dpavlin 602 'b', rec('200','k'),
88 dpavlin 622 'b', rec('200','d'),
89     'b',
90     join_with(' : ',
91     rec('200','e'),
92     ),
93     'c',
94     join_with(' ; ',
95     rec('200','f'),
96     ),
97 dpavlin 602 # FIXME append to last subfield
98 dpavlin 603 '+', prefix('. ', rec('200','c') ),
99 dpavlin 537 );
100    
101 dpavlin 602
102 dpavlin 591 #_debug(0);
103    
104 dpavlin 602
105 dpavlin 583 # marc('245','a',
106     # rec('200','a')
107     # );
108     #
109     # marc('245','b',
110     # join_with(' : ',
111     # rec('200','d'),
112     # rec('200','e')
113     # )
114     # );
115     #
116     # marc('245','c',
117     # join_with(' ; ',
118     # rec('200','f'),
119     # rec('200','g')
120     # )
121     # );
122    
123 dpavlin 547 marc('250','a',
124 dpavlin 537 rec('205','a')
125     );
126    
127 dpavlin 602 # FIXME ponovljiva potpolja u originalnom redosljedu
128     #
129 dpavlin 604 marc_original_order('260', '210');
130 dpavlin 602
131 dpavlin 612 # marc('260','a',
132     # rec('210','a'),
133     # );
134     #
135     # marc('260','b',
136     # rec('210','c'),
137     # );
138 dpavlin 537
139 dpavlin 612 # marc('260','c',
140     # rec('210','d'),
141     # );
142 dpavlin 602
143     # marc_compose('260',
144     # 'a', split_rec_on('210','a', qr/\s*;\s*/, 1),
145     # 'b', first(rec('210','c')),
146     # 'a', split_rec_on('210','a', qr/\s*;\s*/, 2),
147     # 'c', first(rec('210','d')),
148     # );
149    
150 dpavlin 547 marc('300','a',
151 dpavlin 537 rec('215','a')
152     );
153    
154 dpavlin 547 marc('300','b',
155 dpavlin 537 rec('215','c')
156     );
157    
158 dpavlin 547 marc('300','c',
159 dpavlin 537 rec('215','d')
160     );
161    
162 dpavlin 547 marc('300','e',
163 dpavlin 537 rec('215','e')
164     );
165    
166 dpavlin 562
167     marc_indicators('490', 1, ' ');
168 dpavlin 547 marc('490','a',
169 dpavlin 602 join_with(' : ',
170 dpavlin 537 rec('225','a'),
171 dpavlin 602 join_with(" = ",
172 dpavlin 537 rec('225','d'),
173     join_with(" / ",
174     rec('225','e'),
175     rec('225','f')
176     )
177     )
178     )
179     );
180    
181 dpavlin 547 marc('490','v',
182 dpavlin 602 # join2_with(225, 'v', ' , ', 225,'w');
183 dpavlin 569 join_with(', ',
184     rec('225','v'),
185     rec('225','w')
186     )
187 dpavlin 537 );
188    
189 dpavlin 547 marc('500','a',
190 dpavlin 537 rec('300')
191     );
192    
193 dpavlin 562 marc('500','a',
194     rec('314')
195     );
196    
197 dpavlin 547 marc('504','a',
198 dpavlin 537 rec('320')
199     );
200    
201 dpavlin 583 # napomene uz konverziju polja sa sadr¾ajem:
202     # NSK konvertira 327 (NP) u 501 (R)
203     # u LOC konv. tablici stoji 327 (NP) u 505 (NR)
204     # standard i validacije dopu¹taju 501 (R) i 505 (R)
205     # FFPS koristi 327 (P)
206     # FFIZ koristi 327
207    
208    
209     marc_indicators('505', '0', ' ');
210     marc('505','a',
211 dpavlin 591 regex('s/\s*[\\r\\n]+\s*\**\s*/ ; /g',
212 dpavlin 583 rec('327')
213     )
214 dpavlin 562 );
215    
216 dpavlin 583 # napomene uz konverziju polja 330:
217     # NSK konvertira 330 (P) u 520 (P) = LOC konv. tablica
218     # FFIZ koristi 330 (P) - kljuène rijeèi, dijelovi sadr¾aja, sa¾eci
219     # FFFO koristi 330 (P) - kljuène rijeèi, dijelovi sadr¾aja
220     # FFPS koristi 330 (NP) - sa¾etak
221    
222 dpavlin 562 marc('520','a',
223 dpavlin 591 regex('s/[\\r\\n]+/. /g',
224 dpavlin 583 rec('330')
225     )
226 dpavlin 562 );
227    
228     # mo¾da i polje 520y - jezik napomene ako je uvijek isti jezik
229    
230 dpavlin 547 marc_indicators('655', ' ', 4);
231     marc('655','a',
232 dpavlin 562 rec('608')
233     );
234    
235     marc_indicators('653', ' ', ' ');
236     marc('653','a',
237 dpavlin 537 rec('610')
238     );
239    
240 dpavlin 583 # 675 podpolja c, d ... - ¹to s njima ???
241    
242 dpavlin 562 marc('080','a',
243     rec('675','a')
244     );
245    
246 dpavlin 583 # 084 je other classification (R)
247     # NSK ga koristi za struènu oznaku NSK iz polja 681
248     # NSK definira i prelazak polja 686 u 084, u skladu s LOC konv. tablicom
249     #
250     # polje 686 koristi FFPS
251 dpavlin 562
252     marc('084','a',
253     rec('686')
254     );
255    
256 dpavlin 549 marc_indicators('100', 1, ' ');
257 dpavlin 547 marc('100','a',
258 dpavlin 537 join_with(', ',
259     rec('700', 'a'),
260     rec('700', 'b')
261     )
262     );
263    
264 dpavlin 603 #_debug(2);
265 dpavlin 549
266     marc_indicators('700', 1, ' ');
267 dpavlin 583
268     if ( rec('701') ) {
269     marc('700','4',
270     'aut'
271     );
272     }
273    
274 dpavlin 547 marc('700','a',
275 dpavlin 602 rec('701', 'a'),
276 dpavlin 537 );
277    
278 dpavlin 583 marc('700','a',
279     join_with(', ',
280     rec('701', 'c'),
281     rec('701', 'd')
282     )
283     );
284 dpavlin 537
285 dpavlin 547 marc('700','a',
286 dpavlin 537 join_with(', ',
287 dpavlin 583 rec('701', 'e'),
288     rec('701', 'f')
289     )
290     );
291    
292     marc('700','a',
293     join_with(', ',
294     rec('701', 'g'),
295     rec('701', 'h')
296     )
297     );
298    
299 dpavlin 602
300 dpavlin 583 marc('700','a',
301 dpavlin 602 rec('702','a'),
302 dpavlin 537 );
303    
304 dpavlin 602
305     # ako je u originalu ponovljivo polje treba biti i konvertirano!!
306    
307    
308 dpavlin 583 marc('700','a',
309     join_with(', ',
310     rec('702','c'),
311     rec('702','d')
312     )
313     );
314 dpavlin 562
315 dpavlin 583 marc('700','a',
316     join_with(', ',
317     rec('702','e'),
318     rec('702','f')
319     )
320     );
321    
322     marc('700','a',
323     join_with(', ',
324     rec('702','g'),
325     rec('702','h')
326     )
327     );
328    
329 dpavlin 603 #_debug(0);
330 dpavlin 583
331 dpavlin 602
332 dpavlin 562 if ( rec('710','f') ) {
333    
334     marc_indicators('111', 2, ' ');
335     marc('111','a',
336     rec('710','a')
337     );
338    
339 dpavlin 570 marc('111','c',
340     rec('710','e')
341     );
342    
343     marc('111','d',
344     rec('710','f')
345     );
346    
347 dpavlin 562 marc('111','e',
348     rec('710','b')
349     );
350    
351     marc('111','n',
352     rec('710','d')
353     );
354    
355    
356     } else {
357    
358     marc_indicators('110', 2, ' ');
359     marc('110','a',
360     rec('710','a')
361     );
362    
363     marc('110','c',
364     rec('710','c')
365     );
366    
367 dpavlin 602 };
368 dpavlin 537
369 dpavlin 574
370 dpavlin 602 marc_indicators('740', 0, ' ');
371     marc('740','a',
372     rec('200','c')
373     );
374    
375    
376     # vi¹erazinci
377 dpavlin 622 #
378     # if ( rec('230') ) {
379     #
380     # marc_duplicate();
381     # marc_remove('245');
382     #
383     # marc('245','a',
384     # rec('230','a')
385     # );
386     #
387     # if ( ! rec('230','a') ) {
388     #
389     # marc('245','a',
390     # rec('200','a')
391     # );
392     # }
393     #
394     # marc('245','b',
395     # rec('230','e')
396     # );
397     #
398     # marc('245','c',
399     # rec('230','f')
400     # );
401     #
402     # marc('245','n',
403     # rec('230','v')
404     # );
405     #
406     # }
407     #
408     # if ( rec('231') ) {
409     #
410     # marc_duplicate();
411     # marc_remove('245');
412     #
413     # marc('245','a',
414     # rec('231','a')
415     # );
416     #
417     # if ( ! rec('231','a') ) {
418     #
419     # marc('245','a',
420     # rec('200','a')
421     # );
422     # }
423     #
424     # marc('245','b',
425     # rec('231','e')
426     # );
427     #
428     # marc('245','c',
429     # rec('231','f')
430     # );
431     #
432     # marc('245','n',
433     # rec('231','v')
434     # );
435     #
436     # }
437 dpavlin 602
438 dpavlin 583 }

  ViewVC Help
Powered by ViewVC 1.1.26