input:
- name: sig
type: excel
- path: '/data/FF/casopisi/Casopisi-signature-20090723.xls'
+ path: '/data/FF/casopisi/Casopisi-signature-upisani.xls'
to: 3352
normalize:
- path: 'conf/ffcasopisi/sigxls2marc.pl'
- path: 'conf/ffcasopisi/tables-signature.pl'
+ skip: 0
+ - name: kod
+ type: excel
+ path: '/data/FF/casopisi/ffsf-bibrazina.xls'
+ from: 1
+ to: 2510
+ normalize:
+ - path: 'conf/ffcasopisi/tables-bibrazina.pl'
+ skip: 1
+ - name: ang
+ type: isis
+ path: '/data/FF/casopisi/lj2008/an/PERI/PERI'
+ encoding: cp852
+ collection: FFAN
+ modify_file: 'conf/ffcasopisi/modify.pl'
+ normalize:
+ - path: 'conf/ffcasopisi/perilooksig2marc.pl'
+ - path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 1
+ - name: arh
+ type: isis
+ path: '/data/FF/casopisi/lj2008/ar/PERI/PERI'
+ encoding: cp852
+ collection: FFAR
+ modify_file: 'conf/ffcasopisi/modify.pl'
+ normalize:
+ - path: 'conf/ffcasopisi/perilooksig2marc.pl'
+ - path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 1
+ - name: etn
+ type: isis
+ path: '/data/FF/casopisi/lj2008/et/PERI/PERI'
+ encoding: cp852
+ collection: FFET
+ modify_file: 'conf/ffcasopisi/modify.pl'
+ normalize:
+ - path: 'conf/ffcasopisi/perilooksig2marc.pl'
+ - path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 1
+ - name: fil
+ type: isis
+ path: '/data/FF/casopisi/lj2008/fi/PERI/PERI'
+ encoding: cp852
+ collection: FFFI
+ modify_file: 'conf/ffcasopisi/modify.pl'
+ normalize:
+ - path: 'conf/ffcasopisi/perilooksig2marc.pl'
+ - path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 1
+ - name: fon
+ type: isis
+ path: '/data/FF/casopisi/lj2008/fo/PERI/PERI'
+ encoding: cp852
+ collection: FFFO
+ modify_file: 'conf/ffcasopisi/modify.pl'
+ normalize:
+ - path: 'conf/ffcasopisi/perilooksig2marc.pl'
+ - path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 1
+ - name: ger
+ type: isis
+ path: '/data/FF/casopisi/lj2008/ge/PERI/PERI'
+ encoding: cp852
+ collection: FFGE
+ modify_file: 'conf/ffcasopisi/modify.pl'
+ normalize:
+ - path: 'conf/ffcasopisi/perilooksig2marc.pl'
+ - path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 1
+ - name: hun
+ type: isis
+ path: '/data/FF/casopisi/lj2008/hu/PERI/PERI'
+ encoding: cp852
+ collection: FFHU
+ modify_file: 'conf/ffcasopisi/modify.pl'
+ normalize:
+ - path: 'conf/ffcasopisi/perilooksig2marc.pl'
+ - path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 1
+ - name: izn
+ type: isis
+ path: '/data/FF/casopisi/lj2008/iz/PERI/PERI'
+ encoding: cp852
+ collection: FFIZ
+ modify_file: 'conf/ffcasopisi/modify.pl'
+ normalize:
+ - path: 'conf/ffcasopisi/perilooksig2marc.pl'
+ - path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 1
+ - name: kom
+ type: isis
+ path: '/data/FF/casopisi/lj2008/kk/PERI/PERI'
+ encoding: cp852
+ collection: FFKK
+ modify_file: 'conf/ffcasopisi/modify.pl'
+ normalize:
+ - path: 'conf/ffcasopisi/perilooksig2marc.pl'
+ - path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 1
+ - name: lin
+ type: isis
+ path: '/data/FF/casopisi/lj2008/lo/PERI/PERI'
+ encoding: cp852
+ collection: FFLO
+ modify_file: 'conf/ffcasopisi/modify.pl'
+ normalize:
+ - path: 'conf/ffcasopisi/perilooksig2marc.pl'
+ - path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 1
+ - name: ped
+ type: isis
+ path: '/data/FF/casopisi/lj2008/pe/PERI/PERI'
+ encoding: cp852
+ collection: FFPE
+ modify_file: 'conf/ffcasopisi/modify.pl'
+ normalize:
+ - path: 'conf/ffcasopisi/perilooksig2marc.pl'
+ - path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 1
+ - name: pov
+ type: isis
+ path: '/data/FF/casopisi/lj2008/po/PERI/PERI'
+ encoding: cp852
+ collection: FFPO
+ modify_file: 'conf/ffcasopisi/modify.pl'
+ normalize:
+ - path: 'conf/ffcasopisi/perilooksig2marc.pl'
+ - path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 1
+ - name: psi
+ type: isis
+ path: '/data/FF/casopisi/lj2008/ps/PERI/PERI'
+ encoding: cp852
+ collection: FFPS
+ modify_file: 'conf/ffcasopisi/modify.pl'
+ normalize:
+ - path: 'conf/ffcasopisi/perilooksig2marc.pl'
+ - path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 1
+ - name: pum
+ type: isis
+ path: '/data/FF/casopisi/lj2008/pu/PERI/PERI'
+ encoding: cp852
+ collection: FFPU
+ modify_file: 'conf/ffcasopisi/modify.pl'
+ normalize:
+ - path: 'conf/ffcasopisi/perilooksig2marc.pl'
+ - path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 1
+ - name: rom
+ type: isis
+ path: '/data/FF/casopisi/lj2008/ro/PERI/PERI'
+ encoding: cp852
+ collection: FFRO
+ modify_file: 'conf/ffcasopisi/modify.pl'
+ normalize:
+ - path: 'conf/ffcasopisi/perilooksig2marc.pl'
+ - path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 1
- name: sfd
type: isis
path: '/data/FF/casopisi/lj2008/sfd/PERI/PERI'
encoding: cp852
- collection: Časopisi
+ collection: FFSF
+ modify_file: 'conf/ffcasopisi/modify.pl'
+ normalize:
+ - path: 'conf/ffcasopisi/perilooksig2marc.pl'
+ - path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 1
+ - name: soc
+ type: isis
+ path: '/data/FF/casopisi/lj2008/so/PERI/PERI'
+ encoding: cp852
+ collection: FFSO
+ modify_file: 'conf/ffcasopisi/modify.pl'
+ normalize:
+ - path: 'conf/ffcasopisi/perilooksig2marc.pl'
+ - path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 0
+ - name: tal
+ type: isis
+ path: '/data/FF/casopisi/lj2008/ta/PERI/PERI'
+ encoding: cp852
+ collection: FFTA
+ modify_file: 'conf/ffcasopisi/modify.pl'
+ normalize:
+ - path: 'conf/ffcasopisi/perilooksig2marc.pl'
+ - path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 1
+ - name: tur
+ type: isis
+ path: '/data/FF/casopisi/lj2008/tu/PERI/PERI'
+ encoding: cp852
+ collection: FFTU
modify_file: 'conf/ffcasopisi/modify.pl'
normalize:
- path: 'conf/ffcasopisi/perilooksig2marc.pl'
- path: 'conf/ffcasopisi/tables-isis.pl'
+ skip: 1
output:
- module: 'DBI'
dsn: 'dbi:Pg:dbname=ffcas'
11
'*'
- ' ' => ''
+ 'regex:^\s+' => ''
102
'*'
'regex:^AL$' => 'aa'
+ 'regex:^AM$' => 'ai'
+ 'regex:^AR$' => 'ag'
'regex:^AT$' => 'au'
'regex:^AU$' => 'at'
+ 'regex:^AUT$' => ''
+ 'regex:^B$' => ''
'regex:^BA$' => 'bn'
+ 'regex:^BA; HR$' => ''
+ 'regex:^BE$' => 'be'
'regex:^BG$' => 'bu'
'regex:^BH$' => 'ba'
'regex:^ BH$' => 'ba'
+ 'regex:^BiH$' => 'ba'
+ 'regex:^BIH$' => 'ba'
'regex:^BL$' => 'bu'
+ 'regex:^BO$' => 'bo'
'regex:^BOS$' => 'bn'
'regex:^CA$' => 'cn'
+ 'regex:^CAN$' => 'cn'
'regex:^CG$' => 'cg'
'regex:^CH$' => 'sz'
+ 'regex:^CRO$' => 'ci'
+ 'regex:^CS$' => 'yu'
+ 'regex:^CU$' => 'cu'
'regex:^CZ$' => 'xr'
'regex:^D$' => 'gw'
+ 'regex:^De$' => 'gw'
'regex:^DE$' => 'gw'
+ 'regex:^DE/AT$' => ''
+ 'regex:^DEU$' => 'gw'
+ 'regex:^DK$' => 'dk'
+ 'regex:^DU$' => ''
+ 'regex:^EG$' => 'ua'
+ 'regex:^EN$' => 'uk'
+ 'regex:^Eng$' => 'uk'
+ 'regex:^ENG$' => 'uk'
'regex:^ES$' => 'sp'
+ 'regex:^ET$' => ''
+ 'regex:^EU$' => ''
+ 'regex:^F$' => ''
+ 'regex:^FI$' => 'fi'
+ 'regex:^FIN$' => 'fi'
'regex:^FR$' => 'fr'
+ 'regex:^FRA$' => 'fr'
'regex:^GB$' => 'uk'
+ 'regex:^GBR$' => 'uk'
+ 'regex:^GE$' => 'gw'
+ 'regex:^GER$' => 'gw'
+ 'regex:^hr$' => 'ci'
'regex:^Hr$' => 'ci'
'regex:^HR$' => 'ci'
+ 'regex:^HR-IT$' => ''
+ 'regex:^HR; IT$' => ''
+ 'regex:^HRV$' => 'ci'
+ 'regex:^HR, YU$' => ''
'regex:^HU$' => 'hu'
+ 'regex:^I$' => ''
+ 'regex:^IN$' => 'ii'
+ 'regex:^IR$' => 'ir'
'regex:^IT$' => 'it'
+ 'regex:^ITA$' => 'it'
+ 'regex:^IZ$' => ''
+ 'regex:^JA$' => 'jp'
+ 'regex:^JAP$' => 'jp'
'regex:^JU$' => 'yu'
- 'regex:^MA$' => 'xn'
+ 'regex:^Jugoslavija$' => ''
+ 'regex:^KR$' => 'ko'
+ 'regex:^LV$' => 'lv'
+ 'regex:^MA$' => 'mr'
'regex:^MK$' => 'xn'
+ 'regex:^MT$' => 'mm'
+ 'regex:^MX$' => 'mx'
'regex:^NL$' => 'ne'
+ 'regex:^NO$' => 'no'
+ 'regex:^Šanjolska$' => 'sp'
'regex:^Pl$' => 'pl'
'regex:^PL$' => 'pl'
+ 'regex:^PT$' => 'po'
'regex:^RF$' => 'ru'
+ 'regex:^RM$' => 'rm'
'regex:^RO$' => 'rm'
+ 'regex:^ROM$' => 'rm'
'regex:^RU$' => 'ru'
+ 'regex:^RUM$' => 'ru'
+ 'regex:^SAD$' => 'us'
+ 'regex:^SC$' => 'se'
+ 'regex:^SCC$' => ''
+ 'regex:^SCG$' => ''
+ 'regex:^SE$' => 'sw'
'regex:^SI$' => 'xv'
- 'regex:^SiCG$' => ' '
- 'regex:^SICG$' => ' '
+ 'regex:^SiCG$' => ''
+ 'regex:^SICG$' => ''
'regex:^SK$' => 'xo'
'regex:^SL$' => 'sl'
+ 'regex:^SLO$' => 'sl'
+ 'regex:^SLV$' => ''
+ 'regex:^SP$' => ''
'regex:^SR$' => 'sr'
+ 'regex:^Srbija$' => 'sr'
+ 'regex:^SRBIJA$' => 'sr'
+ 'regex:^SS$' => ''
+ 'regex:^SU$' => ''
'regex:^SW$' => 'sw'
+ 'regex:^SZ$' => ''
+ 'regex:^TN$' => 'ti'
+ 'regex:^TR$' => 'tu'
'regex:^UA$' => 'un'
'regex:^UK$' => 'uk'
+ 'regex:^us$' => 'us'
'regex:^US$' => 'us'
'regex:^USA$' => 'us'
+ 'regex:^Vojvodina$' => 'sr'
'regex:^YU$' => 'yu'
+ 'regex:^YU;CS$' => ''
+ 'regex:^YUG$' => 'yu'
+ 'regex:^YU, HR$' => ''
+ 'regex:^YU, HR$' => ''
+ 'regex:^YU/HR$' => ''
+ 'regex:^YU, SI$' => ''
+ 'regex:^YU, Srbija$' => ''
+ 'regex:^YU (SRBIJA)$' => ''
+ 'regex:^YU, SRBIJA$' => ''
+
200
'*'
'^e' => ' : '
'^d' => ' = '
'^k' => ' : '
+
210
- 'd'
+ '*'
+ ' : ' => ' :^b'
+ ' ; ' => ' ;^a'
+ '^c' => ' :^b'
+ '^d' => ',^c'
+ '^c'
+ 'regex:^\s+' => ''
' - ' => '-'
' -' => '-'
'- ' => '-'
', ' => '-'
'.' => ''
- '[sa]' => '[s.a.]'
- '^ ' => ''
+ '_ _' => '--'
+
+
326
+ 'regex:^1$' => '|'
+ 'regex:^1.$' => '|'
+ 'regex:^10$' => '10'
+ 'regex:^10.$' => '10'
'regex:^10g$' => '10'
'regex:^12$' => 'm1'
- 'regex:^19g$' => 'g19'
- 'regex:^gnepoznato$' => 'np'
- 'regex:^g10$'=> '10'
- 'regex:^g12$'=> 'm1'
+ 'regex:^1-2 broja godišnje$' => 'g2'
+ 'regex:^12g ;(uvez:1953-1957);(uvez:1958-1961)$' => '|'
+ 'regex:^19g$' => '19'
+ 'regex:^1g$' => '|'
+ 'regex:^1m$' => '|'
+ 'regex:^26.godišnje$' => '|'
+ 'regex:^2g$' => '|'
+ 'regex:^2. godišnje 2 broja$' => 'g2'
+ 'regex:^3.$' => '|'
+ 'regex:^35(1996)$' => '|'
+ 'regex:^3g$' => '|'
+ 'regex:^4.$' => '|'
+ 'regex:^4g$' => '|'
+ 'regex:^52$' => '|'
+ 'regex:^64$' => '|'
+ 'regex:^6g$' => '|'
+ 'regex:^Četvrtgodišnje$' => 'g4'
+ 'regex:^dg$' => '|'
+ 'regex:^Dva puta tjedno utorkom i subotom$' => 't2us'
+ 'regex:^Dvogodišnjak$' => '2g'
+ 'regex:^g$' => '|'
+ 'regex:^g1$' => 'g1'
+ 'regex:^g1.$' => 'g1'
+ 'regex:^g10$' => '10'
+ 'regex:^g 10$' => '10'
+ 'regex:^g11$' => '11'
+ 'regex:^g12$' => 'm1'
+ 'regex:^g1godišnjak$' => 'g1'
+ 'regex:^g1 godišnjak$' => 'g1'
+ 'regex:^g1.godišnjak.$' => 'g1'
+ 'regex:^g1 nr$' => 'nr'
+ 'regex:^g1- nr$' => 'nr'
+ 'regex:^g1; nr$' => 'nr'
+ 'regex:^g1(nr)$' => 'nr'
+ 'regex:^g2$' => 'g2'
+ 'regex:^g2.$' => 'g2'
+ 'regex:^g2 $' => 'g2'
+ 'regex:^g2.$' => 'g2'
+ 'regex:^g20$' => '20'
+ 'regex:^g24$' => '24'
+ 'regex:^g26$' => '26'
+ 'regex:^g2.godišnje 2 broja.$' => 'g2'
+ 'regex:^g2 polugodišnjak$' => 'g2'
+ 'regex:^g2.polugodišnjak.$' => 'g2'
+ 'regex:^g3$' => 'g3'
+ 'regex:^g3.$' => 'g3'
+ 'regex:^g3.$' => 'g3'
+ 'regex:^g3 četveromjesečnik$' => 'g3'
+ 'regex:^g3.godišnje 3 broja.$' => 'g3'
+ 'regex:^g3.tromjesečnik.$' => 'g3'
+ 'regex:^g4$' => 'g4'
+ 'regex:^g4.$' => 'g4'
+ 'regex:^g4.$' => 'g4'
+ 'regex:^g4-5$' => 'g4'
+ 'regex:^g4 tromjesečnik$' => 'g4'
+ 'regex:^g4.tromjese.+$' => 'g4'
+ 'regex:^g5$' => 'g5'
+ 'regex:^g5.$' => 'g5'
+ 'regex:^g50$' => '|'
+ 'regex:^g5.godišnje 5 brojeva.$' => 'g5'
+ 'regex:^g6$' => 'g6'
'regex:^ g6$' => 'g6'
- 'regex:^g24$' => 'm2'
- 'regex:^gm1$' => 'm1'
- 'regex:^gm4$' => 't1'
+ 'regex:^g6.$' => 'g6'
+ 'regex:^g6 dvomjesečnik$' => 'g6'
+ 'regex:^g6.dvomjesečnik.$' => 'g6'
+ 'regex:^g6 polugodišnjak$' => 'g6'
+ 'regex:^g8$' => 'g8'
+ 'regex:^g9$' => 'g9'
+ 'regex:^g9.$' => 'g9'
+ 'regex:^gm1$' => '|'
+ 'regex:^gm4$' => '|'
+ 'regex:^gnepoznato$' => '|'
'regex:^gnr$' => 'nr'
- 'regex:^g$' => 'g1'
+ 'regex:^Godišnje$' => 'g1'
+ 'regex:^godišnje 4 broja$' => 'g4'
+ 'regex:^Izlazi neredovito$' => 'nr'
+ 'regex:^m1$' => 'm1'
+ 'regex:^m1.$' => 'm1'
'regex:^m12$' => 'm1'
+ 'regex:^m1.mjesečnik.$' => 'm1'
+ 'regex:^m2$' => 'm2'
+ 'regex:^m2.dvotjednik.$' => 'm2'
+ 'regex:^m3$' => 'm3'
+ 'regex:^m4$' => 't1'
+ 'regex:^Neredovito$' => 'nr'
+ 'regex:^nr$' => 'nr'
+ 'regex:^nr $' => 'nr'
+ 'regex:^nr.$' => 'nr'
+ 'regex:^Nr$' => 'nr'
+ 'regex:^NR$' => 'nr'
+ 'regex:^nr (kvartalno)$' => 'nr'
+ 'regex:^nr neredovito$' => 'nr'
+ 'regex:^nr.neredovito.$' => 'nr'
+ 'regex:^od 1993 g4, do 1993 g2$' => '|'
+ 'regex:^Polutjedno$' => 't2'
+ 'regex:^t1$' => 't1'
'regex:^tjednik$' => 't1'
'regex:^Tjednik$' => 't1'
- 'regex:^Tromjese.*$' => 'g4'
- 'regex:^Tri puta mjese.*$' => 'm3'
- 'regex:^Polutjedno$' => 't2'
-
+ 'regex:^Tri puta mjesečno$' => 'm3'
+ 'regex:^tromjesečnik$' => '|'
+ 'regex:^Tromjesečnik$' => '|'
+ 'regex:^Tromjesečno$' => '|'
my $pair =
lookup(
- sub { rec('B') },
+ sub { rec('C') },
'casopisi','sig',
sub { rec('A') . rec('B') },
sub { config ('input collection') . rec('000') }
);
-#if ( $pair ) {
+if ( $pair ) {
-marc('888','a',
- $pair
-);
-
-marc('888','b',
- config('input collection')
-);
-
-if ( rec('200','a') ) {
### LEADER
## LDR 07 - Bibliographic level
# izvuci podatke iz tablie (za po i sf)
+my $ldr7 =
+ lookup(
+ sub { rec('D') },
+ 'casopisi','kod',
+ sub { rec('B') . rec('A') },
+ sub { config ('input collection') . rec('000') }
+ );
+
#if ( rec('225','a') ) {
# marc_leader('07','d');
#} else {
# marc_leader('07','s');
#}
-marc_leader('07','s');
+
+if ( $ldr7 ) {
+ marc_leader('07', $ldr7 );
+}
+
## LDR 17 - Encoding level ; 7 - minimal level, u - unknown
marc_leader('17','u');
## d - Continuing resource ceased publication
## u - Continuing resource status unknown
-marc_fixed('008','06','u');
+marc_fixed('008','06','|');
my $d1 = ' ';
my $d2 = ' ';
if ( rec('210','d') ) {
- if ( rec('210','d') =~ m/(\d{4}).*(\d{4})/ ) {
- marc_fixed('008','06','d');
+ if ( rec ('210','d') =~ m#(\d{4}).*?-.*?(\d{4})# ) {
$d1 = $1;
$d2 = $2;
- marc_fixed('008','07', $d1);
- } else {
- marc_fixed('008','06','c');
- marc_fixed('008','07', # 07-10 - Date 1
- regex ( 's/.*(\d{4}).*/$1/',
- rec('210','d')
- )
- );
+ marc_fixed('008','06','d');
+ }
+ if ( rec ('210','d') =~ m{(\d{4}).*?-\s*$} ) {
+ $d1 = $1;
$d2 = '9999';
+ marc_fixed('008','06','c');
}
- marc_fixed('008','11',$d2); # 07-10 - Date 1
+
+ marc_fixed('008','07', $d1);
+ marc_fixed('008','11', $d2);
+
}
marc_fixed('008','15', # 15-17 - Place of publication, production, or execution
my $fre;
-$fre = ( rec('326') eq '10' ) ? 'm' :
+$fre = ( rec('326') eq '2g' ) ? 'g' :
( rec('326') eq 'g1' ) ? 'a' :
( rec('326') eq 'g2' ) ? 'f' :
( rec('326') eq 'g3' ) ? 't' :
( rec('326') eq 'g5' ) ? 'z' :
( rec('326') eq 'g6' ) ? 'b' :
( rec('326') eq 'g8' ) ? 'b' :
- ( rec('326') eq 'g19' ) ? 's' :
+ ( rec('326') eq 'g9' ) ? 'm' :
( rec('326') eq 'm1' ) ? 'm' :
+ ( rec('326') eq '10' ) ? 'm' :
+ ( rec('326') eq '11' ) ? 'm' :
( rec('326') eq 'm2' ) ? 's' :
+ ( rec('326') eq '19' ) ? 's' :
+ ( rec('326') eq '20' ) ? 's' :
+ ( rec('326') eq '24' ) ? 's' :
+ ( rec('326') eq '26' ) ? 's' :
( rec('326') eq 'm3' ) ? 'j' :
( rec('326') eq 't1' ) ? 'w' :
( rec('326') eq 't2' ) ? 'c' :
( rec('326') eq 'nr' ) ? ' ' :
( rec('326') eq 'np' ) ? 'u' :
'|';
-
-
marc_fixed('008','18', $fre); # 18 - Frequency - ovo treba popuniti iz polja 326
marc_fixed('008','19', '|'); # 19 - Regularity
# 20 - Undefined, ontains a blank (#) or fill character (|)
# za polje 008 21 treba lookup u tablicu s kodovima za sf i po, za ostale nadopuniti naknadno
-marc_fixed('008','21', 'p'); # 21 - Type of continuing resource
+
+my $stype =
+ lookup(
+ sub { rec('E') },
+ 'casopisi','kod',
+ sub { rec('B') . rec('A') },
+ sub { config ('input collection') . rec('000') }
+ );
+
+if ( $stype ) {
+ marc_fixed('008','21', $stype); # 21 - Type of continuing resource
+}
# 22 - Form of original item - blank
# 23 - Form of item
marc_fixed('008','24','|'); # 24 - Nature of entire work
);
#}
-### 035$6
-# privemeno koristimo 0356 umjesto 0359, zato ¹to marclint 9 prijavljuje kao gre¹ku
+### 035
my $id;
)
);
-marc('035','6', $id);
+marc('035','a', $id);
### 040
# za sve je isti
-# treba utvrditi toènu oznaku za ustanovu
+# treba utvrditi točnu oznaku za ustanovu
marc('040','a',
'HR-ZaFF'
'hrv'
);
+marc('040','c',
+ 'HR-ZaFF'
+);
+
marc('040','e',
'ppiak'
);
-### 041 - indikatori
-
-marc_indicators('041', 0, ' ');
-
-### 041
-
-marc_repeatable_subfield('041','a',
- rec('101')
-);
+#### 041 - indikatori
+#
+#
+#marc_indicators('041', 0, ' ');
+#
+#### 041
+#
+#marc_repeatable_subfield('041','a',
+# rec('101')
+#);
#_debug(3);
-### 044 - zemlja izdavanja
-
-marc('044','a',
- rec('102')
-);
-
### 080
marc('080','a',
# marc_indicators('210', '1',' ');
### 210 - ABBREVIATED TITLE
-# pronaæi prikladan izvor podataka (nsk baza, issn baza)
-
-## iz nsk
-#if ( rec('11') ) {
-#marc('210','a',
-# lookup(
-# sub { rec('531','a') },
-# 'nsk','bbaza',
-# sub { rec('011','a') },
-# sub { rec('11') },
-# )
-#);
-#}
+# pronaći prikladan izvor podataka (nsk baza, issn baza)
### 222 indikatori
-# drugi indikator prema èlanu
+# drugi indikator prema clanu
marc_indicators('222',' ','0');
### 222 - Key title
-# pronaæi prikadan izvor podataka - nsk baza, issn baze
+# pronaci prikadan izvor podataka - nsk baza, issn baze
marc('222','a',
rec('530')
#}
### 245 indikatori
-# generiraju se prema èlanu, trebalo bi mo¾da i prema jeziku (jezika nema uvijek).
+# generiraju se prema clanu, trebalo bi możda i prema jeziku (jezika nema uvijek).
# potrebna naknadna kontrola
+my $naslov =
+ lookup(
+ sub { rec('E') },
+ 'casopisi','sig',
+ sub { rec('A') . rec('B') },
+ sub { config ('input collection') . rec('000') }
+ );
+
marc_indicators('245', 0, 0);
-if ( ( rec('200','a') =~ m/^Die /) ||
- ( rec('200','a') =~ m/^Das /) ||
- ( rec('200','a') =~ m/^Der /) ||
- ( rec('200','a') =~ m/^Les /) ||
- ( rec('200','a') =~ m/^The /) ) {
+if ( ( $naslov =~ m/^Die /) ||
+ ( $naslov =~ m/^Das /) ||
+ ( $naslov =~ m/^Der /) ||
+ ( $naslov =~ m/^Les /) ||
+ ( $naslov =~ m/^The /) ) {
marc_indicators('245', 0, 4);
}
-if ( ( rec('200','a') =~ m/^Un /) ||
- ( rec('200','a') =~ m/^An /) ||
- ( rec('200','a') =~ m/^La /) ||
- ( rec('200','a') =~ m/^Le /) ||
- ( rec('200','a') =~ m/^Il /) ) {
+if ( ( $naslov =~ m/^Un /) ||
+ ( $naslov =~ m/^An /) ||
+ ( $naslov =~ m/^La /) ||
+ ( $naslov =~ m/^Le /) ||
+ ( $naslov =~ m/^Il /) ) {
marc_indicators('245', 0, 3);
}
-if ( ( rec('200','a') =~ m/^A /) ||
- ( rec('200','a') =~ m/^L'/) ) {
+if ( ( $naslov =~ m/^A /) ||
+ ( $naslov =~ m/^L'/) ) {
marc_indicators('245', 0, 2);
}
### 245
-marc_compose('245',
- 'a', suffix(
- ( ! ( rec('200','d') || rec('200','e') || rec('200','k') ) ) && ( rec('200','f') ) ? ' /' :
- ( rec('200','d') ) ? ' =' :
- ( rec('200','e') ) ? ' :' :
- ( rec('200','k') ) ? ' ;' :
- '',
- rec('200','a'),
- ),
- 'b', suffix(
- ( rec('200','d') && rec('200','f') ) ? ' /' :
- ( rec('200','d') && rec('200','c') ) ? '.' :
- '',
- rec('200','d'),
- ),
- 'b', suffix(
- ( rec('200','e') && rec('200','f') ) ? ' /' :
- ( rec('200','e') && rec('200','c') ) ? '.' :
- '',
- rec('200','e'),
- ),
- 'b', suffix(
- ( rec('200','k') && rec('200','f') ) ? ' /' :
- ( rec('200','k') && rec('200','c') ) ? '.' :
- '',
- rec('200','k'),
- ),
- 'c', suffix(
- ( rec('200','f') && rec('200','c') ) ? '.' :
- '',
- rec('200','f'),
- ),
- '+', suffix('.',
- rec('200','c'),
- )
-);
-### 246 inikatori
-# prema jeziku - provjera
+#warn $naslov;
-if ( ( rec('200','a') =~ m/^Die /) ||
- ( rec('200','a') =~ m/^Das /) ||
- ( rec('200','a') =~ m/^The /) ) {
- marc_indicators('246', 0, 4);
+my ($a,$b,$c);
+$c = $2 if $naslov =~ s{(\s+/)\s+(.+)$}{$1};
+if ( $naslov =~ s{^(.+?[:=])\s+}{} ) {
+ $a = $1;
+ $b = $naslov ;
} else {
- marc_indicators('246', 0, 0);
+ $a = $naslov ;
}
-### 246
-# povuæi podatke iz prikladnog izvora (nsk, issn)
+#warn "a: $a\nb: $b\nc: $c\n";
-marc('246','a',
- rec('532')
-);
+$a = $a . '.' if ( ! ( $b || $c) );
+$b = $b . '.' if ( ! $c && $b ) ;
+
+marc('245','a', $a);
+marc('245','b', $b) if $b;
+if ( $c ) {
+ marc('245','c', $c);
+} else {
+ marc('245','c',
+ rec('200','f')
+ );
+}
+
+### 246 inikatori
+# prema jeziku - provjera
+#
+#if ( ( rec('200','a') =~ m/^Die /) ||
+# ( rec('200','a') =~ m/^Das /) ||
+# ( rec('200','a') =~ m/^The /) ) {
+# marc_indicators('246', 0, 4);
+#} else {
+# marc_indicators('246', 0, 0);
+#}
+
+### 246
+# povuci podatke iz prikladnog izvora (nsk, issn)
+# 532 iz ISIS-a nije konvertirano
+#marc('246','a',
+# rec('532')
+#);
## iz nsk:
# marc('246','a',
);
### 310 - current stated publication frequency
-# potrebno ujednaèiti, koristi se i u polju 008
+# potrebno ujednaciti, koristi se i u polju 008
marc('310','a',
rec('326')
marc_indicators('362', 0, ' ');
### 362
-#
-if ( rec('207','a') ) {
- marc('362','a',
- rec('207','a'),
- );
-}
+marc('362','a',
+ rec('207','a'),
+);
## lookup iz nsk
#else {
### 5xx
-# koje podatke povuæi iz drugih baza?
+# koje podatke povuci iz drugih baza?
marc('500','a',
rec('300','a'),
rec('324')
);
-## potencijalno za izvuæi iz NSK
+## potencijalno za izvuci iz NSK
#if ( rec('11') ) {
#marc('546','a',
# lookup(
rec('440','a'),
);
-### 852
-
-marc('852','j',
- join_with(' ',
- rec('990')
- )
+### 856
+marc('856','u',
+ rec('856','u')
);
-### 876
-marc('876','a',
- rec('991','a')
-);
+### 942
+#
+#marc('942','d',
+# $pair
+#);
+
### 992
marc('992','a',
- join_with(' ; ',
- rec('992')
- )
+ rec('992')
);
# )
# );
-} # 200a
-#} # pair
+} # pair