added _set_rec
[webpac2] / conf / normalize / ff-nakladnicka.pl
1 if (
2         rec('225','a')  # da li je nakladnicka cjelina?
3 #       &&              # i
4 #       count( lookup(
5 #               sub { 1 },
6 #               'ffsf','blibri',
7 #               sub {
8 #                       join_with('',
9 #                               rec('225','a'),
10 #                               rec('210','a'),
11 #                               rec('210','b'),
12 #                       )
13 #               }
14 #       ) ) > 1
15 ) {
16
17 my $series_key =
18 join_with('',
19         rec('225','a'),
20         rec('210','a'),
21         rec('210','b'),
22 );
23
24 my $series = get( $series_key );
25
26 if ( $series ) {
27         # warn "nije novi";
28 } else {
29
30
31 $series = join_with('',
32         config(),
33         ' LS',
34         rec('000')
35 );
36
37 set( $series_key => $series );
38
39 # Leader
40 marc_leader('05','n');
41 marc_leader('06','a');
42 marc_leader('07','s');
43 marc_leader('17','7');
44 marc_leader('18','i');
45
46 ## 008 
47
48 marc_fixed('008',00,
49         '070401'
50 );
51
52 marc_fixed('008','35',
53         first( lc( rec('101') ) )
54 );
55
56 marc('022','a',
57         rec('225','x')
58 );
59
60 marc('035','6', $series );
61
62 marc('040','a',
63         'HR FFZG'
64 );
65
66 marc('040','b',
67         'hrv'
68 );
69
70 marc('040','e',
71         'HR PPIAK'
72 );
73
74 marc_indicators('041', 0, ' ');
75
76 marc_repeatable_subfield('041','a',
77         rec('101')
78 );
79
80 # indikatori za 245 
81
82 my $i1;
83
84 if ( rec('700') || rec('710') ) {
85         $i1 = 1;
86
87 } else {
88         $i1 = 0;
89 }
90         
91 marc_indicators('245', $i1, 0);
92
93 if (    ( rec('200','a') =~ m/^Die /) || 
94         ( rec('200','a') =~ m/^Das /) || 
95         ( rec('200','a') =~ m/^The /) ) {
96                 marc_indicators('245', $i1, 4);
97
98
99 if (    ( rec('200','a') =~ m/^A /) && ( rec(101) =~ m/ENG/ ) ) {
100                 marc_indicators('245', $i1, 2);
101
102
103 if (    ( rec('200','a') =~ m/^An /) && ( rec(101) =~ m/ENG/ ) ) {
104                 marc_indicators('245', $i1, 2);
105
106
107
108 ## 245
109
110 marc_compose('245',
111         'a', suffix(
112                 ( ! ( rec('225','d') || rec('225','e') ) ) && ( rec('225','f') ) ? ' / ' :  
113                 ( rec('225','d') ) ? ' = ' :
114                 ( rec('225','e') ) ? ' : ' :
115                 ( rec('225','i') ) ? '. ' :
116                         '', 
117                         rec('225','a'),
118         ),
119         'b', suffix(
120                 ( rec('225','d') && rec('225','f') ) ? ' / ' : 
121                         '',
122                         rec('225','d'),
123         ),
124         'b', suffix(
125                 ( rec('225','e') && rec('225','f') ) ? ' / ' : 
126                         '',
127                         rec('225','e'),
128         ),
129         'c', suffix(
130                 ( rec('225','f') && rec('225','i') ) ? '. ' :
131                         '',
132                         rec('225','f'),
133         ),
134         'p', rec('225','i'),
135 );
136
137 #marc_compose('245',
138 #       'a', suffix(
139 #               ( ! rec('225','p') && ( rec('225','f') || rec('225','c') ) ) ? ' / ' :  
140 #               ( rec('225','p') && rec('225','c') ) ? ' : '  : 
141 #                       '', 
142 #                       first(rec('225','a')),
143 #       ),
144 #       'b', suffix(
145 #               ( rec('225','p') && rec('225','f') ) ? ' / ' : 
146 #               ( rec('225','p') && rec('225','c') ) ? '. '  : 
147 #                       '',
148 #                       rec('225','p'),
149 #       ),
150 #       'c', suffix(
151 #               ( rec('225','f') && rec('225','c') ) ? '. ' :
152 #                       '',
153 #                       rec('225','f'),
154 #       ),
155 #);
156
157 marc_original_order('260', '210');
158
159 marc_remove('260','c');
160
161 ## FIXME - UPISATI PODATAK U 260c
162
163 #_debug(2);
164
165 #marc('900','a',
166 #       lookup(
167 #               sub { rec('702','a') . ', ' . rec('702','b') },
168 #               'nsk','baza',
169 #               sub { rec('200','a') . rec('210','a') . rec('210','c') },
170 #               sub { rec('225','a') . rec('210','a') . rec('210','b') },
171 #       )
172 #);
173
174 #_debug(0);
175
176 marc_duplicate();
177 marc_remove('*');
178
179
180 } # $series
181
182 } # nakladnièka cjelina