#limit: 10
modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/minimal.pl'
ffar:
name: 'Arheologija, Filozofski fakultet u Zagrebu'
path: '/backup/isis_backup/A018-2/isisdata/latest/LIBRI/LIBRI'
encoding: 'cp852'
#limit: 10
+ modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/ff-libri.pl'
ffet:
name: 'Etnologija, Filozofski fakultet u Zagrebu'
input:
name: libri
type: isis
- path: '/backup/isis_backup/A203-2/ISISDATA/latest/LIBRI/LIBRI'
+ path: '/backup/isis_backup/A203-3/ISISDATA/latest/LIBRI/LIBRI'
encoding: 'cp852'
#limit: 10
+ modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/minimal.pl'
fffi:
name: 'Filozofija, Filozofski fakultet u Zagrebu'
path: '/backup/isis_backup/A102-1B/ISISDATA/latest/LIBRI/LIBRI'
encoding: 'cp852'
#limit: 10
+ modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/minimal.pl'
fffo:
name: 'Fonetika, Filozofski fakultet u Zagrebu'
path: '/backup/isis_backup/novi-40162/ISISDATA/latest/LIBRI/LIBRI'
encoding: 'cp852'
#limit: 10
+ modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/ff-libri.pl'
- name: arti
type: isis
path: '/backup/isis_backup/novi-40162/ISISDATA/latest/ARTI/ARTI'
encoding: 'cp852'
#limit: 10
+ modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/ff-arti.pl'
ffge:
path: '/backup/isis_backup/A106-1/isisdata/latest/LIBRI/LIBRI'
encoding: 'cp852'
#limit: 10
+ modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/minimal.pl'
ffhu:
name: 'Hungarologija, Filozofski fakultet u Zagrebu'
path: '/backup/isis_backup/B001-2/winisis/latest/LIBRI/LIBRI'
encoding: 'cp852'
#limit: 10
+ modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/ff-libri.pl'
ffiz:
name: 'Informacijske znanosti, Filozofski fakultet u Zagrebu'
#limit: 10
modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/minimal.pl'
ffkf:
name: 'Klasièna filologija, Filozofski fakultet u Zagrebu'
path: '/backup/isis_backup/A209-2/isisdata/latest/LIBRI/LIBRI'
encoding: 'cp852'
#limit: 10
+ modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/minimal.pl'
ffkk:
name: 'Komparativna knji¾evnost, Filozofski fakultet u Zagrebu'
path: '/backup/isis_backup/A207-3/isisdata/latest/ARTI/ARTI'
encoding: 'cp852'
#limit: 10
- modify_file: 'conf/modify/common.pl'
+ modify_file: 'conf/modify/ffkk-arti.pl'
normalize:
path: 'conf/normalize/ff-arti.pl'
#limit: 10
modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/ff-libri.pl'
fftu:
name: 'Turkologija, Filozofski fakultet u Zagrebu'
path: '/backup/isis_backup/B025-2/ISISDATA/latest/LIBRI/LIBRI'
encoding: 'cp852'
#limit: 10
+ modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/minimal.pl'
ffpe:
name: 'Pedagogija, Filozofski fakultet u Zagrebu'
path: '/backup/isis_backup/A226-1/isisdata/latest/LIBRI/LIBRI'
encoding: 'cp852'
#limit: 10
+ modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/minimal.pl'
ffpo:
name: 'Povijest, Filozofski fakultet u Zagrebu'
encoding: 'cp852'
modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/minimal.pl'
ffpu:
name: 'Povijest umjetnosti, Filozofski fakultet u Zagrebu'
path: '/backup/isis_backup/C124-3/ISISDATA/latest/LIBRI/LIBRI'
encoding: 'cp852'
#limit: 10
+ modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/minimal.pl'
ffps:
# all variables here will be available as config variables in template
# which tag to use in normalize xml for data?
# tag: 'isis'
# path to normalization xml
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/ff-libri.pl'
#path: 'conf/normalize/isis_ffzg.yml'
# another input database
path: '/backup/isis_backup/sunce2/isisdata/latest/PERI/PERI'
encoding: 'cp852'
#limit: 10
+ # modify_file: 'conf/modify/common.pl'
+ normalize:
+ path: 'conf/normalize/ff-peri.pl'
+ - name: baza
+ type: marc
+ path: '/backup/data/NSK/BBaza.ISO'
+ encoding: 'ISO-8859-2'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/marc-nsk.pl'
ffro:
name: 'Romanistika, Filozofski fakultet u Zagrebu'
path: '/backup/isis_backup/A224-6/isisdata/latest/LIBRI/LIBRI'
encoding: 'cp852'
#limit: 10
+ modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/minimal.pl'
ffsk:
name: 'Skandinavistika, Filozofski fakultet u Zagrebu'
path: '/backup/isis_backup/B009-2/ISISDATA/latest/LIBRI/LIBRI'
encoding: 'cp852'
#limit: 10
+ modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/minimal.pl'
ffsfb:
name: 'Slavenska filologija (B), Filozofski fakulteti u Zagrebu'
input:
name: libri
type: isis
- path: '/data/isis_data/sfb/LIBRI/LIBRI'
-# path: '/backup/isis_backup/A125-3/ISISDATA/latest/LIBRI/LIBRI'
+# path: '/data/isis_data/sfb/LIBRI/LIBRI'
+ path: '/backup/isis_backup/A125-3/ISISDATA/latest/LIBRI/LIBRI'
encoding: 'cp852'
#limit: 10
modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/minimal.pl'
ffsfm:
name: 'Slavenska filologija (M), Filozofski fakulteti u Zagrebu'
#limit: 10
modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/minimal.pl'
ffso:
name: 'Sociologija, Filozofski fakultet u Zagrebu'
path: '/backup/isis_backup/A002-3/isisdata/latest/LIBRI/LIBRI'
encoding: 'cp852'
#limit: 10
- modify_records:
- 200:
- '^a':
- ' : ': '^e'
- ' = ': '^d'
- ' ; ': '^k'
- '^k':
- '^e': ' : '
- '^d':
- '^e': ' : '
- '^e':
- '^d': ' = '
- '^k': ' ; '
- '*':
- '^g': ' ; '
+ modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/minimal.pl'
ffta:
name: 'Talijanistika, Filozofski fakultet u Zagrebu'
#limit: 10
modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/minimal.pl'
ffsr:
name: 'Sredi¹nja èitaonica, Filozofski fakultet u Zagrebu'
#limit: 10
modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
+ path: 'conf/normalize/minimal.pl'
ffmic:
name: 'Meðunarodni istra¾ivaèki centar za kasnu antiku i srednji vijek'
path: '/backup/isis_backup/C107-9/ISISDATA/latest/LIBRI/LIBRI'
encoding: 'cp852'
#limit: 10
+ modify_file: 'conf/modify/common.pl'
normalize:
- path: 'conf/normalize/common.pl'
-
- efzg:
- name: 'Ekonomski fakutet u Zagrebu'
- input:
- name: knjige
- type: marc
- path: '/data/drustvene/efzg/unimarc.iso'
- encoding: 'cp852'
- # CroList recoding pairs to fix encoding problems
- recode: 'ÏC È Ïc è ÂC Æ Âc æ ò ð ÏS © Ïs ¹ ÏZ ® Ïz ¾'
- #limit: 1000
- normalize:
- path: 'conf/normalize/common.pl'
-
- eizg:
- name: 'Ekonomski institut u Zagrebu'
- input:
- name: bib
- type: isis
- path: '/data/drustvene/eizg/BIB'
- encoding: 'cp852'
- #limit: 100
- normalize:
- path: 'conf/normalize/common.pl'
-
- efos:
- name: 'Ekonomski fakutet u Osijeku'
- input:
- name: knjige
- type: marc
- path: '/data/drustvene/efos/EFOSBAZA.ISO'
- encoding: 'ISO-8859-2'
- # CroList recoding pairs to fix encoding problems
- #recode: '^ È ~ è ] Æ } æ | ð \[ © { ¹ @ ® ` ¾'
- #limit: 10
- normalize:
- path: 'conf/normalize/common.pl'
-
- irmo:
- name: 'Institut za meðunarodne odnose u Zagrebu'
- input:
- name: knjige
- type: isis
- path: '/data/drustvene/irmo/LIBRI'
- encoding: 'cp852'
- #limit: 10
- normalize:
- path: 'conf/normalize/common.pl'
-
- hika:
- name: 'Fakultet za turistièki i hotelski menad¾ment u Opatiji'
- input:
- name: knjige
- type: marc
- path: '/data/drustvene/hika/szi.iso'
- encoding: 'ISO-8859-2'
- # CroList recoding pairs to fix encoding problems
- recode: 'ÏC È Ïc è ÂC Æ Âc æ ò ð ÏS © Ïs ¹ ÏZ ® Ïz ¾'
- #limit: 10
- normalize:
- path: 'conf/normalize/common.pl'
-
- iztzg:
- name: 'Institut za turizam u Zagrebu'
- input:
- name: knjige
- type: isis
- path: '/data/drustvene/iztzg/BIB'
- encoding: 'cp852'
- #limit: 10
- normalize:
- path: 'conf/normalize/common.pl'
-
- jzav:
- name: 'Jadranski zavod'
- input:
- name: bib
- type: isis
- path: '/data/drustvene/jzav/BIB'
- encoding: 'cp852'
- #limit: 10
- normalize:
- path: 'conf/normalize/common.pl'
-
- ijf:
- name: 'Institut za javne financije'
- input:
- name: knjige
- type: marc
- path: '/data/drustvene/ijf/szi.iso'
- encoding: 'ISO-8859-2'
- # CroList recoding pairs to fix encoding problems
- recode: 'ÏC È Ïc è ÂC Æ Âc æ ò ð ÏS © Ïs ¹ ÏZ ® Ïz ¾'
- #limit: 10
- normalize:
- path: 'conf/normalize/common.pl'
-
-# Elektronièki èasopisi
+ path: 'conf/normalize/ff-libri.pl'
+#
+# efzg:
+# name: 'Ekonomski fakutet u Zagrebu'
+# input:
+# name: knjige
+# type: marc
+# path: '/data/drustvene/efzg/unimarc.iso'
+# encoding: 'cp852'
+# # CroList recoding pairs to fix encoding problems
+# recode: 'ÏC È Ïc è ÂC Æ Âc æ ò ð ÏS © Ïs ¹ ÏZ ® Ïz ¾'
+# #limit: 1000
+# normalize:
+# path: 'conf/normalize/minimal.pl'
+#
+# eizg:
+# name: 'Ekonomski institut u Zagrebu'
+# input:
+# name: bib
+# type: isis
+# path: '/data/drustvene/eizg/BIB'
+# encoding: 'cp852'
+# #limit: 100
+# normalize:
+# path: 'conf/normalize/ff-libri.pl'
+#
+# efos:
+# name: 'Ekonomski fakutet u Osijeku'
+# input:
+# name: knjige
+# type: marc
+# path: '/data/drustvene/efos/EFOSBAZA.ISO'
+# encoding: 'ISO-8859-2'
+# # CroList recoding pairs to fix encoding problems
+# #recode: '^ È ~ è ] Æ } æ | ð \[ © { ¹ @ ® ` ¾'
+# #limit: 10
+# normalize:
+# path: 'conf/normalize/ff-libri.pl'
+#
+# irmo:
+# name: 'Institut za meðunarodne odnose u Zagrebu'
+# input:
+# name: knjige
+# type: isis
+# path: '/data/drustvene/irmo/LIBRI'
+# encoding: 'cp852'
+# #limit: 10
+# normalize:
+# path: 'conf/normalize/ff-libri.pl'
+#
+# hika:
+# name: 'Fakultet za turistièki i hotelski menad¾ment u Opatiji'
+# input:
+# name: knjige
+# type: marc
+# path: '/data/drustvene/hika/szi.iso'
+# encoding: 'ISO-8859-2'
+# # CroList recoding pairs to fix encoding problems
+# recode: 'ÏC È Ïc è ÂC Æ Âc æ ò ð ÏS © Ïs ¹ ÏZ ® Ïz ¾'
+# #limit: 10
+# normalize:
+# path: 'conf/normalize/ff-libri.pl'
+#
+# iztzg:
+# name: 'Institut za turizam u Zagrebu'
+# input:
+# name: knjige
+# type: isis
+# path: '/data/drustvene/iztzg/BIB'
+# encoding: 'cp852'
+# #limit: 10
+# normalize:
+# path: 'conf/normalize/ff-libri.pl'
+#
+# jzav:
+# name: 'Jadranski zavod'
+# input:
+# name: bib
+# type: isis
+# path: '/data/drustvene/jzav/BIB'
+# encoding: 'cp852'
+# #limit: 10
+# normalize:
+# path: 'conf/normalize/ff-libri.pl'
+#
+# ijf:
+# name: 'Institut za javne financije'
+# input:
+# name: knjige
+# type: marc
+# path: '/data/drustvene/ijf/szi.iso'
+# encoding: 'ISO-8859-2'
+# # CroList recoding pairs to fix encoding problems
+# recode: 'ÏC È Ïc è ÂC Æ Âc æ ò ð ÏS © Ïs ¹ ÏZ ® Ïz ¾'
+# #limit: 10
+# normalize:
+# path: 'conf/normalize/ff-libri.pl'
+
+## Elektronièki èasopisi
emerald:
name: 'EmeraldFulltext'
input:
path: 'conf/normalize/excel_emerald.pl'
+## Wiley zbirka
+ wiley:
+ name: 'Wiley Intescience Full'
+ input:
+ - name: full
+ type: marc
+ path: '/data/FF/wiley/wiley2.mrc'
+ encoding: 'UTF-8'
+ normalize:
+ path: 'conf/normalize/marc-cufts.pl'
+ - name: licenced
+ type: excel
+ path: '/data/FF/wiley/w2.xls'
+ worksheet: 'Sheet1'
+ from: 0
+ encoding: 'windows-1250'
+ normalize:
+ path: 'conf/normalize/excel-wiley.pl'
+# - name: licenced
+# type: marc
+# path: '/data/FF/wiley/wiley-licenced.marc'
+# encoding: 'UTF-8'
+# 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'
+
# 001 polje - Voyager
-# polje 035 je u NSK ponovljivo. za¹to ???
-
# privemeno koristimo 0356 umjesto 0359, zato ¹to marclint 9 prijavljuje kao gre¹ku
marc('035','6',
join_with('',
# config('input normalize path'),
# config('name'),
-# config('input name'),
config(),
+ 'L',
+# config('input name'),
# id(),
# rec('994','a'),
rec('000')
'hrv'
);
-if (rec('300') && first(rec('300')) =~ m/prijevod/i) {
+marc('040','e',
+ 'HR PPIAK'
+);
+
+if (rec('300') && first(rec('300')) =~ m/Prijevod/) {
marc_indicators('041', 1, ' ');
} else {
marc_indicators('041', 0, ' ');
}
+## naci primjer u NSK
+
marc_repeatable_subfield('041','a',
rec('101')
);
-## pitati dobricu
-
-if ( rec('200') && first(rec('200')) =~ m/Die /i) {
- marc_indicators('245', 0, 4);
+if ( ( rec('200','a') =~ m/^Die /) ||
+ ( rec('200','a') =~ m/^Das /) ||
+ ( rec('200','a') =~ m/^The /) ) {
+ marc_indicators('245', 0, 4);
} else {
marc_indicators('245', 0, 0);
}
# provjeriti interpunkcije !!
+# u NSK nesto ne stima
+
marc('300','a',
suffix(
rec('215','c') ? ' : ' :
marc('300','b',
suffix(
- ( rec('215','c') && rec('215','d') ) ? ' : ' :
+ ( rec('215','c') && rec('215','d') ) ? ' ; ' :
( rec('215','c') && rec('215','e') ) ? ' + ' :
' ',
rec('215','c')
);
+# provjeriti
+
marc_indicators('490', 0, ' ');
marc('490','a',
rec('225','a')
);
+marc('490','v',
+ join_with(', ',
+ rec('225','v'),
+ rec('225','w')
+ ),
+);
+
+marc('490','x',
+ rec('225','x')
+);
+
#marc('490','a',
# join_with(' : ',
# rec('225','a'),
rec('320')
);
-# napomene uz konverziju polja sa sadr¾ajem:
+## napomene uz konverziju polja 327 (sadrzaj):
# NSK konvertira 327 (NP) u 501 (R)
# u LOC konv. tablici stoji 327 (NP) u 505 (NR)
# standard i validacije dopu¹taju 501 (R) i 505 (R)
-# FFPS koristi 327 (P)
-# FFIZ koristi 327
-
-marc_indicators('505', '0', ' ');
-
-marc('505','a',
- regex('s/\s*[\\r\\n]+\s*\**\s*/ ; /g',
- rec('327')
- )
+## FFPS 327 - sadrzaj
+if ( config() =~ m/ffps/ || config() =~ m/fftu/ ) {
+ marc_indicators('505', '1', ' ');
+ marc('505','a',
+ regex('s/\s*[\\r\\n]+\s*\**\s*/ ; /g',
+ rec('327')
+ )
);
+}
-# napomene uz konverziju polja 330:
+
+## napomene uz konverziju polja 330:
# NSK konvertira 330 (P) u 520 (P) = LOC konv. tablica
-# FFAN - (NP) - sadr¾aj, pitati Milu da li je to cijeli sadraj ili nije
-#
-# FFIZ koristi 330 (P) - kljuène rijeèi, dijelovi sadr¾aja, sa¾eci
-# FFFO koristi 330 (P) - kljuène rijeèi, dijelovi sadr¾aja
-# FFPS koristi 330 (NP) - sa¾etak
-if ( config() =~ m/ffan/i || config() =~ m/fflo/i ) {
+# FFPS 330 (NP) - sa¾etak
+if ( config() =~ m/ffps/ ) {
+ marc('520','a',
+ regex('s/[\\r\\n]+/. /g',
+ rec('330')
+ )
+ );
+}
-marc('520','a',
- regex('s/[\\r\\n]+/. /g',
+# FFTU 330 - ???
+if ( config() =~ m/fftu/ ) {
+ marc('520','a',
rec('330')
- )
-);
-
+ );
}
+
# mo¾da i polje 520y - jezik napomene ako je uvijek isti jezik
+marc_indicators('246', 1, 3);
+marc('246','a',
+ rec('532')
+);
+
marc_indicators('655', ' ', 4);
marc('655','a',
rec('608')
);
-marc_indicators('653', ' ', ' ');
+marc_indicators('653', 0, ' ');
marc('653','a',
rec('610')
);
}
marc('700','a',
- rec('701', 'a'),
+ join_with(', ',
+ rec('701', 'a'),
+ rec('701', 'b')
+ )
);
marc('700','a',
);
-# ako je u originalu ponovljivo polje treba biti i konvertirano!!
+# ako je u originalu ponovljivo polje treba biti i konvertirano u ponovljivo !!
marc('700','a',
)
);
-## treba provjeriti da li polje 330 sadrzi jos neke podatke koji mogu biti u <> ili su tu iskljucivo autori? da li samo autori ili neke drugeosobe?
-#
+## treba provjeriti da li polje 330 sadrzi jos neke podatke koji mogu biti u <> ili su tu iskljucivo autori? da li samo autori ili neke druge osobe?
+
+
# marc('700','a',
# rec('330','a')
# );
if ( rec('230') ) {
- marc('900','a',
- id()
- );
-
marc_duplicate();
marc_remove('035');
join_with('',
config(),
rec('000'),
+ '-',
id(),
)
);
}
marc_remove('260');
+
+# marc_original_order('260', '250');
+
marc('260','c',
- rec('250')
+ 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')
--- /dev/null
+if ( rec('200','a') ) {
+
+# Leader
+# raspraviti 17,18
+
+# u nekim knji¾nicama koristi se 999a i 999b
+
+
+# vrijedi za ffan...
+
+if ( rec('999') && first(rec('999')) =~ m/pregledan/i) {
+ marc_leader('05','c');
+} else {
+ marc_leader('05','n');
+}
+
+ marc_leader('06','a');
+ marc_leader('07','m');
+ marc_leader('18','i');
+
+if ( rec('230') ) {
+ marc_leader('19','r');
+}
+
+
+# 001 polje - Voyager
+
+# privemeno koristimo 0356 umjesto 0359, zato ¹to marclint 9 prijavljuje kao gre¹ku
+
+marc('035','6',
+join_with('',
+# config('input normalize path'),
+# config('name'),
+ config(),
+ 'L',
+# config('input name'),
+# id(),
+# rec('994','a'),
+ rec('000')
+ )
+);
+
+# u marc 035a treba dodati System Number -
+# NSK zapisuje Voyagerov ID (001) - kako ???
+
+# u FFSF bazama postoji nekoliko zaredanih ISBN, odvojenih s '. - '
+
+marc('020','a',
+ rec('10')
+);
+
+marc('022','a',
+ rec('11')
+);
+
+# u polje 040a mo¾da jo¹ dodati prefiks HR
+# NSK ima HR NSB (mo¾da u novijim zapisima ima NSK?)
+
+marc('040','a',
+ 'HR FFZG'
+);
+
+marc('040','b',
+ 'hrv'
+);
+
+marc('040','e',
+ 'HR PPIAK'
+);
+
+# if (rec('300') && first(rec('300')) =~ m/Prijevod/) {
+# marc_indicators('041', 1, ' ');
+# } else {
+# marc_indicators('041', 0, ' ');
+# }
+
+## naci primjer u NSK
+
+marc_repeatable_subfield('041','a',
+ rec('101')
+);
+
+
+if ( ( rec('200','a') =~ m/^Die /) ||
+ ( rec('200','a') =~ m/^Das /) ||
+ ( rec('200','a') =~ m/^The /) ) {
+ marc_indicators('245', 0, 4);
+} else {
+ marc_indicators('245', 0, 0);
+}
+
+#_debug(3);
+
+marc_compose('245',
+ 'a', suffix(
+ rec('200','b') ? '. ' :
+ rec('200','k') ? ' ; ' :
+ rec('200','d') ? ' = ' :
+ rec('200','e') ? ' : ' :
+ rec('200','f') ? ' / ' :
+ '.',
+ rec('200','a')
+ ),
+ 'h', rec('200','b'),
+ 'b', suffix(
+ ( rec('200','k') && rec('200','f') ) ? ' / ' :
+ ' ',
+ join_with(' ; ',
+ rec('200','k'),
+ ),
+ ),
+ 'b', suffix(
+ ( rec('200','d') && rec('200','f') ) ? ' / ' :
+ ' ',
+ rec('200','d'),
+ ),
+ 'b', suffix(
+ ( rec('200','e') && rec('200','f') ) ? ' / ' :
+ ' ',
+ join_with(' : ',
+ rec('200','e'),
+ ),
+ ),
+
+# ovo trenutno radi za sluèaj kad f nije ponovljivo i kad uvijek postoje c i f u paru !!!
+ 'c', join_with('. ',
+ rec('200','f'),
+ rec('200','c'),
+ ),
+# FIXME append to last subfield
+# '+', prefix('. ', rec('200','c') ),
+);
+
+
+#_debug(0);
+
+marc('250','a',
+ suffix(
+ rec('205','f') ? ' / ' :
+ ' '.
+ rec('205','a')
+ )
+);
+
+marc('250','b',
+ rec('205','f')
+);
+
+# ponovljiva potpolja u originalnom redosljedu
+#
+marc_original_order('260', '210');
+
+
+# provjeriti interpunkcije !!
+# u NSK nesto ne stima
+
+marc('300','a',
+ suffix(
+ rec('215','c') ? ' : ' :
+ rec('215','d') ? ' ; ' :
+ rec('215','e') ? ' + ' :
+ ' ',
+ rec('215','a')
+ )
+);
+
+marc('300','b',
+ suffix(
+ ( rec('215','c') && rec('215','d') ) ? ' ; ' :
+ ( rec('215','c') && rec('215','e') ) ? ' + ' :
+ ' ',
+ rec('215','c')
+ )
+);
+
+marc('300','c',
+ suffix(
+ rec('215','e') ? ' + ' :
+ ' ',
+ rec('215','d')
+ )
+);
+
+marc('300','e',
+ rec('215','e')
+);
+
+
+# provjeriti
+
+marc_indicators('490', 0, ' ');
+
+marc('490','a',
+ rec('225','a')
+);
+
+marc('490','v',
+ join_with(', ',
+ rec('225','v'),
+ rec('225','w')
+ ),
+);
+
+marc('490','x',
+ rec('225','x')
+);
+
+#marc('490','a',
+# join_with(' : ',
+# rec('225','a'),
+# join_with(" = ",
+# rec('225','d'),
+# join_with(" / ",
+# rec('225','e'),
+# rec('225','f')
+# )
+# )
+# )
+#);
+
+#marc('490','v',
+# join2_with(225, 'v', ' , ', 225,'w');
+# join_with(', ',
+# rec('225','v'),
+# rec('225','w')
+# )
+#);
+
+#marc('500','a',
+# rec('300')
+#);
+#
+#marc('500','a',
+# rec('314')
+#);
+#
+#marc('504','a',
+# rec('320')
+#);
+
+## napomene uz konverziju polja 327 (sadrzaj):
+# NSK konvertira 327 (NP) u 501 (R)
+# u LOC konv. tablici stoji 327 (NP) u 505 (NR)
+# standard i validacije dopu¹taju 501 (R) i 505 (R)
+
+## FFPS 327 - sadrzaj
+if ( config() =~ m/ffps/ || config() =~ m/fftu/ ) {
+ marc_indicators('505', '1', ' ');
+ marc('505','a',
+ regex('s/\s*[\\r\\n]+\s*\**\s*/ ; /g',
+ rec('327')
+ )
+);
+}
+
+
+## napomene uz konverziju polja 330:
+# NSK konvertira 330 (P) u 520 (P) = LOC konv. tablica
+
+
+# FFPS 330 (NP) - sa¾etak
+if ( config() =~ m/ffps/ ) {
+ marc('520','a',
+ regex('s/[\\r\\n]+/. /g',
+ rec('330')
+ )
+ );
+}
+
+# FFTU 330 - ???
+if ( config() =~ m/fftu/ ) {
+ marc('520','a',
+ rec('330')
+ );
+}
+
+
+# mo¾da i polje 520y - jezik napomene ako je uvijek isti jezik
+
+marc_indicators('246', 1, 3);
+marc('246','a',
+ rec('532')
+);
+
+marc_indicators('655', ' ', 4);
+marc('655','a',
+ rec('608')
+);
+
+marc_indicators('653', 0, ' ');
+marc('653','a',
+ rec('610')
+);
+
+# 675 podpolja c, d ... - ¹to s njima ???
+
+marc('080','a',
+ rec('675','a')
+);
+
+# 084 je other classification (R)
+# NSK ga koristi za struènu oznaku NSK iz polja 681
+# NSK definira i prelazak polja 686 u 084, u skladu s LOC konv. tablicom
+#
+# polje 686 koristi FFPS
+
+marc('084','a',
+ rec('686')
+);
+
+marc_indicators('100', 1, ' ');
+marc('100','a',
+ join_with(', ',
+ rec('700', 'a'),
+ rec('700', 'b')
+ )
+);
+
+#_debug(2);
+
+marc_indicators('700', 1, ' ');
+
+if ( rec('701') ) {
+marc('700','4',
+ 'aut'
+);
+}
+
+marc('700','a',
+ join_with(', ',
+ rec('701', 'a'),
+ rec('701', 'b')
+ )
+);
+
+marc('700','a',
+ join_with(', ',
+ rec('701', 'c'),
+ rec('701', 'd')
+ )
+);
+
+marc('700','a',
+ join_with(', ',
+ rec('701', 'e'),
+ rec('701', 'f')
+ )
+);
+
+marc('700','a',
+ join_with(', ',
+ rec('701', 'g'),
+ rec('701', 'h')
+ )
+);
+
+
+marc('700','a',
+ rec('702','a'),
+);
+
+
+# ako je u originalu ponovljivo polje treba biti i konvertirano u ponovljivo !!
+
+
+marc('700','a',
+ join_with(', ',
+ rec('702','c'),
+ rec('702','d')
+ )
+);
+
+marc('700','a',
+ join_with(', ',
+ rec('702','e'),
+ rec('702','f')
+ )
+);
+
+marc('700','a',
+ join_with(', ',
+ rec('702','g'),
+ rec('702','h')
+ )
+);
+
+## treba provjeriti da li polje 330 sadrzi jos neke podatke koji mogu biti u <> ili su tu iskljucivo autori? da li samo autori ili neke druge osobe?
+
+
+# marc('700','a',
+# rec('330','a')
+# );
+#
+#
+# marc('700','a',
+# rec('330','b')
+# );
+#
+# marc('700','a',
+# rec('330','c')
+# );
+#
+#
+# marc('700','a',
+# rec('330','d')
+# );
+#
+# marc('700','a',
+# rec('330','e')
+# );
+#
+# marc('700','a',
+# rec('330','f')
+# );
+
+#_debug(0);
+
+
+if ( rec('710','f') ) {
+
+marc_indicators('111', 2, ' ');
+marc('111','a',
+ rec('710','a')
+);
+
+marc('111','c',
+ rec('710','e')
+);
+
+marc('111','d',
+ rec('710','f')
+);
+
+marc('111','e',
+ rec('710','b')
+);
+
+marc('111','n',
+ rec('710','d')
+);
+
+
+} else {
+
+marc_indicators('110', 2, ' ');
+marc('110','a',
+ rec('710','a')
+);
+
+marc('110','c',
+ rec('710','c')
+);
+
+};
+
+
+marc_indicators('740', 0, ' ');
+
+if ( ! rec('464') ) {
+marc('740','a',
+ rec('200','c')
+);
+
+marc('740','a',
+ rec('200','k')
+);
+
+} else {
+marc('740','a',
+ rec('464','a')
+);
+};
+
+marc('500','a',
+ lookup(
+ sub { rec('304','a') },
+ 'ffps','baza',
+ sub { rec('200','a') },
+ )
+);
+
+
+
+}