local config
[webpac2] / conf / normalize / ff-libri.pl
index 2de6b1b..16212b7 100644 (file)
@@ -25,16 +25,15 @@ if ( rec('230') ) {
 
 # 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')
@@ -61,21 +60,27 @@ marc('040','b',
        '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);
 }
@@ -143,6 +148,8 @@ marc_original_order('260', '210');
 
 
 # provjeriti interpunkcije !!
+# u NSK nesto ne stima
+
 marc('300','a',
        suffix(
                rec('215','c')  ?       ' : ' :
@@ -155,7 +162,7 @@ marc('300','a',
 
 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')
@@ -175,12 +182,25 @@ marc('300','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'),
@@ -214,49 +234,56 @@ marc('504','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')
 );
@@ -296,7 +323,10 @@ marc('700','4',
 }
 
 marc('700','a',
-       rec('701', 'a'),
+       join_with(', ',
+               rec('701', 'a'),
+               rec('701', 'b')
+       )
 );
 
 marc('700','a',
@@ -326,7 +356,7 @@ 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',
@@ -350,8 +380,9 @@ 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')
 # );
@@ -442,10 +473,6 @@ marc('740','a',
 
 if ( rec('230') ) {
 
-       marc('900','a',
-               id()
-       );
-
        marc_duplicate();
 
        marc_remove('035');
@@ -453,6 +480,7 @@ if ( rec('230') ) {
                join_with('',
                        config(),
                        rec('000'),
+                       '-',
                        id(),
                )
        );
@@ -517,10 +545,25 @@ if ( rec('230') ) {
        }
 
        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')