local
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 4 Feb 2007 12:37:42 +0000 (12:37 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 4 Feb 2007 12:37:42 +0000 (12:37 +0000)
git-svn-id: svn+ssh://mjesec/home/dpavlin/svn/webpac2/trunk@795 07558da8-63fa-0310-ba24-9fe276d99e06

conf/mjesec.yml
conf/modify/common.pl
conf/normalize/ff-libri.pl
conf/normalize/ff-nakladnicka.pl
conf/validate/ffsfb-libri

index 799a4c3..f64b3df 100644 (file)
@@ -478,10 +478,10 @@ databases:
       path: '/backup/isis_backup/A108-1/ISISDATA/latest/LIBRI/LIBRI'
       encoding: 'cp852'
       #limit: 10
-      #modify_file: 'conf/modify/common.pl'
+      modify_file: 'conf/modify/common.pl'
       normalize:
-        - path: 'conf/normalize/minimal.pl'
-        - path: 'conf/normalize/ff-dupli.pl'
+        - path: 'conf/normalize/ff-nakladnicka.pl'
+        - path: 'conf/normalize/ff-libri.pl'
 
   fftu:
     name: 'Turkologija, Filozofski fakultet u Zagrebu'
@@ -567,10 +567,10 @@ databases:
           # which tag to use in normalize xml for data?
           # tag: 'isis'
           # path to normalization xml
-          #- path: 'conf/normalize/ff-dupli.pl'
           #- path: 'conf/normalize/ff-nakladnicka.pl'
-          - path: 'conf/normalize/minimal.pl'
-          - path: 'conf/normalize/ff-dupli.pl'
+          #- path: 'conf/normalize/minimal.pl'
+          #- path: 'conf/normalize/ff-dupli.pl'
+          path: 'conf/normalize/ffps-spec.pl'
 
       # another input database
       - name: peri
@@ -619,8 +619,10 @@ databases:
         #limit: 10
         modify_file: 'conf/modify/common.pl'
         normalize:
-          - path: 'conf/normalize/ff-nakladnicka.pl'
+          - path: 'conf/normalize/ff-nakl-nsk.pl'
+        # - path: 'conf/normalize/ff-nakladnicka.pl'
           - path: 'conf/normalize/ff-libri.pl'
+        #  - path: 'conf/normalize/ff-viseraz.pl'
         #  - path: 'conf/normalize/minimal.pl'
         #  - path: 'conf/normalize/ff-dupli.pl'
       - name: mlibri
@@ -839,13 +841,13 @@ databases:
 #        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'
+  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'
 
index 89458b9..2d56340 100644 (file)
@@ -1,12 +1,11 @@
 # this is pseudo hash/yaml format for regex mappings
 
 # FFSF - nekoliko zaredanih ISBN, odvojenih s '. - '
+
 10
   '*'
     'regex:^' => '^a'
     '. -' => '^a'
-#    '. -' => '^c'
-#    '. -' => '^d'
     ';' => '^a'
 
 101
   '^e'
     '^d' => ' = '
     '^k' => ' ; '
+    '^e' => ' : '
   '*'
     '^g' => ' ; '
 
 205
   '^a'
-    ' \/ ' => '^f'
+    ' / ' => '^f'
 
 210
   '^a'
 
 225
   '*'
-    ')('  => '^b' 
+    ')('  => '^b'
+  '^a'
+    ' : ' => '^e'
+    ' / ' => '^f'
 
 
 250
@@ -96,7 +99,7 @@
 
 464
   '^a'
-    '^f' => ' \/ '
+    '^f' => ' / '
     '^g' => ', '
 
 
index a4c01cd..466b87d 100644 (file)
@@ -1,12 +1,18 @@
+##################################################################################
+## Ova datoteka sadr¾i pravila za generiranje MARC21 ISO 2709 izlazne datoteke. ##
+## Ulazni format je CDS/ISIS sa zapisima u UNIMARC-u.                           ##
+##################################################################################
+
+
 # konvertira se ako postoji polje 200^a
 
 if ( rec('200','a') ) {
 
 ### LEADER
 # raspraviti 17,18
-# u nekim knji¾nicama koristi se 999a i 999b
+# u nekim knji¾nicama koristi se 999a i 999b, a u nekima samo 999
 
-if ( rec('999') && first(rec('999')) =~ m/pregledan/i) {
+if ( rec('999') && first(rec('999')) =~ m/(pregledan|P)/i) {
        marc_leader('05','c');
 } else {
        marc_leader('05','n');
@@ -303,7 +309,10 @@ marc_indicators('440', ' ', '0');
 marc('440','a',
        join_with(' : ',
                rec('225','a'),
-               rec('225','e')
+               join_with(' / ',
+                       rec('225','e'),
+                       rec('225','f')
+               )
        )
 ) ;
 
@@ -356,6 +365,9 @@ marc('500','a',
        rec('314')
 );
 
+### 502 - bilje¹ka o disertacijama
+# odgovarajuæeg polja nema u originalnim podacima. mo¾da se mo¾e pretpostaviti?
+
 ### 504
 
 marc('504','a',
@@ -598,141 +610,6 @@ if ($series_key) {
 #
 
 
-### vi¹erazinci 
-# odvojiti u posebnu datoteku i dokumentirati
-
-
-if ( rec('230') ) {
-
-       marc_duplicate();
-
-       marc_remove('035');
-       marc('035','6',
-               join_with('',
-                       config(),
-                       rec('000'),
-                       '-',
-                       id(),
-               )
-       );
-
-
-       marc_remove('245');
-       
-       if ( rec('230','a') ) {
-               marc_compose('245',
-               'a', suffix(
-                       rec('230','b') ? '. '   :
-                       rec('230','k') ? ' ; '  :
-                       rec('230','d') ? ' = '  :
-                       rec('230','e') ? ' : '  :
-                       rec('230','f') ? ' / '  :
-                                        '.',
-                               rec('230','a')
-               ),
-               'b', 
-                       join_with(' ; ',
-                               rec('230','k'),
-                       ),
-               'b', rec('230','d'), 
-               'b', 
-                       join_with(' : ',
-                               rec('230','e'),
-                       ),
-               'c', 
-                       join_with(' ; ',
-                               rec('230','f'),
-                       ),
-       );
-       
-       } else {
-       
-               marc_compose('245',
-               'a', suffix(
-                       rec('230','b') ? '. '   :
-                       rec('230','k') ? ' ; '  :
-                       rec('230','d') ? ' = '  :
-                       rec('230','e') ? ' : '  :
-                       rec('230','f') ? ' / '  :
-                                        '.',
-                               rec('200','a')
-               ),
-               'b', 
-                       join_with(' ; ',
-                               rec('230','k'),
-                       ),
-               'b', rec('230','d'), 
-               'b', 
-                       join_with(' : ',
-                               rec('230','e'),
-                       ),
-               'c', 
-                       join_with(' ; ',
-                               rec('230','f'),
-                       ),
-               'n', rec('230','v'),
-       );
-       
-       }
-
-       marc_remove('260');
-
-#      marc_original_order('260', '250');
-
-       marc('260','c',
-               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')
-       );
-
-       marc_remove('440');
-       marc('440','a',
-               rec('270')
-       );
-
-       marc_remove('500');
-       marc('500','a',
-               rec('280')
-       );
-
-       marc_remove('020');
-       marc('020','a',
-               rec('290')
-       );
-
-       marc_indicators('774', 0, ' ');
-       marc('774','g',
-               rec('230','v')
-       );
-       marc('774','t',
-               rec('200','a')
-       );
-       
-       marc('774','w',
-               join_with('',
-                       config(),
-                       rec('000')
-               )
-       );
-
-}
 
 ##################################
 ##                              ##
@@ -772,4 +649,4 @@ if ( rec('200') =~ m/prev/ ) {
 
 
 
-}
+} # polje 200a
index 98a2566..0cbff0f 100644 (file)
@@ -1,19 +1,20 @@
 if (
        rec('225','a')  # da li je nakladnicka cjelina?
-       &&              # i
-       count( lookup(
-               sub { 1 },
-               'ffsf','blibri',
-               sub {
-                       join_with('',
-                               rec('225','a'),
-                               rec('210','a'),
-                               rec('210','b'),
-                       )
-               }
-       ) ) > 1
+#      &&              # i
+#      count( lookup(
+#              sub { 1 },
+#              'ffsf','blibri',
+#              sub {
+#                      join_with('',
+#                              rec('225','a'),
+#                              rec('210','a'),
+#                              rec('210','b'),
+#                      )
+#              }
+#      ) ) > 1
 ) {
 
+
 my $series_key =
 join_with('',
        rec('225','a'),
@@ -39,7 +40,7 @@ set( $series_key => $series );
 # Leader
 marc_leader('05','n');
 marc_leader('06','a');
-marc_leader('07','s');
+marc_leader('07','c');
 marc_leader('18','i');
 
 marc('035','6', $series );
@@ -66,13 +67,13 @@ marc_repeatable_subfield('041','a',
 
 marc_indicators('245', 0, 0);
 
-if (   ( rec('200','a') =~ m/^Die /) || 
-       ( rec('200','a') =~ m/^Das /) || 
-       ( rec('200','a') =~ m/^The /) ) {
+if (   ( rec('225','a') =~ m/^Die /) || 
+       ( rec('225','a') =~ m/^Das /) || 
+       ( rec('225','a') =~ m/^The /) ) {
                marc_indicators('245', 0, 4);
 } 
 
-if (   ( rec('200','a') =~ m/^A /) && ( rec(101) =~ m/ENG/ ) )
+if (   ( rec('225','a') =~ m/^A /) && ( rec(101) =~ m/ENG/ ) )
        {
                marc_indicators('245', 0, 2);
 } 
@@ -86,6 +87,10 @@ marc('245','a',
        ),
 );
 
+marc('245','c',
+       rec('225','f')
+);
+
 marc('245','n',
        rec('225','h'),
 );
@@ -121,6 +126,7 @@ marc('900','a',
        )
 );
 
+
 marc_duplicate();
 marc_remove('*');
 
index 47ac14c..837c064 100644 (file)
@@ -12,8 +12,6 @@
 233 a e f v 
 240
 241
-242
-243
 250
 251
 252
@@ -36,7 +34,6 @@
 293
 300
 320
-327
 330
 423 z a b c 
 464 a f c g x y