isis: 'WebPAC::Input::ISIS'
marc: 'WebPAC::Input::MARC'
excel: 'WebPAC::Input::Excel'
+ dbf: 'WebPAC::Input::DBF'
isi: 'WebPAC::Input::ISI'
# define delimiters for validation
delimiters:
modify_file: 'conf/modify/common.pl'
normalize:
path: 'conf/normalize/ff-peri.pl'
+ - name: marcp
+ type: marc
+ path: '/data/webpac2/out/marc/ffiz-peri.marc'
+ encoding: 'UTF-8'
+ modify_file: 'conf/modify/common.pl'
+ normalize:
+ path: 'conf/normalize/marc.pl'
+ - name: marcl
+ type: marc
+ path: '/data/webpac2/out/marc/ffiz-libri.marc'
+ encoding: 'UTF-8'
+ modify_file: 'conf/modify/common.pl'
+ normalize:
+ path: 'conf/normalize/marc.pl'
- name: libri
type: isis
path: '/backup/isis_backup/A129-2/isisdata/latest/LIBRI/LIBRI'
path: 'conf/normalize/ff-libri.pl'
+
# ffkk:
# name: 'Komparativna knji¾evnost, Filozofski fakultet u Zagrebu'
# input:
# normalize:
# path: 'conf/normalize/ff-peri.pl'
#
-# ffpo:
-# name: 'Povijest, Filozofski fakultet u Zagrebu'
-# input:
-# - name: peri
-# type: isis
-# path: '/backup/isis_backup/A-201-1/isisdata/latest/PERI/PERI'
-# encoding: 'cp852'
-# modify_file: 'conf/modify/common.pl'
-# normalize:
-# path: 'conf/normalize/ff-peri.pl'
+ ffpo:
+ name: 'Povijest, Filozofski fakultet u Zagrebu'
+ input:
+ - name: peri
+ type: isis
+ path: '/backup/isis_backup/A-201-1/isisdata/latest/PERI/PERI'
+ encoding: 'cp852'
+ modify_file: 'conf/modify/common.pl'
+ normalize:
+ path: 'conf/normalize/ff-peri.pl'
#
# ffpu:
# name: 'Povijest umjetnosti, Filozofski fakultet u Zagrebu'
# normalize:
# path: 'conf/normalize/ff-peri.pl'
#
-# ffsf:
-# name: 'Slavenska filologija, Filozofski fakulteti u Zagrebu'
-# input:
-# - name: peri
-# type: isis
-# path: '/backup/isis_backup/A125-2/ISISDATA/latest/PERI/PERI'
-# encoding: 'cp852'
-# #limit: 10
-# modify_file: 'conf/modify/common.pl'
-# normalize:
-# # path: 'conf/normalize/ff-peri.pl'
-# path: 'conf/normalize/ff-peri.pl'
-
+ ffsf:
+ name: 'Slavenska filologija, Filozofski fakulteti u Zagrebu'
+ input:
+ - name: peri
+ type: isis
+ path: '/backup/isis_backup/A125-2/ISISDATA/latest/PERI/PERI'
+ encoding: 'cp852'
+ #limit: 10
+ modify_file: 'conf/modify/common.pl'
+ normalize:
+ #path: 'conf/normalize/ff-peri.pl'
+ path: 'conf/normalize/ff-peri.pl'
+ - name: marcp
+ type: marc
+ path: '/data/webpac2/out/marc/ffsf-peri.marc'
+ encoding: 'UTF-8'
+ #modify_file: 'conf/modify/common.pl'
+ normalize:
+ path: 'conf/normalize/marc.pl'
+ - name: xls
+ type: excel
+ path: '/data/isis_data/sfd/ffsf-peri.xls'
+ encoding: 'ISO-8859-2'
+ #modify_file: 'conf/modify/common.pl'
+ normalize:
+ path: 'conf/normalize/excel.pl'
+
+ proba:
+ name: FF
+ input:
+ - name: proba
+ type: isis
+ path: '/backup/isis_backup/A-201-1/isisdata/latest/PERI/PERI'
+ encoding: 'cp852'
+ #limit: 10
+ modify_file: 'conf/modify/common.pl'
+ normalize:
+ path: 'conf/normalize/minimal.pl'
+
# ffso:
# name: 'Sociologija, Filozofski fakultet u Zagrebu'
# input:
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','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') && 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') && 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') && rec('200','f') ) ? ' /' :
+ ( rec('200','k') && rec('200','c') ) ? '.' :
'',
rec('200','k'),
),
'c', suffix(
- ( rec('200','f') && rec('200','c') ) ? '. ' :
+ ( rec('200','f') && rec('200','c') ) ? '.' :
'',
rec('200','f'),
),
- '+', rec('200','c'),
+ '+', suffix('.',
+ rec('200','c'),
+ ),
);
#marc_compose('245',
} else {
$series = join_with('',
- config(),
- 'LS',
+ uc( config() ),
+ ' LS',
rec('000')
);
if ( rec('200','a') ) {
### LEADER
-# raspraviti 17,18
+## raspraviti 17,18
marc_leader('05','n'); # Record status
marc_leader('06','a'); # Type of record
+## izvuci podatke iz tablice (za po i sf)
+
if ( rec('225','a') ) {
marc_leader('07','d');
} else {
marc_leader('18','i'); # Descriptive cataloging form
+# ako postoji neko od polja 76x-78x - LDR 19 je r, ako ne postoji onda je prazno
+# tematski brojevi imaju vezu u
+
if ( rec('225','a') ) {
marc_leader('19','r'); # Linked record requirement
}
### 007
marc_fixed('007',00,'ta');
-
### 008 - All materials
# ¹to zapisati u polje kad datum nije poznat?
## c - Continuing resource currently published
## d - Continuing resource ceased publication
+my $year = rec('210','c');
+
if ( rec('210','c') ) {
marc_fixed('008','06','s'); # 06 - Type of date/Publication status, s = single know date
+
+# warn "## year = $year";
- my $year = rec('210','c');
- warn "## year = $year";
if ( $year =~ m/^(\d{4})/ ) {
-# warn "## $1 ##";
+# warn "## $1 ##\n";
marc_fixed('008','07',$1); # 07-10 - Date 1
}
-
+
+ if ( $year =~ m/^\d{4}-(\d{4})/ ) {
+# warn "## $1 ##";
+ marc_fixed('008','11',$1); # 11-14 - Date 2
+ marc_fixed('008','06','d');
+ }
+
} else {
marc_fixed('008','06','n'); # 06 - n = unknown date
}
-
-# marc_fixed('008','11', ' '); # 11-14 - Date 2
-marc_fixed('008','15',
+marc_fixed('008','15', # 15-17 - Place of publication, production, or execution
lc ( rec('102') )
-); # 15-17 - Place of publication, production, or execution
+);
+
+
+
marc_fixed('008','35',
first( lc(rec('101')) ) # 35-37 - Language
);
-marc_fixed('008','38', '|'); # 38 - Modified record
-marc_fixed('008','39','d'); # 39 - Cataloging source
-
+ # 38 - Modified record
+ # 39 - Cataloging source
### 008 - Continuing resources
if ( ! rec('225','a') ) {
-marc_fixed('008','18', '|'); # 18 - Frequency - ovo treba popuniti iz polja 326
- # 19 - Regularity
+marc_fixed('008','18', 'u'); # 18 - Frequency - ovo treba popuniti iz polja 326
+marc_fixed('008','19', 'u'); # 19 - Regularity
# 20 - Undefined, ontains a blank (#) or fill character (|)
# za polje 008 21 treba lookup u tablicu:
### 022
-if ( ! rec('225','a') ) {
+#if ( ! rec('225','a') ) {
marc('022','a',
rec('11')
);
-}
+#}
### 035$6
# privemeno koristimo 0356 umjesto 0359, zato ¹to marclint 9 prijavljuje kao gre¹ku
-marc('035','6',
+my $id;
+
+$id = (
join_with('',
uc( config() ),
' P',
)
);
+marc('035','6', $id);
### 040
# za sve je isti
);
### 210 indikatori
-
# marc_indicators('210', '1',' ');
-### 210
-# pronaæi priladan izvor podataka (nsk baza, issn baza)
-
+### 210 - ABBREVIATED TITLE
+# pronaæi prikladan izvor podataka (nsk baza, issn baza)
## iz nsk
#if ( rec('11') ) {
### 245 indikatori
# generiraju se prema èlanu i jeziku. potrebna naknadna kontrola.
+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 /) ) {
marc_indicators('245', 0, 4);
-} else {
- marc_indicators('245', 0, 0);
-}
+
+}
+
+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 /) ) {
+ marc_indicators('245', 0, 3);
+}
+
+
+if ( ( rec('200','a') =~ m/^A /) ||
+ ( rec('200','a') =~ 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','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') && 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') && 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') && rec('200','f') ) ? ' /' :
+ ( rec('200','k') && rec('200','c') ) ? '.' :
'',
rec('200','k'),
),
'c', suffix(
- ( rec('200','f') && rec('200','c') ) ? '. ' :
+ ( rec('200','f') && rec('200','c') ) ? '.' :
'',
rec('200','f'),
),
- '+', rec('200','c'),
+ '+', suffix('.',
+ rec('200','c'),
+ )
);
### 246 inikatori
);
### 310 - current stated publication frequency
-# potrebno ujednaèiti, polje 008?
+# potrebno ujednaèiti, koristi se i u polju 008
marc('310','a',
rec('326')
rec('225','x')
);
-#if ( rec('225','a') && rec('11') ) {
-# marc('999','a',
-# lookup(
-# sub { rec('110','a'), },
-# 'nsk','bbaza',
-# sub { rec('011','a') },
-# sub { rec('11') }
-# )
-# );
-#}
+if ( rec('11') ) {
+ marc('999','a',
+ lookup(
+ sub { rec('110','a'), },
+ 'nsk','bbaza',
+ sub { rec('011','a') },
+ sub { rec('11') }
+ )
+ );
+}
+
+#marc('998','a',
+# lookup(
+# sub { rec('H') },
+# 'ffsf','xls',
+# sub { rec('A') },
+# sub { $id },
+# ),
+#);
### 5xx
rec('422','a'),
);
+### 773 indikatori
+
+if ( rec('225','a') ) {
+
+marc_indicators('773', 0, ' ');
+
+### 773
+## da li je bitan redoslijed potpolja?
+
+marc('773','w',
+ lookup(
+ sub { rec('000') },
+ 'ffsf','peri',
+ sub { rec('200','a') },
+ sub {
+ regex('s/ ; //g',
+ rec('225','a')
+ )
+ },
+ )
+);
+
+}
+
+
### 777 indikatori
marc_indicators('777', 0, ' ');
### 777
+
marc('777','t',
rec('423','a'),
);
# )
# );
-} # 200a
+}# 200a