path: '/backup/isis_backup/A108-1/ISISDATA/latest/LIBRI/LIBRI'
encoding: 'cp852'
#limit: 10
- #modify_file: 'conf/modify/common.pl'
+ modify_file: 'conf/modify/common.pl'
normalize:
- - path: 'conf/normalize/minimal.pl'
- - path: 'conf/normalize/ff-dupli.pl'
+ - path: 'conf/normalize/ff-nakladnicka.pl'
+ - path: 'conf/normalize/ff-libri.pl'
fftu:
name: 'Turkologija, Filozofski fakultet u Zagrebu'
# which tag to use in normalize xml for data?
# tag: 'isis'
# path to normalization xml
- #- path: 'conf/normalize/ff-dupli.pl'
#- path: 'conf/normalize/ff-nakladnicka.pl'
- - path: 'conf/normalize/minimal.pl'
- - path: 'conf/normalize/ff-dupli.pl'
+ #- path: 'conf/normalize/minimal.pl'
+ #- path: 'conf/normalize/ff-dupli.pl'
+ path: 'conf/normalize/ffps-spec.pl'
# another input database
- name: peri
#limit: 10
modify_file: 'conf/modify/common.pl'
normalize:
- - path: 'conf/normalize/ff-nakladnicka.pl'
+ - path: 'conf/normalize/ff-nakl-nsk.pl'
+ # - path: 'conf/normalize/ff-nakladnicka.pl'
- path: 'conf/normalize/ff-libri.pl'
+ # - path: 'conf/normalize/ff-viseraz.pl'
# - path: 'conf/normalize/minimal.pl'
# - path: 'conf/normalize/ff-dupli.pl'
- name: mlibri
# normalize:
# path: 'conf/normalize/common.pl'
-# nsk:
-# name: 'Nacionalna i sveucilisna knjiznica'
-# input:
-# name: baza
-# type: marc
-# path: '/backup/data/NSK/BBaza.ISO'
-# encoding: 'ISO-8859-2'
-# normalize:
-# path: 'conf/normalize/marc-nsk.pl'
+ nsk:
+ name: 'Nacionalna i sveucilisna knjiznica'
+ input:
+ name: baza
+ type: marc
+ path: '/backup/data/NSK/BBaza.ISO'
+ encoding: 'ISO-8859-2'
+ normalize:
+ path: 'conf/normalize/marc-nsk.pl'
# this is pseudo hash/yaml format for regex mappings
# FFSF - nekoliko zaredanih ISBN, odvojenih s '. - '
+
10
'*'
'regex:^' => '^a'
'. -' => '^a'
-# '. -' => '^c'
-# '. -' => '^d'
';' => '^a'
101
'^e'
'^d' => ' = '
'^k' => ' ; '
+ '^e' => ' : '
'*'
'^g' => ' ; '
205
'^a'
- ' \/ ' => '^f'
+ ' / ' => '^f'
210
'^a'
225
'*'
- ')(' => '^b'
+ ')(' => '^b'
+ '^a'
+ ' : ' => '^e'
+ ' / ' => '^f'
250
464
'^a'
- '^f' => ' \/ '
+ '^f' => ' / '
'^g' => ', '
+##################################################################################
+## Ova datoteka sadr¾i pravila za generiranje MARC21 ISO 2709 izlazne datoteke. ##
+## Ulazni format je CDS/ISIS sa zapisima u UNIMARC-u. ##
+##################################################################################
+
+
# konvertira se ako postoji polje 200^a
if ( rec('200','a') ) {
### LEADER
# raspraviti 17,18
-# u nekim knji¾nicama koristi se 999a i 999b
+# u nekim knji¾nicama koristi se 999a i 999b, a u nekima samo 999
-if ( rec('999') && first(rec('999')) =~ m/pregledan/i) {
+if ( rec('999') && first(rec('999')) =~ m/(pregledan|P)/i) {
marc_leader('05','c');
} else {
marc_leader('05','n');
marc('440','a',
join_with(' : ',
rec('225','a'),
- rec('225','e')
+ join_with(' / ',
+ rec('225','e'),
+ rec('225','f')
+ )
)
) ;
rec('314')
);
+### 502 - bilje¹ka o disertacijama
+# odgovarajuæeg polja nema u originalnim podacima. mo¾da se mo¾e pretpostaviti?
+
### 504
marc('504','a',
#
-### vi¹erazinci
-# odvojiti u posebnu datoteku i dokumentirati
-
-
-if ( rec('230') ) {
-
- marc_duplicate();
-
- marc_remove('035');
- marc('035','6',
- join_with('',
- config(),
- rec('000'),
- '-',
- id(),
- )
- );
-
-
- marc_remove('245');
-
- if ( rec('230','a') ) {
- marc_compose('245',
- 'a', suffix(
- rec('230','b') ? '. ' :
- rec('230','k') ? ' ; ' :
- rec('230','d') ? ' = ' :
- rec('230','e') ? ' : ' :
- rec('230','f') ? ' / ' :
- '.',
- rec('230','a')
- ),
- 'b',
- join_with(' ; ',
- rec('230','k'),
- ),
- 'b', rec('230','d'),
- 'b',
- join_with(' : ',
- rec('230','e'),
- ),
- 'c',
- join_with(' ; ',
- rec('230','f'),
- ),
- );
-
- } else {
-
- marc_compose('245',
- 'a', suffix(
- rec('230','b') ? '. ' :
- rec('230','k') ? ' ; ' :
- rec('230','d') ? ' = ' :
- rec('230','e') ? ' : ' :
- rec('230','f') ? ' / ' :
- '.',
- rec('200','a')
- ),
- 'b',
- join_with(' ; ',
- rec('230','k'),
- ),
- 'b', rec('230','d'),
- 'b',
- join_with(' : ',
- rec('230','e'),
- ),
- 'c',
- join_with(' ; ',
- rec('230','f'),
- ),
- 'n', rec('230','v'),
- );
-
- }
-
- marc_remove('260');
-
-# marc_original_order('260', '250');
-
- marc('260','c',
- rec1('251')
- );
-
-
-# marc('260','a',
-# rec('251','a')
-# );
-# marc('260','b',
-# rec('251','c')
-# );
-# marc('260','c',
-# rec('251','d'),
-# rec1('251')
-# );
-
- marc_remove('300');
- marc('300','a',
- rec('260')
- );
-
- marc_remove('440');
- marc('440','a',
- rec('270')
- );
-
- marc_remove('500');
- marc('500','a',
- rec('280')
- );
-
- marc_remove('020');
- marc('020','a',
- rec('290')
- );
-
- marc_indicators('774', 0, ' ');
- marc('774','g',
- rec('230','v')
- );
-
- marc('774','t',
- rec('200','a')
- );
-
- marc('774','w',
- join_with('',
- config(),
- rec('000')
- )
- );
-
-
-}
##################################
## ##
-}
+} # polje 200a
if (
rec('225','a') # da li je nakladnicka cjelina?
- && # i
- count( lookup(
- sub { 1 },
- 'ffsf','blibri',
- sub {
- join_with('',
- rec('225','a'),
- rec('210','a'),
- rec('210','b'),
- )
- }
- ) ) > 1
+# && # i
+# count( lookup(
+# sub { 1 },
+# 'ffsf','blibri',
+# sub {
+# join_with('',
+# rec('225','a'),
+# rec('210','a'),
+# rec('210','b'),
+# )
+# }
+# ) ) > 1
) {
+
my $series_key =
join_with('',
rec('225','a'),
# Leader
marc_leader('05','n');
marc_leader('06','a');
-marc_leader('07','s');
+marc_leader('07','c');
marc_leader('18','i');
marc('035','6', $series );
marc_indicators('245', 0, 0);
-if ( ( rec('200','a') =~ m/^Die /) ||
- ( rec('200','a') =~ m/^Das /) ||
- ( rec('200','a') =~ m/^The /) ) {
+if ( ( rec('225','a') =~ m/^Die /) ||
+ ( rec('225','a') =~ m/^Das /) ||
+ ( rec('225','a') =~ m/^The /) ) {
marc_indicators('245', 0, 4);
}
-if ( ( rec('200','a') =~ m/^A /) && ( rec(101) =~ m/ENG/ ) )
+if ( ( rec('225','a') =~ m/^A /) && ( rec(101) =~ m/ENG/ ) )
{
marc_indicators('245', 0, 2);
}
),
);
+marc('245','c',
+ rec('225','f')
+);
+
marc('245','n',
rec('225','h'),
);
)
);
+
marc_duplicate();
marc_remove('*');
233 a e f v
240
241
-242
-243
250
251
252
293
300
320
-327
330
423 z a b c
464 a f c g x y