/[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 591 - (hide annotations)
Sun Jul 9 14:07:10 2006 UTC (17 years, 9 months ago) by dpavlin
File MIME type: text/plain
File size: 4980 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 591 # privemeno koristimo 0356 umjesto 0359
29 dpavlin 583
30 dpavlin 591
31 dpavlin 583 marc('035','6',
32 dpavlin 591 join_with(' ',
33     # config('input normalize path'),
34     # config('name'),
35     # config('input name'),
36     # config(),
37     # id(),
38 dpavlin 583 rec('994','a'),
39     rec('000')
40     )
41 dpavlin 537 );
42    
43 dpavlin 591
44 dpavlin 583 # u marc 035a treba dodati System Number -
45     # NSK zapisuje Voyagerov ID (001) - kako ???
46    
47 dpavlin 591 # u FFSF bazama postoji nekoliko zaredanih ISBN, odvojenih s '. - '
48    
49 dpavlin 547 marc('020','a',
50 dpavlin 537 rec('010')
51     );
52    
53 dpavlin 583 # u polje 040a mo¾da jo¹ dodati prefiks HR
54 dpavlin 591 # NSK ima HR NSB (mo¾da u novijim zapisima ima NSK?)
55 dpavlin 583
56     marc('040','a',
57 dpavlin 591 'FFZG'
58 dpavlin 583 );
59    
60     marc('040','b',
61     'hrv'
62     );
63    
64 dpavlin 549 if (rec('300') && first(rec('300')) =~ m/prijevod/i) {
65     marc_indicators('041', 1, ' ');
66     } else {
67     marc_indicators('041', 0, ' ');
68     }
69    
70 dpavlin 547 marc_repeatable_subfield('041','a',
71 dpavlin 537 rec('101')
72     );
73    
74 dpavlin 547 marc_indicators('245', 0, 0);
75 dpavlin 537
76 dpavlin 591 #_debug(3);
77    
78 dpavlin 583 marc_compose('245',
79     'a', rec('200','a'),
80     'h', rec('200','b'),
81     'b',
82 dpavlin 537 join_with(' : ',
83     rec('200','d'),
84     rec('200','e')
85 dpavlin 583 ),
86     'c',
87 dpavlin 537 join_with(' ; ',
88     rec('200','f'),
89     rec('200','g')
90 dpavlin 583 ),
91 dpavlin 537 );
92    
93 dpavlin 591 #_debug(0);
94    
95 dpavlin 583 # 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 dpavlin 547 marc('250','a',
114 dpavlin 537 rec('205','a')
115     );
116    
117 dpavlin 562 marc_compose('260',
118     'a', split_rec_on('210','a', qr/\s*;\s*/, 1),
119     'b', first(rec('210','c')),
120     'a', split_rec_on('210','a', qr/\s*;\s*/, 2),
121     'c', first(rec('210','d')),
122 dpavlin 537 );
123    
124 dpavlin 547 marc('300','a',
125 dpavlin 537 rec('215','a')
126     );
127    
128 dpavlin 547 marc('300','b',
129 dpavlin 537 rec('215','c')
130     );
131    
132 dpavlin 547 marc('300','c',
133 dpavlin 537 rec('215','d')
134     );
135    
136 dpavlin 547 marc('300','e',
137 dpavlin 537 rec('215','e')
138     );
139    
140 dpavlin 562
141     marc_indicators('490', 1, ' ');
142 dpavlin 547 marc('490','a',
143 dpavlin 537 join_with(' = ',
144     rec('225','a'),
145     join_with(" : ",
146     rec('225','d'),
147     join_with(" / ",
148     rec('225','e'),
149     rec('225','f')
150     )
151     )
152     )
153     );
154    
155 dpavlin 547 marc('490','v',
156 dpavlin 569 join_with(', ',
157     rec('225','v'),
158     rec('225','w')
159     )
160 dpavlin 537 );
161    
162 dpavlin 547 marc('500','a',
163 dpavlin 537 rec('300')
164     );
165    
166 dpavlin 562 marc('500','a',
167     rec('314')
168     );
169    
170 dpavlin 547 marc('504','a',
171 dpavlin 537 rec('320')
172     );
173    
174 dpavlin 583 # napomene uz konverziju polja sa sadr¾ajem:
175     # 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 dpavlin 591 regex('s/\s*[\\r\\n]+\s*\**\s*/ ; /g',
185 dpavlin 583 rec('327')
186     )
187 dpavlin 562 );
188    
189 dpavlin 583 # 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 dpavlin 562 marc('520','a',
196 dpavlin 591 regex('s/[\\r\\n]+/. /g',
197 dpavlin 583 rec('330')
198     )
199 dpavlin 562 );
200    
201     # mo¾da i polje 520y - jezik napomene ako je uvijek isti jezik
202    
203 dpavlin 547 marc_indicators('655', ' ', 4);
204     marc('655','a',
205 dpavlin 562 rec('608')
206     );
207    
208     marc_indicators('653', ' ', ' ');
209     marc('653','a',
210 dpavlin 537 rec('610')
211     );
212    
213 dpavlin 583 # 675 podpolja c, d ... - ¹to s njima ???
214    
215 dpavlin 562 marc('080','a',
216     rec('675','a')
217     );
218    
219 dpavlin 583 # 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 dpavlin 562
225     marc('084','a',
226     rec('686')
227     );
228    
229 dpavlin 549 marc_indicators('100', 1, ' ');
230 dpavlin 547 marc('100','a',
231 dpavlin 537 join_with(', ',
232     rec('700', 'a'),
233     rec('700', 'b')
234     )
235     );
236    
237 dpavlin 549
238     marc_indicators('700', 1, ' ');
239 dpavlin 583
240     if ( rec('701') ) {
241     marc('700','4',
242     'aut'
243     );
244     }
245    
246 dpavlin 547 marc('700','a',
247 dpavlin 537 join_with(', ',
248     rec('701', 'a'),
249     rec('701', 'b')
250     )
251     );
252    
253 dpavlin 583 marc('700','a',
254     join_with(', ',
255     rec('701', 'c'),
256     rec('701', 'd')
257     )
258     );
259 dpavlin 537
260 dpavlin 547 marc('700','a',
261 dpavlin 537 join_with(', ',
262 dpavlin 583 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',
275     join_with(', ',
276 dpavlin 537 rec('702','a'),
277     rec('702','b')
278     )
279     );
280    
281 dpavlin 583 marc('700','a',
282     join_with(', ',
283     rec('702','c'),
284     rec('702','d')
285     )
286     );
287 dpavlin 562
288 dpavlin 583 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 dpavlin 562 if ( rec('710','f') ) {
304    
305     marc_indicators('111', 2, ' ');
306     marc('111','a',
307     rec('710','a')
308     );
309    
310 dpavlin 570 marc('111','c',
311     rec('710','e')
312     );
313    
314     marc('111','d',
315     rec('710','f')
316     );
317    
318 dpavlin 562 marc('111','e',
319     rec('710','b')
320     );
321    
322     marc('111','n',
323     rec('710','d')
324     );
325    
326    
327     } else {
328    
329     marc_indicators('110', 2, ' ');
330     marc('110','a',
331     rec('710','a')
332     );
333    
334     marc('110','c',
335     rec('710','c')
336     );
337    
338 dpavlin 537 }
339    
340 dpavlin 562 # zapisi za duplanje
341 dpavlin 574
342     if ( rec('230') ) {
343    
344     marc_duplicate();
345    
346 dpavlin 580 marc_remove('245');
347 dpavlin 591 marc_remove('035','6');
348 dpavlin 580
349 dpavlin 574 marc('245','a',
350     rec('230','a')
351     );
352    
353 dpavlin 583 if ( ! rec('230','a') ) {
354    
355     marc('245','a',
356     rec('200','a')
357     );
358    
359     }
360    
361 dpavlin 574 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 dpavlin 583
375     }

  ViewVC Help
Powered by ViewVC 1.1.26