### LEADER
## raspraviti 17,18
-## u nekim knji¾nicama koristi se 999a i 999b, a u nekima samo 999
-if ( rec('999') && first(rec('999')) =~ m/(pregledan|P)/i) {
+## LDR 05 - c ili d - iz 999a ili 999b ili 999 - provjeriti za svaku knjiznicu
+
+if ( rec('999') && frec('999') =~ m/(pregledan|P)/i) {
marc_leader('05','c');
} else {
marc_leader('05','n');
}
-## moguæa je i oznaka "m" u 06 - odrediti kriterije
+## LDR 06 - a ili m - odrediti kriterije
marc_leader('06','a');
+
+## LDR 07 - m
+
marc_leader('07','m');
+
+## LDR 17 i 18 - razjasniti
+
marc_leader('18','i');
-## pojasniti upotrebu 19 lidera!
+## LDR 19 - razjasniti
if ( rec('230') ) {
marc_leader('19','r');
### 001 - Voyager
-### 003
-## Pojasniti upotrebu polja
+### 003 - razjasniti
-### 007
-# pojasniti upotrebu polja
+### 007 - razjasniti
marc_fixed('007',00,'ta');
### 008 - All materials
-
-# ¹to zapisati u polje kad datum nije poznat?
+## 008 00 - datum - ¹to kad datum nije poznat?
if ( rec('994','c') ) {
marc_fixed('008','00',
#)
#);
-marc_fixed('008','06', 't'); # 06 - Type of date/Publication status
+## 008 06 - Type of date/Publication status - t - raspraviti
+
+marc_fixed('008','06', 't');
+
+## 008 07-10 - Date 1 - iz 210d koji kroz modify postaje 210c
+
marc_fixed('008','07',
- rec('210','d')
-); # 07-10 - Date 1
-# marc_fixed('008','11', ' '); # 11-14 - Date 2
+ rec('210','c')
+);
+
+## 008 11-14 - Date 2
+
+## 008 15-17 - Place of publication, production, or execution - ¹to ako nema 102?
+
marc_fixed('008','15',
lc ( rec('102') )
-); # 15-17 - Place of publication, production, or execution
+);
+
+## 008 35-37 - Language - ¹to ako nema 101?
+
marc_fixed('008','35',
- first( lc(rec('101')) ) # 35-37 - Language
+ first( lc(rec('101')) )
);
- # 38 - Modified record
-marc_fixed('008','39','d'); # 39 - Cataloging source
+
+## 008 38 - Modified record - razjasniti
-### 008 - Books
+## 008 39 - Cataloging source - d
- # 18-21 - Illustrations
- # 22 - Target audience
- # 23 - Form of item
- # 24-27 - Nature of contents
- # 28 - Government publication
- # 29 - Conference publication
- # 30 - Festschrift
- # 31 - Index
- # 32 - Undefined
- # 33 - Literary form
- # 34 - Biography
+marc_fixed('008','39','d');
+### 008 - Books - raspraviti upotrebu ovih polja
+## 008 18-21 - Illustrations
+## 008 22 - Target audience
+## 008 23 - Form of item
+## 008 24-27 - Nature of contents
+## 008 28 - Government publication
+## 008 29 - Conference publication
+## 008 30 - Festschrift
+## 008 31 - Index
+## 008 32 - Undefined
+## 008 33 - Literary form
+## 008 34 - Biography
### 020
-# postoji modify -> drugi ISBN poèinje prefixom "ISBN" koji se mièe (sfb)
+## modify -> drugi ISBN poèinje prefixom "ISBN" koji se mièe (sfb)
if ( frec('10') ne ( frec('290') ) ) {
marc('020','a',
#);
### 035$6
-# Privemeno koristimo 035$6 umjesto 035$9, zato ¹to marclint prijavljuje 9 kao gre¹ku.
-# marc 035a - System Number - Voyagerov ID (001)
-# polje 035$9 mo¾e sadr¾avati slova i razmake
+## Privemeno koristimo 035$6 umjesto 035$9, zato ¹to marclint prijavljuje 9 kao gre¹ku.
+## marc 035a - System Number - Voyagerov ID (001)
+## polje 035$9 mo¾e sadr¾avati slova i razmake
marc('035','6',
join_with('',
);
### 040
-# za sve je isti
-# treba utvrditi toènu oznaku za ustanovu
+## za sve je isti
+## treba utvrditi toènu oznaku za ustanovu
marc('040','a',
'HR FFZG'
### 041 - indikatori
-#
-# pretpostavke o indikatorima:
-#
-# 1. Ako postoji polje 300 i ono sadr¾i /Prijevod/ ili /Izv. stv. nasl./, i1 = 1
-# (Da li je napomena uvijek pisana?)
-#
-# 2. Podatak o prevodiocu u 200g. Problem: razlièiti oblici rijeèi, razlièiti jezici.
-#
-# 3. Ako u UDK oznaci postoji "=", bez zagrada, onda je to prijevod
-# (ako postoje zagrade pr. 94(=411.16) onda su to pomoæne oznake)
-# pr. 821.111-2=163.42 je prijevod engleske drame na HR.
-# to ima samo za knji¾evna djela, eseje....
-# ????
-
+## pretpostavke o indikatorima
+## 1. Ako postoji polje 300 i ono sadr¾i /Prijevod/ ili /Izv. stv. nasl./, i1 = 1
+## (Da li je napomena uvijek pisana?)
+## 2. Podatak o prevodiocu u 200g. Problem: razlièiti oblici rijeèi, razlièiti jezici.
+## 3. Ako u UDK oznaci postoji "=", bez zagrada, onda je to prijevod
+## (ako postoje zagrade pr. 94(=411.16) onda su to pomoæne oznake)
+## pr. 821.111-2=163.42 je prijevod engleske drame na HR.
+## to ima samo za knji¾evna djela, eseje....
+## ????
#if ( rec('675') =~ m/\d=\d/ ) ??
marc_indicators('041', 0, ' ');
}
-
### 041
-# ponovljivo polje konvertira se u ponovljivo potpolje
+## ponovljivo polje (101) konvertira se u ponovljivo potpolje (041a)
#_debug(2);
## kako dobiti zemlju izdavanja?
### 080
-# 675 podpolja b, c, d ... - ¹to s njima ???
+## 675 podpolja b, c, d ... - ¹to s njima? - provjeriti za svaku bazu
marc('080','a',
rec('675','a')
### 084 - other classification (R)
-# NSK ga koristi za struènu oznaku NSK iz polja 681
-# NSK konvertira polje 686 u 084, u skladu s LOC konv. tablicom
-# polje 686 koristi FFPS. jo¹ netko?
+## NSK ga koristi za struènu oznaku NSK iz polja 681
+## NSK konvertira polje 686 u 084, u skladu s LOC konv. tablicom
+## polje 686 koristi FFPS. jo¹ netko?
marc('084','a',
rec('686')
);
-### 100 indikatori
-
-# I1 = 0 ako je pseudonim (ima 700a, nema 700b)
+### 100
+## I1 = 0 ako je pseudonim (ima 700a, nema 700b)
if ( rec('700','a') && ! rec('700','b') ) {
marc_indicators('100', 0, ' ');
marc_indicators('100', 1, ' ');
}
-### 100
-
marc('100','a',
join_with(', ',
rec('700', 'a'),
### 111 i 110
-# provjeriti ispise naslova iz svake baze - moguæe su gre¹ke.
+## konverzija u 110 ili 111 ovisno o postojanju/nepostojanju nekih polja - provjeriti ispise naslova iz svake baze - moguæe su gre¹ke.
# ovo vrijedi za FFSFB
if ( rec('710','d') || rec('710','e') || rec('710','f') ) {
### 245 indikatori
-# treba nadopuniti i dati podatke na verifikaciju knji¾nièarima
-
-# i1 = 0 za anonimne publikacije, i1 = 1 ako postoji 700 ili 710
-# i2 = pretpostavlja se na temelju èlana na poèetku naslova i jezika
+## i1 = 0 za anonimne publikacije, i1 = 1 ako postoji 700 ili 710
+## i2 = pretpostavlja se na temelju èlana na poèetku naslova i jezika
+## treba provjeriti
my $i1;
}
### 245
-# podpolja i interpunkcije pripremljeni u modify
+## potpolja i interpunkcije pripremljeni u modify
#_debug(3);
rec('200','g')
)
),
+ ## append to last subfield
'+', suffix('.',
rec('200','c'),
),
);
-#marc_compose('245',
-# 'a', suffix(
-# ( ! rec('200','p') && ( rec('200','f') || rec('200','c') ) ) ? ' / ' :
-# ( ! rec('200','p') && rec('200','c') ) ? ' : ' :
-# '',
-# rec('200','a'),
-# ),
-# 'b', suffix(
-# ( rec('200','p') && rec('200','f') ) ? ' / ' :
-# ( rec('200','p') && rec('200','c') ) ? '. ' :
-# '',
-# rec('200','p'),
-# ),
-# 'c', suffix(
-# ( rec('200','f') && rec('200','c') ) ? '. ' :
-# '',
-# rec('200','f'),
-# ),
-# '+', rec('200','c'),
-#);
-
#_debug(0);
-#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'),
-# ),
-# ),
-# 'c', rec('200','f'),
-## append to last subfield
-# '+', prefix('. ',
-# rec('200','c')
-# ),
-#);
+### 246
+marc_indicators('246', 1, 3);
+marc('246','a',
+ rec('532')
+);
### 250
-# zapisima koji nemaju potpolje, dodaje se ^a u modify - provjeriti
+## zapisima koji nemaju potpolje, dodaje se ^a u modify - provjeriti
marc_compose('250',
'a',suffix(
);
### 260
-# ponovljiva potpolja u originalnom redosljedu
+## ponovljiva potpolja u originalnom redosljedu - priprema u modify
marc_original_order('260', '210');
### 300
-# urediti interpunkcije za sve kombinacije
+## urediti interpunkcije za sve kombinacije
marc('300','a',
suffix(
rec('215','e')
);
-### 362
-# brojèani podaci za nakladnièku cjelinu
-# ???
+### 362 - brojèani podaci za nakladnièku cjelinu - razjasniti upotrebu
### 440 - indikatori
-# 2.ind. prema jeziku i èlanu, provjeriri
+## 2.ind. prema jeziku i èlanu, provjeriri
marc_indicators('440', ' ', '0');
#_debug(3);
### 440
-## marc_compose radi samo kad polje ni potpolja nisu ponovljivi
-
+## marc_compose radi samo kad polje ni potpolja nisu ponovljivi. ne zapisuje dobro drugo pojavljivanje ^v (iz 225^w)
marc_template(
from => 225, to => 440,
'i' => 'p',
'w' => 'v',
],
+ isis_template => [
+ 'a ; |v. |i',
+ 'a ;|v.|i ;|w',
+ 'a.|i ;|w',
+ 'a.|h',
+ 'a.|h,|i',
+ 'a.|h,|i ;|w',
+ 'a.|h ;|w',
+ 'a.|i',
+ 'a ;|v.|h',
+ 'a ;|v,|w',
+ 'a ;|w',
+ 'w',
+ ],
marc_template => [
'a',
- 'a ;|v',
- 'a.|p',
- 'a, |x ;|v.|n,|p ;|v',
+ 'a,|x ;|v.|n,|p ;|v',
+ 'a.|n.|p',
'a ;|v.|p ;|v',
'a.|p ;|v',
+ 'a.|v',
'v',
],
);
# '',
# frec('225','i')
# ),
-### 225w treba ici u 440v, na kraj
+## 225w treba ici u 440v, na kraj
# '+', join_with(' ; ',
# rec('225','w'),
# )
#_debug(0);
-### 50x
+### 500
marc('500','a',
rec('300')
);
### 502 - bilje¹ka o disertacijama
-# odgovarajuæeg polja nema u originalnim podacima. mo¾da se mo¾e pretpostaviti?
+## odgovarajuæeg polja nema u originalnim podacima. mo¾da se mo¾e pretpostaviti?
### 504
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)
-
-## 505
-# FFPS 327 - sadrzaj
+### 505
+## FFPS 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)
if ( config() =~ m/ffps/ || config() =~ m/fftu/ ) {
marc_indicators('505', '0', ' ');
}
-# NSK konvertira 330 (P) u 520 (P) = LOC konv. tablica
### 520
-# mo¾da i polje 520y - jezik napomene ako je uvijek isti jezik?
+## NSK konvertira 330 (P) u 520 (P) = LOC konv. tablica
+## FFPS 330 (NP) - sa¾etak
-# FFPS 330 (NP) - sa¾etak
if ( config() =~ m/ffps/ ) {
marc('520','a',
regex('s/[\\r\\n]+/. /g',
}
### 526 - STUDY PROGRAM INFORMATION NOTE
-# provjeriti za svaku bazu sta je tocno u 996?
+## provjeriti za svaku bazu sta je u 996?
marc_indicators('526', 8, ' ');
rec('337','a')
);
-
-### 246
-
-marc_indicators('246', 1, 3);
-marc('246','a',
- rec('532')
-);
-
### 655
marc_indicators('655', ' ', 4);
### 700
+## ako je u originalu ponovljivo polje treba biti i konvertirano u ponovljivo !!
marc_indicators('700', 1, ' ');
)
);
-
-# ako je u originalu ponovljivo polje treba biti i konvertirano u ponovljivo !!
-
-
marc('700','a',
join_with(', ',
rec('702','c'),
#_debug(0);
-### 740
+### 740 - nadopuniti
marc_indicators('740', 0, ' ');
# };
-# generiranje zapisa o nakladnièkoj cjelini i povezivanje podreðenog zapisa s nadreðenim
+
+### 760 w
+## generiranje zapisa o nakladnièkoj cjelini i povezivanje podreðenog zapisa s nadreðenim
if (
rec('225','a') # da li je nakladnièka cjelina?
get( $series_key )
);
}
-### testing
+
+# ## testing
#
# my $dup_key = join_with('',
# rec('200','a'),
#
-### 852 - lokacija
+### 852 - signatura
marc_indicators('852', 4, ' ');