44 |
); |
); |
45 |
|
|
46 |
|
|
47 |
# u FFSF bazama postoji nekoliko zaredanih ISBN, odvojenih s '. - ' |
# FFSF - nekoliko zaredanih ISBN, odvojenih s '. - ' |
48 |
|
# drugi ISBN počinje prefixom ISBN |
49 |
|
|
50 |
marc('020','a', |
marc('020','a', |
51 |
rec('10') |
regex('s/ ISBN //g', |
52 |
|
rec('10') |
53 |
|
) |
54 |
); |
); |
55 |
|
|
|
|
|
56 |
# u polje 040a - prefiks HR ? |
# u polje 040a - prefiks HR ? |
57 |
# NSK ima HR NSB (možda u novijim zapisima ima NSK?) |
# NSK ima HR NSB (možda u novijim zapisima ima NSK?) |
58 |
|
|
76 |
|
|
77 |
## naći primjer u NSK |
## naći primjer u NSK |
78 |
|
|
79 |
|
#_debug(2); |
80 |
marc_repeatable_subfield('041','a', |
marc_repeatable_subfield('041','a', |
81 |
rec('101') |
rec('101') |
82 |
); |
); |
83 |
|
#_debug(0); |
84 |
|
|
85 |
# indikatori za članove. treba uvjetovati prema jezicima !! |
# indikatori za članove. treba uvjetovati prema jezicima !! |
86 |
|
|
87 |
|
marc_indicators('245', 0, 0); |
88 |
|
|
89 |
if ( ( rec('200','a') =~ m/^Die /) || |
if ( ( rec('200','a') =~ m/^Die /) || |
90 |
( rec('200','a') =~ m/^Das /) || |
( rec('200','a') =~ m/^Das /) || |
91 |
( rec('200','a') =~ m/^The /) ) { |
( rec('200','a') =~ m/^The /) ) { |
92 |
marc_indicators('245', 0, 4); |
marc_indicators('245', 0, 4); |
93 |
} else { |
} |
94 |
marc_indicators('245', 0, 0); |
|
95 |
} |
if ( ( rec('200','a') =~ m/^A /) && ( rec(101) =~ m/ENG/ ) ) |
96 |
|
{ |
97 |
|
marc_indicators('245', 0, 2); |
98 |
|
} |
99 |
|
|
100 |
|
|
101 |
|
|
102 |
|
|
103 |
#_debug(3); |
#_debug(3); |
104 |
|
|
112 |
'.', |
'.', |
113 |
rec('200','a') |
rec('200','a') |
114 |
), |
), |
115 |
'h', rec('200','b'), |
# 'h', rec('200','b'), |
116 |
'b', suffix( |
'b', suffix( |
117 |
( rec('200','k') && rec('200','f') ) ? ' / ' : |
( rec('200','k') && rec('200','f') ) ? ' / ' : |
118 |
' ', |
' ', |
133 |
), |
), |
134 |
), |
), |
135 |
|
|
136 |
# ovo trenutno radi za slučaj kad f nije ponovljivo i kad uvijek postoje c i f u paru !!! |
'c', rec('200','f'), |
137 |
'c', join_with('. ', |
|
138 |
rec('200','f'), |
# append to last subfield |
139 |
rec('200','c'), |
'+', prefix('. ', rec('200','c') ), |
|
), |
|
|
# FIXME append to last subfield |
|
|
# '+', prefix('. ', rec('200','c') ), |
|
140 |
); |
); |
141 |
|
|
142 |
|
|
143 |
|
#marc('440','a', |
144 |
|
# suffix( |
145 |
|
# rec('225','e') ? ' : ' : |
146 |
|
# rec('225','v') ? ' ; ' : |
147 |
|
# '. ', |
148 |
|
# rec('225','a'), |
149 |
|
# ) |
150 |
|
#); |
151 |
|
|
152 |
|
|
153 |
|
|
154 |
|
|
155 |
|
|
156 |
|
|
157 |
#_debug(0); |
#_debug(0); |
158 |
|
|
159 |
marc('250','a', |
marc('250','a', |
178 |
|
|
179 |
marc('300','a', |
marc('300','a', |
180 |
suffix( |
suffix( |
181 |
rec('215','c') ? ' : ' : |
rec('215','c') ? ' : ' : |
182 |
rec('215','d') ? ' ; ' : |
rec('215','d') ? ' ; ' : |
183 |
rec('215','e') ? ' + ' : |
rec('215','e') ? ' + ' : |
184 |
' ', |
' ', |
185 |
rec('215','a') |
rec('215','a') |
186 |
) |
) |
188 |
|
|
189 |
marc('300','b', |
marc('300','b', |
190 |
suffix( |
suffix( |
191 |
( rec('215','c') && rec('215','d') ) ? ' ; ' : |
( rec('215','c') && rec('215','d') ) ? ' ; ' : |
192 |
( rec('215','c') && rec('215','e') ) ? ' + ' : |
( rec('215','c') && rec('215','e') ) ? ' + ' : |
193 |
' ', |
' ', |
194 |
rec('215','c') |
rec('215','c') |
195 |
) |
) |
210 |
|
|
211 |
# provjeriti |
# provjeriti |
212 |
|
|
213 |
marc_indicators('490', 0, ' '); |
marc_indicators('440', ' ', '0'); |
|
|
|
|
marc('490','a', |
|
|
rec('225','a') |
|
|
); |
|
|
|
|
|
marc('490','v', |
|
|
join_with(', ', |
|
|
rec('225','v'), |
|
|
rec('225','w') |
|
|
), |
|
|
); |
|
214 |
|
|
215 |
marc('490','x', |
marc('440','a', |
216 |
rec('225','x') |
join_with(' / ', |
217 |
|
rec('225','a'), |
218 |
|
rec('225','f') |
219 |
|
) |
220 |
); |
); |
221 |
|
|
222 |
#marc('490','a', |
#marc('440','a', |
223 |
# join_with(' : ', |
# join_with(' : ', |
224 |
# rec('225','a'), |
# rec('225','a'), |
225 |
# join_with(" = ", |
# join_with(" = ", |
232 |
# ) |
# ) |
233 |
#); |
#); |
234 |
|
|
235 |
|
marc('440','h', |
236 |
|
rec('225','h') |
237 |
|
); |
238 |
|
|
239 |
|
marc('440','p', |
240 |
|
rec('225','i') |
241 |
|
); |
242 |
|
|
243 |
|
marc('440','v', |
244 |
|
join_with(', ', |
245 |
|
rec('225','v'), |
246 |
|
rec('225','w') |
247 |
|
), |
248 |
|
); |
249 |
|
|
250 |
|
marc('440','x', |
251 |
|
rec('225','x') |
252 |
|
); |
253 |
|
|
254 |
#marc('490','v', |
#marc('490','v', |
255 |
# join2_with(225, 'v', ' , ', 225,'w'); |
# join2_with(225, 'v', ' , ', 225,'w'); |
256 |
# join_with(', ', |
# join_with(', ', |
501 |
|
|
502 |
marc_indicators('740', 0, ' '); |
marc_indicators('740', 0, ' '); |
503 |
|
|
504 |
if ( ! rec('464') ) { |
# if ( ! rec('464') ) { |
505 |
marc('740','a', |
# marc('740','a', |
506 |
rec('200','c') |
# rec('200','c') |
507 |
); |
# ); |
508 |
|
|
509 |
marc('740','a', |
# marc('740','a', |
510 |
rec('200','k') |
# rec('200','k') |
511 |
); |
# ); |
512 |
|
|
513 |
} else { |
# } else { |
514 |
marc('740','a', |
|
515 |
rec('464','a') |
marc('740','a', |
516 |
); |
rec('464','a') |
517 |
}; |
); |
518 |
|
|
519 |
|
# }; |
520 |
|
|
521 |
|
|
522 |
|
|
620 |
rec('260') |
rec('260') |
621 |
); |
); |
622 |
|
|
623 |
marc_remove('490'); |
marc_remove('440'); |
624 |
marc('490','a', |
marc('440','a', |
625 |
rec('270') |
rec('270') |
626 |
); |
); |
627 |
|
|
654 |
|
|
655 |
}; |
}; |
656 |
|
|
657 |
|
my $nak_cj = get( rec('225','a') ); |
658 |
|
|
659 |
|
if ($nak_cj) { |
660 |
|
|
661 |
|
marc('760','w', |
662 |
|
$nak_cj |
663 |
|
); |
664 |
|
|
665 |
|
} |
666 |
|
|
667 |
marc_indicators('776', 0, ' '); |
marc_indicators('776', 0, ' '); |
668 |
|
|
669 |
marc('776','a', |
marc('776','a', |
670 |
rec('452','1') |
rec('452','1') |
671 |
); |
); |
672 |
|
|
673 |
marc('900','a', |
#marc('900','a', |
674 |
lookup( |
# lookup( |
675 |
sub { rec('000') }, |
# sub { rec('000') }, |
676 |
'ffps','libri', |
# 'ffps','libri', |
677 |
sub { rec('200','a') }, |
# sub { rec('200','a') . rec('200','f') . rec('205') }, |
678 |
) |
# ) |
679 |
); |
#); |
680 |
|
|
681 |
|
#marc('901','a', |
682 |
|
# lookup( |
683 |
|
# sub { 'NSK: ' . rec('200','a') }, |
684 |
|
# 'nsk','baza', |
685 |
|
# sub { rec('200','a') }, |
686 |
|
# sub { rec('10') } |
687 |
|
# ) |
688 |
|
#); |
689 |
|
|
690 |
|
if ( ! rec('464') && rec('200','c') ) { |
691 |
|
marc('003','a', |
692 |
|
'ima-200c-nema-464' |
693 |
|
); |
694 |
|
} |
695 |
|
|
696 |
|
if ( ! rec('464') && rec('200','k') ) { |
697 |
|
marc('005','a', |
698 |
|
'ima-200k-nema-464' |
699 |
|
); |
700 |
|
} |
701 |
|
|
702 |
|
if ( ! ( rec('200','c') || rec('200','k') ) && rec('464') ) { |
703 |
|
marc('006','a', |
704 |
|
'ima-464-nema-200c-ili-200k' |
705 |
|
); |
706 |
|
} |
707 |
|
|
708 |
|
|
|
marc('901','a', |
|
|
lookup( |
|
|
sub { 'NSK' }, |
|
|
'nsk','baza', |
|
|
sub { rec('200','a') }, |
|
|
) |
|
|
); |
|
709 |
|
|
710 |
} |
} |