local
authorDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 12 Nov 2007 12:22:21 +0000 (12:22 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Mon, 12 Nov 2007 12:22:21 +0000 (12:22 +0000)
git-svn-id: svn+ssh://mjesec/home/dpavlin/svn/webpac2/trunk@1042 07558da8-63fa-0310-ba24-9fe276d99e06

conf/mjesec.yml
conf/normalize/ff-libri.pl

index b830c29..03f3d5c 100644 (file)
@@ -418,7 +418,7 @@ databases:
         modify_file: 'conf/modify/common.pl'
         normalize:
           - path: 'conf/normalize/ff-libri.pl'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
+  #        - path: 'conf/normalize/ff-libri-svesci.pl'
 
 #  ffsk:
 #    name: 'Skandinavistika, Filozofski fakultet u Zagrebu'
@@ -449,7 +449,7 @@ databases:
         modify_file: 'conf/modify/common.pl'
         normalize:
           - path: 'conf/normalize/ff-libri.pl'
-          - path: 'conf/normalize/ff-libri-svesci.pl'
+  #        - path: 'conf/normalize/ff-libri-svesci.pl'
       - name: librim
         type: isis
         path: '/backup/isis_backup/A121-1/ISISDATA/latest/LIBRI/LIBRI'
index 8ac05d1..68f34c3 100644 (file)
@@ -12,21 +12,28 @@ if ( rec('200','a') ) {
 
 ### 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');
@@ -34,17 +41,14 @@ if ( rec('230') ) {
 
 ### 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',
@@ -65,37 +69,51 @@ if ( rec('994','c') ) {
 #)
 #);
 
-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', 
@@ -112,9 +130,9 @@ if ( frec('10') ne ( frec('290') ) ) {
 #);
 
 ### 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('',
@@ -130,8 +148,8 @@ 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'
@@ -147,20 +165,15 @@ marc('040','e',
 
 
 ### 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/ ) ??
 
@@ -174,9 +187,8 @@ if (
        marc_indicators('041', 0, ' ');
 }
 
-
 ### 041
-# ponovljivo polje konvertira se u ponovljivo potpolje
+## ponovljivo polje (101) konvertira se u ponovljivo potpolje (041a)
 
 #_debug(2);
 
@@ -190,7 +202,7 @@ marc_repeatable_subfield('041','a',
 ## 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')
@@ -210,17 +222,16 @@ marc('080','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, ' ');
@@ -228,8 +239,6 @@ if ( rec('700','a') && ! rec('700','b') ) {
        marc_indicators('100', 1, ' ');
 }
 
-### 100
-
 marc('100','a',
        join_with(', ',
                rec('700', 'a'),
@@ -239,7 +248,7 @@ marc('100','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') ) {
@@ -296,10 +305,9 @@ marc('110','b',
 
 
 ### 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;
 
@@ -335,7 +343,7 @@ if (        ( rec('200','a') =~ m/^A /) ||
 } 
 
 ### 245
-# podpolja i interpunkcije pripremljeni u modify
+## potpolja i interpunkcije pripremljeni u modify
 
 #_debug(3);
 
@@ -374,74 +382,23 @@ marc_compose('245',
                                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(
@@ -453,13 +410,13 @@ marc_compose('250',
 );
 
 ### 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(
@@ -492,12 +449,10 @@ marc('300','e',
        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');
 
@@ -518,8 +473,7 @@ if (        ( rec('225','a') =~ m/^An /) && ( rec(101) =~ m/ENG/ ) ) {
 #_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,
@@ -531,13 +485,27 @@ marc_template(
                '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',
        ],
 );
@@ -575,7 +543,7 @@ marc_template(
 #                      '',
 #                      frec('225','i')
 #      ),
-### 225w treba ici u 440v, na kraj
+## 225w treba ici u 440v, na kraj
 #      '+', join_with(' ; ',
 #              rec('225','w'),
 #      )
@@ -596,7 +564,7 @@ marc_template(
 #_debug(0);
 
 
-### 50x
+### 500
 
 marc('500','a',
        rec('300')
@@ -615,7 +583,7 @@ marc('500','a',
 );
 
 ### 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
 
@@ -623,13 +591,11 @@ 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)
-
-## 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', ' ');
@@ -650,13 +616,12 @@ if ( config() =~ m/ffan/ ) {
 }
 
 
-# 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',
@@ -666,7 +631,7 @@ if ( config() =~ m/ffps/ ) {
 }
 
 ### 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, ' ');
 
@@ -680,14 +645,6 @@ marc('538','a',
        rec('337','a')
 );
 
-
-### 246
-
-marc_indicators('246', 1, 3);
-marc('246','a',
-       rec('532')
-);
-
 ### 655
 
 marc_indicators('655', ' ', 4);
@@ -706,6 +663,7 @@ marc('653','a',
 
 
 ### 700
+## ako je u originalu ponovljivo polje treba biti i konvertirano u ponovljivo !!
 
 marc_indicators('700', 1, ' ');
 
@@ -751,10 +709,6 @@ marc('700','a',
        )
 );
 
-
-# ako je u originalu ponovljivo polje treba biti i konvertirano u ponovljivo !!
-
-
 marc('700','a',
        join_with(', ',
                rec('702','c'),
@@ -779,7 +733,7 @@ marc('700','a',
 #_debug(0);
 
 
-### 740
+### 740 - nadopuniti
 
 marc_indicators('740', 0, ' ');
 
@@ -800,7 +754,9 @@ marc('740','a',
 
 # };
 
-# 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?
@@ -844,7 +800,8 @@ if ($series_key) {
                get( $series_key )
        );
 }
-### testing
+
+# ## testing
 #
 # my $dup_key = join_with('',
 #      rec('200','a'),
@@ -865,7 +822,7 @@ if ($series_key) {
 #
 
 
-### 852 - lokacija
+### 852 - signatura 
 
 marc_indicators('852', 4, ' ');