# Ova datoteka sadrzi pravila za generiranje MARC21 ISO 2709 izlazne
# datoteke. Ulazni format je CDS/ISIS izvorni format, sa zapisima u
-# UNIMARC formatu, koji sadr¿i visestruka odstupanja od standarda.
+# UNIMARC formatu, koji sadrzi visestruka odstupanja od standarda.
## konvertira se ako postoji polje 200^a
if ( rec('200','a') ) {
marc_fixed('008','34','|');
### 020
-## postoji modify za polje 10 -> drugi ISBN poèinje prefixom "ISBN" koji se mièe (pr. u sfb)
+## postoji modify za polje 10 -> drugi ISBN pocinje prefixom "ISBN" koji se mice (pr. u sfb)
#if ( frec('10') ne ( frec('290') ) ) {
if ( rec('10','a') !~ /pogre/ ) {
marc('020','a',
### 035
## marc 035a - System Number
-## polje mo¾e sadr¾avati slova i razmake
-## moguæ problem u pretra¾ivanju ako ima zagrade, kako bi trebalo po standardu
+## polje moze sadrzavati slova i razmake
+## moguc problem u pretrazivanju ako ima zagrade, kako bi trebalo po standardu
marc('035','a',
join_with('',
### 041 - indikatori
## pretpostavke o indikatorima
-## 1. Ako postoji polje 300 i ono sadr¾i /Prijevod/ ili /Izv. stv. nasl./, i1 = 1
+## 1. Ako postoji polje 300 i ono sadrzi /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.
+## 2. Podatak o prevodiocu u 200g. Problem: razliciti oblici rijeci, razliciti 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)
+## (ako postoje zagrade pr. 94(=411.16) onda su to pomocne oznake)
## pr. 821.111-2=163.42 je prijevod engleske drame na HR.
-## to ima samo za knji¾evna djela, eseje....
+## to ima samo za knjizevna djela, eseje....
## ovo treba kasnije ispravljati
#if ( rec('675') =~ m/\d=\d/ ) ?
### 041
## ponovljivo polje (101) konvertira se u ponovljivo potpolje (041a)
-## koristi se kad ima vi¹e od jednog jezika, ili kad se radi o prijevodu
+## koristi se kad ima vise od jednog jezika, ili kad se radi o prijevodu
## nadopuniti
}
# marc_indicators('830',' ','0');
-# i2 ovisi èlanu - popraviti
+# i2 ovisi clanu - popraviti
#
# marc('830','a',
# regex('s/(^.*)\s\/\s(.*)/$1 ($2)/g',
rec('300')
);
-### 502 - bilje¹ka o disertacijama
-## odgovarajuæeg polja nema u originalnim podacima. mo¾da se mo¾e pretpostaviti?
+### 502 - biljeska o disertacijama
+## odgovarajuceg polja nema u originalnim podacima. mozda se moze pretpostaviti?
### 504
marc('504','a',
## ako je u originalu ponovljivo polje treba bioti i konvertirano u ponovljivo !!
## ako ima samo podpolje a onda je pseudonim - nakon konverzije treba provjeriti
-if ( rec('700','c') ) {
- if ( rec('700','c') =~ m/, / ) {
- marc_indicators('700', 1, ' ');
- } else {
- marc_indicators('700', 0, ' ');
- }
- marc_compose('700',
- 'a', rec('700','c'),
- '4', 'aut'
- );
-}
-
-if ( rec('700','e') ) {
- if ( rec('700','e') =~ m/, / ) {
- marc_indicators('700', 1, ' ');
- } else {
- marc_indicators('700', 0, ' ');
- }
- marc_compose('700',
- 'a', rec('700','e'),
- '4', 'aut'
- );
-}
-
-if ( rec('700','g') ) {
- if ( rec('700','g') =~ m/, / ) {
- marc_indicators('700', 1, ' ');
- } else {
- marc_indicators('700', 0, ' ');
- }
- marc_compose('700',
- 'a', rec('700','g'),
- '4', 'aut'
- );
-}
-
-if ( rec('700','i') ) {
- if ( rec('700','i') =~ m/, / ) {
- marc_indicators('700', 1, ' ');
- } else {
- marc_indicators('700', 0, ' ');
- }
- marc_compose('700',
- 'a', rec('700','i'),
- '4', 'aut'
- );
-}
-
-if ( rec('700','k') ) {
- if ( rec('700','k') =~ m/, / ) {
- marc_indicators('700', 1, ' ');
- } else {
- marc_indicators('700', 0, ' ');
- }
- marc_compose('700',
- 'a', rec('700','k'),
- '4', 'aut'
- );
-}
-
-
if ( rec('701','a') ) {
marc_indicators('700', 1, ' ');
- marc('700','a',
- rec('701','a')
- );
-}
-
-if ( rec('701','c') ) {
- if ( rec('701','c') =~ m/, / ) {
- marc_indicators('700', 1, ' ');
- } else {
- marc_indicators('700', 0, ' ');
- }
- marc_compose('700',
- 'a', rec('701','c'),
- '4', 'aut'
- );
+ marc_original_order('700','701');
}
-if ( rec('701','e') ) {
- if ( rec('701','e') =~ m/, / ) {
- marc_indicators('700', 1, ' ');
- } else {
- marc_indicators('700', 0, ' ');
- }
- marc_compose('700',
- 'a', rec('701','e'),
- '4', 'aut'
- );
-}
+my $relcode = rec('702','4');
+my $relcode_konv = {
+ 'autor' => 'aut',
+ 'autor dodatka' => 'wam',
+ 'autor fotografija' => 'pht',
+ 'autorica' => 'aut',
+ 'autorica i urednica' => 'aut edt',
+ 'autorica teksta' => 'aut',
+ 'autorica uvodnog teksta' => 'aui',
+ 'autor izložbe' => 'cur',
+ 'autor izložbe i fotografije' => 'cur pht',
+ 'autor kataloških jedinica' => 'aqt',
+ 'autorov suradnik' => 'oth',
+ 'autor popratnih tekstova i kataloga' => 'aqt',
+ 'autor predgovora' => 'aui',
+ 'autor projekta' => 'pdr',
+ 'autor projekta i urednik, izrada kazala' => 'pdr edt aqt',
+ 'autor teksta' => 'aut',
+ 'autor teksta i urednik' => 'aut edt',
+ 'autor tekstova u jednom poglavlju i autor fotografija' => 'aut pht',
+ 'autor uvoda' => 'aui',
+ 'bibliografski urednik' => 'pbd',
+ 'crtač geografskih karata' => 'ill',
+ 'crteži' => 'ill',
+ 'crteži karata' => 'ill',
+ 'dizajner' => 'dsr',
+ 'editor' => 'edt',
+ 'fotograf' => 'pht',
+ 'fotografija' => 'pht',
+ 'fotografije' => 'pht',
+ 'fotografije, engleski prijevod' => 'pht trl',
+ 'fotografije i crteži' => 'pht ill',
+ 'general editor' => 'edt',
+ 'GIS i izrada karata' => 'ctg',
+ 'glavna urednica' => 'edt',
+ 'glavni i odgovorni urednik' => 'edt',
+ 'glavni urednik' => 'edt',
+ 'ilustracije' => 'ill',
+ 'ilustracije i izrada karata' => 'ill ctg',
+ 'ilustrator' => 'ill',
+ 'ilustratorica' => 'ill',
+ 'izrada crteža' => 'ill',
+ 'izrada karata' => 'ill',
+ 'izrada karata antičkih prometnica' => 'ctg',
+ 'izrada kazala' => 'ant',
+ 'izvedba CD-ROMa' => 'oth',
+ 'kartograf' => 'ctg',
+ 'kolorirani bakropisi' => 'ill',
+ 'koncepcija' => 'ccp',
+ 'likovno-grafička oprema' => 'ill',
+ 'likovno oblikovanje' => 'ill',
+ 'obrada izvornih karata i izrada kartografskih originala' => 'ctg',
+ 'pisac predgovora' => 'aui',
+ 'pisac uvoda' => 'aui',
+ 'pomoćnica urednika' => 'edt',
+ 'pomoćnik glavnog urednika' => 'edt',
+ 'pomoćnik urednika' => 'edt',
+ 'pomoćni urednik' => 'edt',
+ 'predgovor' => 'aui',
+ 'predsjednik redakcijskog kolegija' => 'pbd',
+ 'prevoditelj' => 'trl',
+ 'prevoditeljica' => 'trl',
+ 'prevoditeljica i redaktorica' => 'trl',
+ 'priprema fotografija' => 'oth',
+ 'priređivač' => 'edt',
+ 'priređivač izdanja' => 'pbd',
+ 'redaktor' => 'oth',
+ 'savjetnik' => 'oth',
+ 'series editor' => 'pbd',
+ 'stručna suradnica' => 'ctb',
+ 'stručna suradnica i autorica teksta' => 'aut',
+ 'stručni koordinator' => 'oth',
+ 'stručni suradnik' => 'oth',
+ 'stručni suradnik i autor teksta' => 'aut',
+ 'stručni urednik' => 'edt',
+ 'suradnica' => 'oth',
+ 'suradnik' => 'oth',
+ 'tehnička realizacija CD-ROM-a' => 'oth',
+ 'tekstovi o muzejima' => 'aut',
+ 'tekstovi o zbirkama vjerskih zajednica' => 'aut',
+ 'urednica' => 'edt',
+ 'urednik' => 'edt',
+ 'urednik i autor' => 'edt aut',
+ 'urednik i urednik nakladničke cjeline' => 'edt pbd',
+ 'urednik izdanja' => 'edt',
+ 'urednik knjige i nakladničke cjeline' => 'edt',
+ 'urednik nakladničke cjeline' => 'pbd',
+ 'urednik pretiska' => 'edt',
+ 'urednik serije' => 'edt',
+ 'uvod' => 'aui',
+ 'zemljopisne karte' => 'ill',
+ 'zemljovidi' => 'ill',
+ 'zvučni snimci' => 'rce'
+};
-if ( rec('701','g') ) {
- if ( rec('701','g') =~ m/, / ) {
- marc_indicators('700', 1, ' ');
- } else {
- marc_indicators('700', 0, ' ');
- }
- marc_compose('700',
- 'a', rec('701','g'),
- '4', 'aut'
- );
-}
if ( rec('702','a') ) {
marc_indicators('700', 1, ' ');
- marc('700','a',
- rec('702','a'),
- );
-}
-
-if ( rec('702','c') ) {
- marc_indicators('700', 1, ' ');
- marc('700','a',
- rec('702','c'),
+ marc('700','4',
+ $relcode_konv->{$relcode}
);
-}
-
-if ( rec('702','e') ) {
- marc_indicators('700', 1, ' ');
- marc('700',
- 'a', rec('702','e'),
+ marc('700', 'a',
+ rec('702','a'),
);
}
### 740 - Added Entry - Uncontrolled Related/Analytical Title
## raspraviti
-## nadopuniti prvi indikator prema èlanovima
+## nadopuniti prvi indikator prema clanovima
marc_indicators('740', '0', ' ');
# if ( ! rec('464') ) {
# };
### 760 w ---------------------------------------------
-## generiranje zapisa o nakladnièkoj cjelini i povezivanje podreðenog zapisa s nadreðenim
+## generiranje zapisa o nakladnickoj cjelini i povezivanje podredenog zapisa s nadredenim
#if (
-# rec('225','a') # da li je nakladnièka cjelina?
+# rec('225','a') # da li je nakladnicka cjelina?
#) {
#my $series_key =
#set( $series_key => $series );
#
#} # $series
-#} # nakladnièka cjelina
+#} # nakladnicka cjelina
#
#my $series_key = join_with('',
# rec('225','a'),
#
# -------------------------------------------------------------------
-### 774 - Constituent Item Entry - to bi trebali koristiti ali ne koristimo jer NSK to koristi za ne¹to drugo
+### 774 - Constituent Item Entry - to bi trebali koristiti ali ne koristimo jer NSK to koristi za nesto drugo
### 787 - Nonspecific Relationship Entry
#marc_indicators('787','0',' ');