/[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 580 - (hide annotations)
Tue Jul 4 11:36:03 2006 UTC (17 years, 9 months ago) by dpavlin
File MIME type: text/plain
File size: 2882 byte(s)
 r800@llin:  dpavlin | 2006-07-04 13:11:42 +0200
 marc_duplicate now creates duplicate MARC records

1 dpavlin 563 # Leader
2 dpavlin 570
3     if ( rec('999') && first(rec('999')) =~ m/pregledan/i) {
4     marc_leader('05','c');
5     } else {
6     marc_leader('05','n');
7     }
8 dpavlin 563
9 dpavlin 570 marc_leader('06','a');
10 dpavlin 563
11 dpavlin 570 marc_leader('07','m');
12 dpavlin 563
13 dpavlin 570 marc_leader('18','i');
14    
15     if ( rec('230') ) {
16     marc_leader('19','r');
17     }
18    
19    
20    
21 dpavlin 569 # gre¹ka! - 000 se ne zapisuje u marc:
22 dpavlin 563
23 dpavlin 547 marc('001',
24 dpavlin 537 rec('000')
25     );
26    
27 dpavlin 547 marc('020','a',
28 dpavlin 537 rec('010')
29     );
30    
31 dpavlin 549 if (rec('300') && first(rec('300')) =~ m/prijevod/i) {
32     marc_indicators('041', 1, ' ');
33     } else {
34     marc_indicators('041', 0, ' ');
35     }
36    
37 dpavlin 547 marc_repeatable_subfield('041','a',
38 dpavlin 537 rec('101')
39     );
40    
41 dpavlin 547 marc_indicators('245', 0, 0);
42     marc('245','a',
43 dpavlin 537 rec('200','a')
44     );
45    
46 dpavlin 547 marc('245','b',
47 dpavlin 537 join_with(' : ',
48     rec('200','d'),
49     rec('200','e')
50     )
51     );
52    
53 dpavlin 547 marc('245','c',
54 dpavlin 537 join_with(' ; ',
55     rec('200','f'),
56     rec('200','g')
57     )
58     );
59    
60 dpavlin 547 marc('250','a',
61 dpavlin 537 rec('205','a')
62     );
63    
64 dpavlin 562 marc_compose('260',
65     'a', split_rec_on('210','a', qr/\s*;\s*/, 1),
66     'b', first(rec('210','c')),
67     'a', split_rec_on('210','a', qr/\s*;\s*/, 2),
68     'c', first(rec('210','d')),
69 dpavlin 537 );
70    
71 dpavlin 547 marc('300','a',
72 dpavlin 537 rec('215','a')
73     );
74    
75 dpavlin 547 marc('300','b',
76 dpavlin 537 rec('215','c')
77     );
78    
79 dpavlin 547 marc('300','c',
80 dpavlin 537 rec('215','d')
81     );
82    
83 dpavlin 547 marc('300','e',
84 dpavlin 537 rec('215','e')
85     );
86    
87 dpavlin 562
88     marc_indicators('490', 1, ' ');
89 dpavlin 547 marc('490','a',
90 dpavlin 537 join_with(' = ',
91     rec('225','a'),
92     join_with(" : ",
93     rec('225','d'),
94     join_with(" / ",
95     rec('225','e'),
96     rec('225','f')
97     )
98     )
99     )
100     );
101    
102 dpavlin 547 marc('490','v',
103 dpavlin 569 join_with(', ',
104     rec('225','v'),
105     rec('225','w')
106     )
107 dpavlin 537 );
108    
109 dpavlin 547 marc('500','a',
110 dpavlin 537 rec('300')
111     );
112    
113 dpavlin 562 marc('500','a',
114     rec('314')
115     );
116    
117 dpavlin 547 marc('504','a',
118 dpavlin 537 rec('320')
119     );
120    
121 dpavlin 562 marc('501','a',
122     rec('327')
123     );
124    
125     marc('520','a',
126     rec('330')
127     );
128    
129     # mo¾da i polje 520y - jezik napomene ako je uvijek isti jezik
130    
131 dpavlin 547 marc_indicators('655', ' ', 4);
132     marc('655','a',
133 dpavlin 562 rec('608')
134     );
135    
136     marc_indicators('653', ' ', ' ');
137     marc('653','a',
138 dpavlin 537 rec('610')
139     );
140    
141 dpavlin 562 marc('080','a',
142     rec('675','a')
143     );
144    
145     # podpolja c, d ... - ¹to s njima?
146    
147     marc('084','a',
148     rec('686')
149     );
150    
151 dpavlin 549 marc_indicators('100', 1, ' ');
152 dpavlin 547 marc('100','a',
153 dpavlin 537 join_with(', ',
154     rec('700', 'a'),
155     rec('700', 'b')
156     )
157     );
158    
159 dpavlin 549
160     marc_indicators('700', 1, ' ');
161 dpavlin 547 marc('700','a',
162 dpavlin 537 join_with(', ',
163     rec('701', 'a'),
164     rec('701', 'b')
165     )
166     );
167    
168     if ( rec('701') ) {
169 dpavlin 562 marc('700','4',
170     'aut'
171     );
172 dpavlin 537 }
173    
174 dpavlin 547 marc('700','a',
175 dpavlin 537 join_with(', ',
176     rec('702','a'),
177     rec('702','b')
178     )
179     );
180    
181 dpavlin 562 # podesiti podpolje 4 na editore nije dobra ideja
182     #
183     # if ( rec('702') ) {
184     # marc('700','4',
185     # '340'
186     # );
187     # }
188    
189     if ( rec('710','f') ) {
190    
191     marc_indicators('111', 2, ' ');
192     marc('111','a',
193     rec('710','a')
194     );
195    
196 dpavlin 570 marc('111','c',
197     rec('710','e')
198     );
199    
200     marc('111','d',
201     rec('710','f')
202     );
203    
204 dpavlin 562 marc('111','e',
205     rec('710','b')
206     );
207    
208     marc('111','n',
209     rec('710','d')
210     );
211    
212    
213     } else {
214    
215     marc_indicators('110', 2, ' ');
216     marc('110','a',
217     rec('710','a')
218     );
219    
220     marc('110','c',
221     rec('710','c')
222     );
223    
224 dpavlin 537 }
225    
226 dpavlin 562 # zapisi za duplanje
227 dpavlin 574
228     if ( rec('230') ) {
229    
230     marc_duplicate();
231    
232 dpavlin 580 marc_remove('245');
233    
234 dpavlin 574 marc('245','a',
235     rec('230','a')
236     );
237    
238     marc('245','b',
239     rec('230','e')
240     );
241    
242     marc('245','c',
243     rec('230','f')
244     );
245    
246     marc('245','n',
247     rec('230','v')
248     );
249    
250     }

  ViewVC Help
Powered by ViewVC 1.1.26