konverzija 2014-01-28
authorMarijana Glavica <mglavica@ffzg.hr>
Thu, 13 Feb 2014 22:46:47 +0000 (23:46 +0100)
committerMarijana Glavica <mglavica@ffzg.hr>
Thu, 13 Feb 2014 22:46:47 +0000 (23:46 +0100)
conf/hpm/knjige.pl
conf/hpm/modify.pl

index 17f6596..f4d88ee 100644 (file)
@@ -177,7 +177,7 @@ marc('035','a',
 join_with('',
        # config('input normalize path'),
        # config('name'),
-       '(HR-ZaHPM)',
+       '(HR-ZaHPM)isis',
        # config(),
        # config('input name'),
        # id(),
@@ -202,19 +202,6 @@ marc('040','e',
        'ppiak'
 );
 
-### 041 - indikatori
-## pretpostavke o indikatorima
-## 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: 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 pomocne oznake)
-## pr. 821.111-2=163.42 je prijevod engleske drame na HR. 
-## 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 vise od jednog jezika, ili kad se radi o prijevodu
@@ -222,12 +209,12 @@ marc('040','e',
 
 
 if ( ( count( rec('101','a') ) > 1 ) || ( rec('101','b') ) || ( rec('101','h') ) ) {
-       marc_original_order('041','101');
        if ( ( grep( m/prijevod/i, rec('300') ) ) || ( rec('101','h') ) ) {
-               marc_indicators('041', 1, ' ');
+               marc_indicators('101', 1, ' ');
        } else { 
-               marc_indicators('041', ' ', ' ');
+               marc_indicators('101', ' ', ' ');
        }
+       marc_original_order('041','101');
 }
 
 
@@ -328,7 +315,7 @@ if ( rec('710','d') || rec('710','e') || rec('710','f') ) {
 
 my $titleind1;
 
-if ( rec('700') || rec('710') ) {
+if ( rec('700') || rec('710') || rec('711') ) {
        $titleind1 = 1;
 } else {
        $titleind1 = 0;
@@ -371,19 +358,20 @@ marc_compose('245',
                ( rec('200','d') ) ? ' =' :
                ( rec('200','e') ) ? ' :' :
                ( rec('200','k') ) ? ' ;' :
+               ( rec('200','h') ) ? '.' :
                        '.', 
                        rec('200','a'),
        ),
        'b', suffix(
-               ( rec('200','d') && rec('200','f') ) ? ' /' : 
-               ( rec('200','d') && rec('200','c') ) ? '.'  : 
+               ( rec('200','d') && ! rec('200','f') ) ? '.' : 
+               ( rec('200','d') && ! rec('200','f') ) ? '.'  : 
                        '',
                        rec('200','d'),
        ),
        'b', suffix(
                ( rec('200','e') && rec('200','f') ) ? ' /' : 
-               ( rec('200','e') && rec('200','c') ) ? '.'  : 
-                       '',
+               ( rec('200','e') && rec('200','h') && ! rec('200','f') ) ? '.'  : 
+                       '.',
                        rec('200','e'),
        ),
        'b', suffix(
@@ -392,6 +380,19 @@ marc_compose('245',
                        '',
                        rec('200','k'),
        ),
+       'n', suffix(
+               ( rec('200','h') && rec('200','f') ) ? ' /'  :
+               ( rec('200','h') && rec('200','i') )  ? '.' :
+               ( rec('200','h') && ! ( rec('200','i') || rec('200','f') ) )  ? '.' :
+                       '',
+                       rec('200','h'),
+       ),
+       'p', suffix(
+               ( rec('200','i') && rec('200','f') ) ? ' /'  :
+               ( rec('200','i') && ! rec('200','f') )  ? '.' :
+                       '',
+                       rec('200','i'),
+       ),
        'c', suffix(
                ( rec('200','f') && rec('200','c') ) ? '. ' :
                        '',
@@ -721,165 +722,6 @@ marc_compose('711',
 
 }
 
-
-### 740 - Added Entry - Uncontrolled Related/Analytical Title 
-## raspraviti
-## nadopuniti prvi indikator prema clanovima
-marc_indicators('740', '0', ' ');
-
-# if ( ! rec('464') ) {
-# marc('740','a',
-#      rec('200','c')
-# );
-
-#marc('740','a',
-#      rec('200','k')
-#);
-
-# } else {
-
-#marc('740','a',
-#      rec('464','a')
-#);
-
-# };
-
-### 760 w ---------------------------------------------
-## generiranje zapisa o nakladnickoj cjelini i povezivanje podredenog zapisa s nadredenim
-
-#if (
-#      rec('225','a')  # da li je nakladnicka cjelina?
-#) {
-
-#my $series_key =
-#join_with('',
-#      rec('225','a'),
-#      rec('210','a'),
-#      rec('210','b'),
-#);
-#
-#my $series = get( $series_key );
-#
-#if ($series) {
-#      warn "nije novi";
-#} else {
-#
-#$series = join_with('',
-#      uc( config() ),
-#      ' LS',
-#      rec('000')
-#);
-#
-#set( $series_key => $series );
-#
-#} # $series
-#} # nakladnicka cjelina
-#
-#my $series_key = join_with('',
-#      rec('225','a'),
-#      rec('210','a'),
-#      rec('210','b'),
-#);
-#
-#if ($series_key) {
-#
-#      marc_indicators('760', 0, ' ');
-#      
-#      marc('760','t',
-#              rec('225','a')
-#      );
-#      marc('760','w',
-#              get( $series_key )
-#      );
-#}
-
-# ## testing
-#
-# my $dup_key = join_with('',
-#      rec('200','a'),
-#);
-#
-#if ($dup_key) {
-#      marc('995','a',
-#              get( $dup_key )
-#      );
-#}
-#
-#
-# marc_indicators('776', 0, ' ');
-# 
-# marc('776','a',
-#      rec('452','1')
-# );
-#
-# -------------------------------------------------------------------
-
-### 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',' ');
-#
-#marc_compose('787',
-#      'g', rec('230','v'),
-#      't', rec('230','a'),
-#      'b', rec('240','a'),
-#      'd', rec('250','a'),
-#      'd', rec('250','d'),
-#      'h', rec('260','a'),
-#      'k', rec('270','a'),
-#      'n', join_with('. - ',
-#              rec('280'),
-#      ),
-#      'x', join_with(', ',
-#              rec('290'),
-#      )
-#);
-#marc_compose('787',
-#      'g', rec('231','v'),
-#      't', rec('231','a'),
-#      'b', rec('241','a'),
-#      'd', rec('251','a'),
-#      'd', rec('251','d'),
-#      'h', rec('261','a'),
-#      'k', rec('271','a'),
-#      'n', join_with('. - ',
-#              rec('281'),
-#      ),
-#      'x', join_with(', ',
-#              rec('291'),
-#      )
-#);
-#marc_compose('787',
-#      'g', rec('232','v'),
-#      't', rec('232','a'),
-#      'b', rec('242','a'),
-#      'd', rec('252','a'),
-#      'd', rec('252','d'),
-#      'h', rec('262','a'),
-#      'k', rec('272','a'),
-#      'n', join_with('. - ',
-#              rec('282'),
-#      ),
-#      'x', join_with(', ',
-#              rec('292'),
-#      )
-#);
-#marc_compose('787',
-#      'g', rec('233','v'),
-#      't', rec('233','a'),
-#      'b', rec('243','a'),
-#      'd', rec('253','a'),
-#      'h', rec('263','a'),
-#      'k', rec('273','a'),
-#      'n', join_with('. - ',
-#              rec('283'),
-#      ),
-#      'x', join_with(', ',
-#              rec('293'),
-#      )
-#);
-
-
 ### 852 - ne koristimo, koristimo  942 i 952
 
 ### 876 - item information - basic bibliographic unit (R)
@@ -888,59 +730,58 @@ marc_indicators('740', '0', ' ');
 #      rec('991','t'),
 #);
 
-### 886 - former marc
-# inicijale treba prebaciti u neko lokalno polje, a ovo polje nam ne treba
-#
-# marc_indicators('886', 2, ' ');
-# marc('886','2',
-#      'ffmarc'
-# );
-# marc('886','a',
-#      '994'
-# );
-# marc('886','b',
-#      join_with(''.
-#              '##^a',
-#              join_with('',
-#                      prefix('^a',
-#                              rec('994','a'),
-#                      ),
-#                      prefix('^b',
-#                              rec('994','b')
-#                      )
-#              )
-#      )
-#);
 
 ### KOHA items
-
 marc('942','b',
        'LIB'
 );
 
-marc('942','c',
-       'K'
-);
+if ( rec('245') =~ m/Elektronička građa/ ) {
+       marc('942','c',
+               'CD'
+       );
+} elsif ( rec('610') =~ m/disertacija/ ) {
+       marc('942','c',
+               'DIS'
+       );
+} elsif ( rec('610') =~ m/magistarski/ ) {
+       marc('942','c',
+               'MAG'
+       );
+} elsif ( rec('990') =~ m/(separat|posebni)/ ) {
+       marc('942','c',
+               'SEP'
+       );
+} elsif ( rec('990') =~ m/starih/ ) {
+       marc('942','c',
+               'OLD'
+       );
+} else {
+       marc('942','c',
+               'BOOK'
+       );
+}
+
+# HPM local
 
-marc('952','a',
-       'HPM'
+marc('991','a',
+       rec('991','b')
 );
-marc('952','b',
-       'HPM'
+marc('992','a',
+       rec('992')
+);
+marc('993','a',
+       rec('990')
 );
+
+
+# Items
+
 marc('952','e',
        rec('991','a')
 );
 marc('952','t',
        rec('991','b')
 );
-marc('952','o',
-       rec('990')
-);
-
-
-
-
-
 
 } # polje 200a
index 86bf131..dc31560 100644 (file)
     'regex:$' => '.'
 
 225
+  '^h'
+    '^i' => ', '
   '^a'
     '^d' => ' = '
     '^e' => ' : '
     '^f' => ' / '
-    '^i' => ' ;^v'
-    '^v' => ' ;^v'
+    '^h' => '. '
+    '^i' => '. '
     ' ; ' => ' ;^v'
-  '*'
-    '^h' => ' ;^v'
+    '^v' => ' ;^v'
 
 #610
 #  '*'
   '^a'
     '^b' => ', '
 
-