- to: efzg
credit: 10000
-# # site with alternative databases
-# 'hr':
-# name: 'Primjer za hrvatsko suèelje'
-# links:
-# - to: ffps
-# credit: 10000
-# - to: ffkk
-# credit: 5000
-# - to: emerald
-# credit: 5000
+# hazu:
+# name: 'HAZU'
+# input:
+# - name: bib
+# type: isis
+# path: '/data/unizg/hazu/BIB'
+# encoding: 'cp852'
+# modify_file: 'conf/modify/common.pl'
+# normalize:
+# path: 'conf/normalize/minimal.pl'
+#
+# sand:
+# name: 'SAND'
+# input:
+# name: casopisi
+# type: dbf
+# path: '/data/unizg/casopisi/sys/cas2000.dbf'
+# normalize:
+# path: 'conf/normalize/common.pl'
+## mapping_path: 'conf/input/dbf/cas2000.yml'
+#
+# hidra:
+# name: 'HIDRA'
+# input:
+# - name: bib
+# type: isis
+# path: '/data/hidra/test/BIB'
+# encoding: 'cp852'
+# modify_file: 'conf/modify/common.pl'
+# normalize:
+# path: 'conf/normalize/minimal.pl'
+#
+# efzg:
+# name: 'EFZG'
+# input:
+# - name: crolist
+# type: marc
+# path: '/data/unizg/drustvene/efzg/unimarc.iso'
+# encoding: 'ISO-8859-2'
+# normalize:
+# path: 'conf/normalize/minimal.pl'
+#
+# ipu:
+# name: 'Institut za povijest umjetnosti'
+# input:
+# - name: bibl
+# type: isis
+# path: '/data/unizg/humanistika/ipu/20071115/bibl/BIBL'
+# encoding: 'cp852'
+# # modify_file: 'conf/modify/common.pl'
+# normalize:
+# path: 'conf/normalize/minimal.pl'
+#
+# zvonar:
+# name: 'HAZU Odsjek za povijesne znanosti'
+# input:
+# - name: libri
+# type: isis
+# path: '/data/unizg/humanistika/hazu-p/LIBRI'
+# normalize:
+# path: 'conf/normalize/minimal.pl'
+# - name: peri
+# type: isis
+# path: '/data/unizg/humanistika/hazu-p/PERI'
+# normalize:
+# path: 'conf/normalize/minimal.pl'
+#
+# stross:
+# name: 'Strossmayerova galerija'
+# input:
+# - name: bib
+# type: isis
+# path: '/data/unizg/stross/BIB'
+# normalize:
+# path: 'conf/normalize/minimal.pl'
+#
+# koncar:
+# name: 'Konèar'
+# input:
+# - name: unimar
+# type: isis
+# path: '/data/tehnika/koncar/UNIMAR'
+# normalize:
+# path: 'conf/normalize/minimal.pl'
+#
+ datumi:
+ name: 'Nevaljali datumi'
+ input:
+ - name: tablica
+ type: excel
+ path: '/data/isis_data/greske/datum_unosa.xls'
+ encoding: 'windows-1250'
+ normalize:
+ - path: 'conf/normalize/common.pl'
+
+# ffps:
+# name: 'Psihologija, Filozofski fakultet u Zagrebu'
+# code: 'ps'
+# url: 'http://www.knjiznice.ffzg.hr/psihologija'
+# input:
+# - name: libri
+# type: isis
+# path: '/backup/isis_backup/sunce2/isisdata/latest/LIBRI/'
+# encoding: 'cp852'
+# modify_file: 'conf/modify/common.pl'
+# normalize:
+# - path: 'conf/normalize/report-sorted-txt.pl'
+# output:
+## - module: 'Excel'
+## path: '/data/isis_data/ps/reports/libri-nema-jezik.xls'
+# - module: 'Sorted'
+# path: 'out/report/mfn/ps/'
+## - module: 'Excel'
+## path: '/data/isis_data/ps/reports/autori-udk.xls'
-# 'ffps':
-# name: 'Knji¾nica Odsjeka za psihologiju'
-# links:
-# - to: ffps
-# credit: 10000
-
-# 'drustvene':
-# name: 'Katalog knji¾nica dru¹tvenih znanosti'
-# links:
-# - to: efzg
-# credit: 10000
-# - to: eizg
-# credit: 10000
-# - to: efos
-# credit: 10000
-# - to: irmo
-# credit: 10000
-# - to: hika
-# credit: 10000
-# - to: iztzg
-# credit: 10000
-# - to: jzav
-# credit: 10000
-# - to: ijf
-# credit: 10000
-
-# 'ecasopisi':
-# name: 'Katalog elektronièkih èasopisa'
-# links:
-# - to: emerald
-# credit: 10000
- hazu:
- name: 'HAZU'
+ ffiz:
+ name: 'Informacijske znanosti, Filozofski fakultet u Zagrebu'
input:
- - name: bib
+ - name: libri
type: isis
- path: '/data/unizg/hazu/BIB'
+ path: '/backup/isis_backup/A129-2/isisdata/latest/LIBRI/LIBRI'
encoding: 'cp852'
modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/minimal.pl'
+ - path: 'conf/normalize/report-sorted-txt.pl'
+ output:
+# - module: 'Excel'
+# path: '/data/isis_data/iz/reports/libri-nema-jezik.xls'
+ - module: 'Sorted'
+ path: 'out/report/mfn/iz/'
+# - module: 'Excel'
+# path: '/data/isis_data/iz/reports/autori-udk.xls'
- sand:
- name: 'SAND'
- input:
- name: casopisi
- type: dbf
- path: '/data/unizg/casopisi/sys/cas2000.dbf'
- normalize:
- path: 'conf/normalize/common.pl'
-# mapping_path: 'conf/input/dbf/cas2000.yml'
-
- hidra:
- name: 'HIDRA'
+
+ casopisi:
+ name: 'Èasopisi u Knji¾nicama FF-a'
input:
- - name: bib
- type: isis
- path: '/data/hidra/test/BIB'
- encoding: 'cp852'
- modify_file: 'conf/modify/common.pl'
+ - name: ff
+ type: excel
+ path: '/data/isis_data/CASOPISI/svi-casopisi-FF.xls'
+ ncoding: 'utf-8'
normalize:
- path: 'conf/normalize/minimal.pl'
+ - path: 'conf/normalize/ff-casopisi-xls.pl'
+# - path: 'conf/normalize/ff-casopisi-marc.pl'
+ output:
+ - module: 'Excel'
+ path: 'out/excel/casopisi-FF-dupli-knjiznice.xls'
- efzg:
- name: 'EFZG'
+ fflibri:
+ name: 'Filozofski fakultet u Zagrebu'
input:
- - name: crolist
+ - name: marc
type: marc
- path: '/data/unizg/drustvene/efzg/unimarc.iso'
+ path: 'out/marc/fflibri.marc'
encoding: 'ISO-8859-2'
normalize:
- path: 'conf/normalize/minimal.pl'
-
- ipu:
- name: 'Institut za povijest umjetnosti'
- input:
- - name: bibl
- type: isis
- path: '/data/unizg/humanistika/ipu/20071115/bibl/BIBL'
- encoding: 'cp852'
- # modify_file: 'conf/modify/common.pl'
- normalize:
- path: 'conf/normalize/minimal.pl'
-
- zvonar:
- name: 'HAZU Odsjek za povijesne znanosti'
- input:
- - name: libri
- type: isis
- path: '/data/unizg/humanistika/hazu-p/LIBRI'
- normalize:
- path: 'conf/normalize/minimal.pl'
- - name: peri
- type: isis
- path: '/data/unizg/humanistika/hazu-p/PERI'
- normalize:
- path: 'conf/normalize/minimal.pl'
+ - path: 'conf/normalize/ff-libri-dupli.pl'
+ output:
+ - module: 'Excel'
+ path: 'out/excel/knjige-duplo.xls'
- stross:
- name: 'Strossmayerova galerija'
- input:
- - name: bib
- type: isis
- path: '/data/unizg/stross/BIB'
- normalize:
- path: 'conf/normalize/minimal.pl'
-
- koncar:
- name: 'Konèar'
- input:
- - name: unimar
- type: isis
- path: '/data/tehnika/koncar/UNIMAR'
- normalize:
- path: 'conf/normalize/minimal.pl'
-
-##########################################################################
-## ##
-## Ova datoteka sadr¾i pravila za generiranje MARC21 ISO 2709 izlazne ##
-## datoteke. Ulazni format je CDS/ISIS izvorni format, sa zapisima u ##
-## UNIMARC formatu, sa vi¹estrukim odstupanjima od standarda. ##
-## ##
-##########################################################################
+
+# Ova datoteka sadr¾i pravila za generiranje MARC21 ISO 2709 izlazne
+# datoteke. Ulazni format je CDS/ISIS izvorni format, sa zapisima u
+# UNIMARC formatu, sa vi¹estrukim odstupanjima od standarda.
+
## konvertira se ako postoji polje 200^a
## LDR 05 - c = pregledan ; n = new
## 999^aP - SFM
-if ( rec('999') && rec('999','a') =~ m/(pregledan|P)/i) {
+if ( rec('999','a') && rec('999','a') =~ m/(pregledan|P)/i) {
marc_leader('05','c');
} else {
marc_leader('05','n');
marc_leader('07','m');
-## LDR 17
+## LDR 17 - 3
marc_leader('17','7');
## LDR 18
marc_leader('18','i');
## LDR 19 - razjasniti
+# nema vi¹e r, ima #, a, b ili c
-if ( rec('230') ) {
- marc_leader('19','r');
+if ( rec('230') | rec('231') | rec('232') | rec('233') ) {
+ marc_leader('19','a');
}
-### 001 - Voyager ID
-
-### 003 - razjasniti
-
-### 007 - razjasniti
-
-marc_fixed('007',00,'ta');
-
### 008 - All materials
## dodati sve moguce slucajeve za datum, popuniti ono sto nedostaje
+## ostaviti prazno tamo gdje nema ni¹ta
-if ( rec('994','c') ) {
+if ( rec('994','c') =~ m/\d{8}/ ) {
marc_fixed('008','00',
regex('s/^\d\d//',
rec('994','c')
),
);
-} else {
+} elsif ( rec('994','c') =~ m/\d{6}/ ) {
marc_fixed('008', 00,
- '000000'
+ regex('s/^\d\d//',
+ rec('994','c')
+ ),
+ );
+ marc_fixed('008', '04',
+ '01'
+ );
+} elsif ( rec('994','c') =~ m/\d{4}/ ) {
+ marc_fixed('008', 00,
+ regex('s/^\d\d//',
+ rec('994','c')
+ ),
+ );
+ marc_fixed('008', '02',
+ '0101'
);
}
## 008 06 - Type of date/Publication status
## dodati i ostale moguænosti
## 008 07-10 - Date 1 - iz 210d koji kroz modify postaje 210c
-
-my $year = rec('210','c');
+## srediti sve moguæe upitne godine
if ( rec('210','c') ) {
- marc_fixed('008','06','s'); # 06 - Type of date/Publication status, s = single know date
-
-# warn "## year = $year";
+ my $d1;
+ my $d2;
+ if ( rec('210','c') =~ m/\?/ ) {
+ marc_fixed('008','06','q');
+ } else {
+ marc_fixed('008','06','s');
+ }
+ if ( rec('210','c') =~ m/(\d{4})/ ) {
+ $d1 = $1;
+ } else {
+ $d1 = '';
+ }
+ if ( rec('210','c') =~ m/^.*-(\d{4})/ ) {
+ $d2 = $1;
+ } else {
+ $d2 = '',
+ }
+ if ( rec('210','c') =~ m/(\d{2})--/ ) {
+ $d1 = $1.'uu';
+ marc_fixed('008','06','u');
+ }
- if ( $year =~ m/^(\d{4})/ ) {
-# warn "## $1 ##\n";
- marc_fixed('008','07',$1); # 07-10 - Date 1
+ marc_fixed('008','07',$d1); # 07-10 - Date 1
+ marc_fixed('008','11',$d2); # 07-10 - Date 1
} else {
marc_fixed('008','06','n'); # 06 - n = unknown date
marc_fixed('008','07','uuuu');
}
-}
## 008 11-14 - Date 2
## 008 15-17 - Place of publication, production, or execution - ¹to ako nema 102?
## raspraviti
+marc_fixed('008','15','xx');
+
#marc_fixed('008','15',
# lc ( rec('102') )
#);
-my $zemlja =
- lookup(
- sub { rec('B') },
- 'kodovi','zemlje',
- sub { rec('A') },
- sub {
- regex('s/[\s;:]/g',
- rec('210','a')
- )
- },
- );
-
-warn (
- dump ($zemlja)
-);
-
-if ( $year =~ m/^(\d{4})/ ) {
- if ( $1 >= 1990 ) {
- marc_fixed('008','15',
- lc ( $zemlja )
-
- );
-# } elsif ( dump( $zemlja ) eq 'hr' ) {
-# marc_fixed('008','15','yu');
- }
-}
+#my $zemlja =
+# lookup(
+# sub { rec('B') },
+# 'kodovi','zemlje',
+# sub { rec('A') },
+# sub {
+# regex('s/[\s;:]/g',
+# rec('210','a')
+# )
+# },
+# );
## 008 35-37 - Language
-
marc_fixed('008','35',
# first( lc(rec('101')) )
lc( frec('101'))
);
## 008 38 - Modified record - razjasniti
+marc_fixed('008','38','|');
## 008 39 - Cataloging source - d (other)
-
marc_fixed('008','39','d');
### 008 - Books - raspraviti upotrebu ovih polja
## 008 18-21 - Illustrations
+if ( rec('215','c') && rec('215','c') =~ m/ilustr/ ) {
+ marc_fixed('008','18','a')
+}
+
## 008 22 - Target audience
+marc_fixed('008','22','|');
+
## 008 23 - Form of item
+
## 008 24-27 - Nature of contents
+marc_fixed('008','24','||||');
+
## 008 28 - Government publication
+marc_fixed('008','28','|');
+
## 008 29 - Conference publication
+marc_fixed('008','29','|');
+
## 008 30 - Festschrift
+marc_fixed('008','30','|');
+
## 008 31 - Index
+marc_fixed('008','31','|');
+
## 008 32 - Undefined
## 008 33 - Literary form
+marc_fixed('008','33','|');
+
## 008 34 - Biography
+marc_fixed('008','34','|');
### 020
## modify za polje 10 -> drugi ISBN poèinje prefixom "ISBN" koji se mièe (pr. u sfb)
if ( frec('10') ne ( frec('290') ) ) {
- marc('020','a',
- # isbn_13(
+ if ( rec('10','a') !~ /pogre/ ) {
+ marc('020','a',
+ # isbn_13(
+ regex('s/\s\s/ /g',
+ # regex('s/\(\d\)\(/$1 \(//g',
+ rec('10','a')
+ )
+ # )
+ );
+ }
+ if ( rec('10','a') =~ /pogre/ ) {
+ marc('020','z',
regex('s/\s\s/ /g',
- # regex('s/\(\d\)\(/$1 \(//g',
rec('10','a')
)
- # )
- );
+ );
+ }
+ marc('020','z',
+ rec('10','z')
+ );
+
}
#warn(
## marc 035a - System Number - Voyagerov ID (001)
## polje 035$9 mo¾e sadr¾avati slova i razmake
-marc('035','6',
+marc('035','a',
join_with('',
# config('input normalize path'),
# config('name'),
+ 'HR-ZaFF ',
config(),
- ' L',
+ 'L-',
# config('input name'),
# id(),
# rec('994','a'),
### 040
## za sve je isti
-## treba utvrditi toènu oznaku za ustanovu
marc('040','a',
- 'HR-ZgFF'
+ 'HR-ZaFF'
);
marc('040','b',
);
marc('040','c',
- 'HR-ZgFF'
+ 'HR-ZaFF'
);
marc('040','e',
)
);
+### formalna odrednica - iz 503 u 110, i1=0, i2=1
### 111 i 110
## konverzija u 110 ili 111 ovisno o postojanju/nepostojanju nekih polja - provjeriti ispise naslova iz svake baze - moguæe su gre¹ke.
marc_indicators('245', $i1, 0);
-if ( rec('200','a') =~ m/^Einen / ) {
+if ( rec('200','a') =~ m/^Einen / ) {
marc_indicators('245', $i1, 6);
}
-if ( rec('200','a') =~ m/^Eine / ) {
+if ( rec('200','a') =~ m/^Eine / ) {
marc_indicators('245', $i1, 5);
}
-if ( rec('200','a') =~ m/^(Die|Das|Der|Ein|Les|The) / ) {
+if ( rec('200','a') =~ m/^(Die|Das|Der|Ein|Les|The) / ) {
marc_indicators('245', $i1, 4);
}
marc_indicators('245', $i1, 3);
}
-if ( rec('200','a') =~ m/^(A|L') / ) {
+if ( rec('200','a') =~ m/^(A|L) / ) {
+ marc_indicators('245', $i1, 2);
+}
+
+if ( rec('200','a') =~ m/^L'/ ) {
marc_indicators('245', $i1, 2);
}
### 245
## potpolja i interpunkcije pripremljeni u modify
+## da li treba makivati razmake u inicijalima?
#_debug(3);
#_debug(0);
### 246
+## i1=1 ukoliko pravilo nalaze napomenu, ali napomenu necemo pisati ponovo u 500
+## i1=3 ako pravlo na nalze napomenu
+## vidi na wiki
+## i2 - pogledati za svaku bazu sto su ti naslovi, pa onda oderditi indikatoda oderditi indikatoree
-marc_indicators('246', 1, 3);
+marc_indicators('246', 3, ' ');
marc('246','a',
rec('532')
);
marc_compose('250',
'a',suffix(
rec('205','f') ? ' / ' :
- ' ',
+ '',
rec('205','a')
),
'b', rec('205','f'),
### 260
## ponovljiva potpolja u originalnom redosljedu - priprema u modify
-marc_original_order('260', '210');
+ marc_original_order('260', '210');
### 300
marc('300','c',
suffix(
rec('215','e') ? ' + ' :
- '',
+ '.',
rec('215','d')
)
);
### 362 - brojèani podaci za nakladnièku cjelinu - razjasniti upotrebu
+# if ( ! rec('225','z') ) {
+
+# ako je naslov nakladnièke cjeline slo¾en, podatak se zapisuje u 490, s pripadajuæim 830
+
+#if ( frec('225','a') =~ m/[\/=:]/ ) {
+#
+##_debug(3);
+#
+#### 490
+### 490: Subfield _p is not allowed.
+#
+#marc_indicators('490','0',' ');
+#
+#marc_template(
+# from => 225, to => 490,
+# subfields_rename => [
+# 'a' => 'a',
+# 'x' => 'x',
+# 'v' => 'v',
+# 'h' => 'n',
+# 'i' => 'p',
+# 'w' => 'v',
+# ],
+# isis_template => [
+# 'a',
+# 'a ;|v',
+# 'a,|x ;|v',
+# 'a,|x ;|w',
+# 'a,|x.|h ;|w',
+# 'a.|h,|i ;|v',
+# 'a ;|v.|i',
+# 'a.|i ;|w',
+# 'a,|x',
+# # greske:
+# 'i ;|v',
+# 'i'
+# ],
+#);
+
+#marc_template(
+# from => 225, to => 490,
+# from => "{ z => 1 }",
+# to => "{ a => 1 }",
+#
+# marc_template => [
+# 'a',
+# ],
+#);
+
+# marc_indicators('830',' ','0');
+# i2 ovisi èlanu - popraviti
+#
+# marc('830','a',
+# regex('s/(^.*)\s\/\s(.*)/$1 ($2)/g',
+# rec('225','a')
+# )
+# );
+
+
+#} else {
+
+
### 440 - indikatori
## 2.ind. prema jeziku i èlanu, provjeriti
marc_indicators('440', ' ', '0');
-if ( ( rec('225','a') =~ m/^Die /) ||
- ( rec('225','a') =~ m/^Das /) ||
- ( rec('225','a') =~ m/^The /) ) {
- marc_indicators('440', ' ', 4);
+if ( rec('200','a') =~ m/^Einen / ) {
+ marc_indicators('440', ' ', 6);
}
-if ( ( rec('225','a') =~ m/^A /) && ( rec(101) =~ m/ENG/ ) ) {
- marc_indicators('440', ' ', 2);
+if ( rec('200','a') =~ m/^Eine / ) {
+ marc_indicators('440', ' ', 5);
}
-if ( ( rec('225','a') =~ m/^An /) && ( rec(101) =~ m/ENG/ ) ) {
+if ( rec('200','a') =~ m/^(Die|Das|Der|Ein|Les|The) / ) {
+ marc_indicators('440', ' ', 4);
+}
+
+if ( rec('200','a') =~ m/^(Um|Un|An|La|Le|Il) / ) {
marc_indicators('440', ' ', 3);
}
-#_debug(3);
+if ( rec('200','a') =~ m/^(A|L') / ) {
+ marc_indicators('440', ' ', 2);
+}
+
+## 440v nije ponovljivo
-### 440
marc_template(
from => 225, to => 440,
'w' => 'v',
],
isis_template => [
- 'a.|h,|i ;|w',
- 'a.|h.|w',
- 'a.|i ;|w',
+ 'a',
+ 'a,|x',
+ 'a,|x ;|v',
+ 'a,|x.|i',
+ 'a,|x.|i ;|w',
+ 'a,|x.|h ;|w',
+ 'a,|x.|h,|i ;|w',
+ 'a,|x ;|v.|h ;|w',
+ 'a,|x ;|v.|h,|i ;|w',
+ 'a ;|v',
'a ;|v.|i',
+ 'a ;|v.|h,|i',
+ 'a ;|w',
'a ;|v.|i ;|w',
'a ;|v.|h,|i ;|w',
'a ;|v.|h ;|w',
+ 'a.|h,|i',
+ 'a.|h,|i ;|w',
+ 'a.|i',
+ 'a.|i ;|w',
+ # gre¹ke
'a ;|v ;|w',
- #mozda greska:
- 'a ;|v,|x ;|w',
- 'a ;|v,|x.|p',
- 'a,|x ;|v',
- 'a,|x.|p ;|w',
- ],
- from => "{ a => 1, i => 1, w => 1, \"x\" => 1 }",
- to => "{ a => 1, p => 1, v => 1, \"x\" => 1 }",
+ 'a.|h',
+ 'a.|h ;|w',
+ 'a.|h ;|v',
+ 'h,|i',
+ 'h ;|v',
+ 'i ;|w',
+ 'v',
+ 'w',
- marc_template => [
- 'a',
- 'a ;|v',
- 'a,|x',
- 'a.|n', # mozda greska
- 'a.|n,|p',
- 'a.|p',
- 'a ;|v.|n',
- 'a ;|v.|n,|p', # mozda greska
- 'n,|p',
- 'n ;|v', # mozda greska
- 'p ;|v',
- 'v',
- 'x',
- 'x ;|v' # greska
],
);
+#}
+
+#marc_template(
+# from => 225, to => 490,
+# subfields_rename => [
+# 'a' => 'a',
+# 'x' => 'x',
+# 'v' => 'v',
+# 'h' => 'n',
+# 'i' => 'p',
+# 'w' => 'v',
+# ],
+# isis_template => [
+# 'a.|h,|i ;|w',
+# 'a.|h.|w',
+# 'a.|i ;|w',
+# 'a ;|v.|i',
+# 'a ;|v.|i ;|w',
+# 'a ;|v.|h,|i ;|w',
+# 'a ;|v.|h ;|w',
+# 'a ;|v ;|w',
+# #mozda greska:
+# 'a ;|v,|x ;|w',
+# 'a ;|v,|x.|p',
+# 'a,|x ;|v',
+# 'a,|x.|p ;|w',
+# ],
+# from => "{ a => 1, i => 1, w => 1, \"x\" => 1 }",
+# to => "{ a => 1, p => 1, v => 1, \"x\" => 1 }",
+#
+# marc_template => [
+# 'a',
+# 'a ;|v',
+# 'a,|x',
+# 'a.|n', # mozda greska
+# 'a.|n,|p',
+# 'a.|p',
+# 'a ;|v.|n',
+# 'a ;|v.|n,|p', # mozda greska
+# 'n,|p',
+# 'n ;|v', # mozda greska
+# 'p ;|v',
+# 'v',
+# 'x',
+# 'x ;|v' # greska
+# ],
+#);
+
## marc_compose za 440 radi samo kad polje ni potpolja nisu ponovljiva. ne zapisuje dobro drugo pojavljivanje ^v, tj. ^v iza ^p (iz 225^w)
## u LOC konv. tablici stoji 327 (NP) u 505 (NR)
## standard i validacije dopu¹taju 501 (R) i 505 (R)
-if ( config() =~ m/ffps/ || config() =~ m/fftu/ ) {
+if ( config() =~ m/ffps|fftu/ ) {
marc_indicators('505', '0', ' ');
marc('505','a',
regex('s/\s*[\\r\\n]+\s*\**\s*/ ; /g',
);
### 653
+## da li ponovljivo polje ili potpolje, pogledati u Koha tags
-marc_indicators('653', 0, ' ');
+marc_indicators('653', ' ', ' ');
marc('653','a',
rec('610')
);
marc_indicators('700', 1, ' ');
-if ( rec('701') ) {
-marc('700','4',
- 'aut'
-);
-}
-
marc('700','a',
- join_with(', ',
- rec('701', 'a'),
- rec('701', 'b')
- )
+ rec('701', 'a'),
);
marc('700','a',
marc('700','a',
- join_with(', ',
rec('702', 'a'),
- rec('702', 'b')
- )
);
marc('700','a',
#if (
# rec('225','a') # da li je nakladnièka cjelina?
#) {
-#
+
#my $series_key =
#join_with('',
# rec('225','a'),
#
# marc_indicators('760', 0, ' ');
#
+# marc('760','t',
+# rec('225','a')
+# );
# marc('760','w',
# get( $series_key )
# );
#
-### 852 - signatura
+### 774 - Constituent Item Entry
+### 787 - Nonspecific Relationship Entry
-marc_indicators('852', 4, ' ');
+marc_indicators('787','0',' ');
-marc('852','j',
- join_with(' ',
- rec('990')
- )
+marc_compose('787',
+ 'g', rec('230','v'),
+ 't', rec('230','a'),
+ 'b', rec('240','a'),
+ 'd', rec('250','a'),
+ 'd', rec('250','d'),
+ 'h', rec('260','a'),
+ 'k', rec('270','a'),
+ 'n', join_with('. - ',
+ rec('280'),
+ ),
+ 'x', rec('290'),
+);
+
+marc_compose('787',
+ 'g', rec('231','v'),
+ 't', rec('231','a'),
+ 'b', rec('241','a'),
+ 'd', rec('251','a'),
+ 'd', rec('251','d'),
+ 'h', rec('261','a'),
+ 'k', rec('271','a'),
+ 'n', join_with('. - ',
+ rec('281'),
+ ),
+ 'x', rec('291'),
+);
+
+marc_compose('787',
+ 'g', rec('232','v'),
+ 't', rec('232','a'),
+ 'b', rec('242','a'),
+ 'd', rec('252','a'),
+ 'd', rec('252','d'),
+ 'h', rec('262','a'),
+ 'k', rec('272','a'),
+ 'n', join_with('. - ',
+ rec('282'),
+ ),
+ 'x', rec('292'),
);
+marc_compose('787',
+ 'g', rec('233','v'),
+ 't', rec('233','a'),
+ 'b', rec('243','a'),
+ 'd', rec('253','a'),
+ 'h', rec('263','a'),
+ 'k', rec('273','a'),
+ 'n', join_with('. - ',
+ rec('283'),
+ ),
+ 'x', rec('293'),
+);
+
+
+
+### 852 - lokacija
+
+
+
+#marc('852','i',
+#
+#);
+
+
+
### 876 - item information - basic bibliographic unit
marc('876','a',
- rec('991'),
+ rec('991','t'),
);
### 886 - former marc
)
);
+### KOHA
+
+marc('942','b',
+ 'LIB'
+);
+
+marc('942','c',
+ 'KNJ'
+);
+
+marc('942','d',
+ join_with(' | ',
+ rec('990')
+ )
+);
+
+if ( config() =~ m/ffiz/ ) {
+ my $novasig1 =
+ lookup(
+ sub { rec('C') },
+ 'ffiz','mapirano',
+ sub { rec('B') },
+ sub { rec('990') }
+ );
+ my $novasig2 =
+ lookup(
+ sub { rec('C') . ' ' . rec('D') },
+ 'ffiz','starasig',
+ sub { rec('A') },
+ sub { rec('000') },
+ );
+ marc('942','h',
+ $novasig1
+ );
+ marc('942','i',
+ $novasig2
+ );
+}
+
+
+#if ( config() =~ m/ffsf|ffpo/ ) {
+# my $sig1 =
+# lookup(
+# sub { rec('C') },
+# 'ffiz','signature',
+# sub { rec('B') },
+# sub { frec('990') },
+# );
+# if ( rec('700','a') ) {
+# marc('942','h',
+# $sig1,
+# );
+# if ( rec('200','a') =~ m/^(The|Die|Das|Der|Ein|Les) / ) {
+# marc('942','i',
+# join_with(' ',
+# regex('s/(^.{3}).*/$1/',
+# uc ( rec('700','a') )
+# ),
+# regex('s/^.{4}(.{1}).*/$1/',
+# lc ( rec('200','a') )
+# )
+# )
+# );
+# } elsif ( rec('200','a') =~ m/^(Um|Un|An|La|Le|Il) / ) {
+# marc('942','i',
+# join_with(' ',
+# regex('s/(^.{3}).*/$1/',
+# uc ( rec('700','a') )
+# ),
+# regex('s/^.{3}(.{1}).*/$1/',
+# lc ( rec('200','a') )
+# )
+# )
+# );
+# } elsif ( rec('200','a') =~ m/^Eine / ) {
+# marc('942','i',
+# join_with(' ',
+# regex('s/(^.{3}).*/$1/',
+# uc ( rec('700','a') )
+# ),
+# regex('s/^.{5}(.{1}).*/$1/',
+# lc ( rec('200','a') )
+# )
+# )
+# );
+# } elsif ( rec('200','a') =~ m/^Einen / ) {
+# marc('942','i',
+# join_with(' ',
+# regex('s/(^.{3}).*/$1/',
+# uc ( rec('700','a') )
+# ),
+# regex('s/^.{6}(.{1}).*/$1/',
+# lc ( rec('200','a') )
+# )
+# )
+# );
+# } elsif ( rec('200','a') =~ m/^(A|L) / ) {
+# marc('942','i',
+# join_with(' ',
+# regex('s/(^.{3}).*/$1/',
+# uc ( rec('700','a') )
+# ),
+# regex('s/^.{2}(.{1}).*/$1/',
+# lc ( rec('200','a') )
+# )
+# )
+# );
+# } else {
+# marc('942','i',
+# join_with(' ',
+# regex('s/(^.{3}).*/$1/',
+# uc ( rec('700','a') )
+# ),
+# regex('s/(^.{1}).*/$1/',
+# lc ( rec('200','a') )
+# )
+# )
+# );
+# }
+# } elsif ( rec('710','a') ) {
+# marc('942','h',
+# $sig1,
+# );
+# if ( rec('200','a') =~ m/^(The|Die|Das|Der|Ein|Les) / ) {
+# marc('942','i',
+# join_with(' ',
+# regex('s/(^.{3}).*/$1/',
+# uc ( rec('710','a') )
+# ),
+# regex('s/^.{4}(.{1}).*/$1/',
+# lc ( rec('200','a') )
+# )
+# )
+# );
+# } elsif ( rec('200','a') =~ m/^(Um|Un|An|La|Le|Il) / ) {
+# marc('942','i',
+# join_with(' ',
+# regex('s/(^.{3}).*/$1/',
+# uc ( rec('710','a') )
+# ),
+# regex('s/^.{3}(.{1}).*/$1/',
+# lc ( rec('200','a') )
+# )
+# )
+# );
+# } elsif ( rec('200','a') =~ m/^Eine / ) {
+# marc('942','i',
+# join_with(' ',
+# regex('s/(^.{3}).*/$1/',
+# uc ( rec('710','a') )
+# ),
+# regex('s/^.{5}(.{1}).*/$1/',
+# lc ( rec('200','a') )
+# )
+# )
+# );
+# } elsif ( rec('200','a') =~ m/^Einen / ) {
+# marc('942','i',
+# join_with(' ',
+# regex('s/(^.{3}).*/$1/',
+# uc ( rec('710','a') )
+# ),
+# regex('s/^.{6}(.{1}).*/$1/',
+# lc ( rec('200','a') )
+# )
+# )
+# );
+# } elsif ( rec('200','a') =~ m/^(A|L) / ) {
+# marc('942','i',
+# join_with(' ',
+# regex('s/(^.{3}).*/$1/',
+# uc ( rec('710','a') )
+# ),
+# regex('s/^.{2}(.{1}).*/$1/',
+# lc ( rec('200','a') )
+# )
+# )
+# );
+# } else {
+# marc('942','i',
+# join_with(' ',
+# regex('s/(^.{3}).*/$1/',
+# uc ( rec('710','a') )
+# ),
+# regex('s/(^.{1}).*/$1/',
+# lc ( rec('200','a') )
+# )
+# )
+# );
+# }
+# } elsif ( rec('200','a') =~ m/^(The|Die|Das|Der|Ein|Les) / ) {
+# marc('942','h',
+# $sig1,
+# );
+# marc('942','i',
+# regex('s/^.{4}(.{3}).*/$1/',
+# uc ( rec('200','a') )
+# ),
+# );
+#
+# } else {
+# marc('942','h',
+# $sig1,
+# );
+# marc('942','i',
+# regex('s/(^\w{3}).*/$1/',
+# uc ( rec('200','a') )
+# )
+# )
+# }
+#} # if config()
+
+marc('952','8',
+ rec('991','8')
+);
+
+marc('952','a',
+ rec('991','a')
+);
+
+marc('952','b',
+ rec('991','b')
+);
+
+marc('952','c',
+ rec('991','c'),
+);
+
+marc('952','i',
+ rec('991','i')
+);
+
+marc('952','y',
+ rec('991','y')
+);
+
+
+
} # polje 200a
+# } sig