v1 poslano u NSK
authorMarijana Glavica <mglavica@ffzg.hr>
Fri, 10 Nov 2017 21:21:49 +0000 (22:21 +0100)
committerMarijana Glavica <mglavica@ffzg.hr>
Fri, 10 Nov 2017 21:21:49 +0000 (22:21 +0100)
conf/pravo/crolist2marc.pl
conf/pravo/modify.pl [new file with mode: 0644]

index cf0c08f..595453a 100644 (file)
@@ -674,7 +674,15 @@ if ( rec('461','1') ) {
                        'pravo','bib',
                        sub { prefix('001', rec('001') ) },
                        sub { rec('461','1') }
-               )
+               ),
+       );
+       marc('245','b',
+               lookup(
+                       sub { rec('200','e') },
+                       'pravo','bib',
+                       sub { prefix('001', rec('001') ) },
+                       sub { rec('461','1') }
+               ),
        );
        marc('245','c',
                lookup(
@@ -682,22 +690,14 @@ if ( rec('461','1') ) {
                        'pravo','bib',
                        sub { prefix('001', rec('001') ) },
                        sub { rec('461','1') }
-               )
+               ),
        );
-
-#      marc('245','n',
-#              rec('461','x')
-#      );
-
        marc('245','n',
-               rec('200','a')
+               rec('461','a'),
+       );
+       marc('245','p',
+               rec('200','a'),
        );
-
-       if ( rec('200','a') != rec('461','x') ) {
-               marc('245','p',
-                       rec('200','a')
-               );
-       }
 } else {       
 
 marc_compose('245',
@@ -1076,11 +1076,34 @@ marc('740','a',
 #
 # -------------------------------------------------------------------
 
+### 773 
+
+if ( rec('463') ) {
+
+my $id463 = substr( rec('463','1'), 3, 9 ) ;
+
+       marc('773','g',
+               rec('463','v'),
+       );
+       marc('773','t',
+               lookup(
+                       sub { rec('200','a') },
+                       'pravo','bib',
+                       sub { prefix('001', rec('001') ) },
+                       sub { rec('463','1') }
+               ),
+       );
+       marc('773','w',
+               prefix('(HR-ZaPFS)', $id463 ),
+       );
+}
+
+
 ### 774
 
 if ( rec('461') ) {
 
-my $id461 = substr( rec('461','1'), 2, 12 ) ;
+my $id461 = substr( rec('461','1'), 3, 9 ) ;
 
        marc('774','t',
                lookup(
diff --git a/conf/pravo/modify.pl b/conf/pravo/modify.pl
new file mode 100644 (file)
index 0000000..3e0182e
--- /dev/null
@@ -0,0 +1,324 @@
+# this is pseudo hash/yaml format for regex mappings
+
+# FFSF - nekoliko zaredanih ISBN, odvojenih s '. - '
+
+010
+  '*'
+    '-' => ''
+
+101
+  '*'
+    '^c' => '^h'
+    '^b' => '^h'
+    '^d' => '^b'
+    '^eng' => '^aeng'
+    '^e' => '^f'
+    '^ger' => '^ager'
+    '^g' => '^f'
+    '^n' => '^aeng'
+    '^r' => '^ahrv'
+    
+
+102
+  '^a'
+    '2R' => 'ci'
+    'a' => 'au'
+    'AA' => 'sz'
+    'AL' => 'aa'
+    'AR' => 'ag'
+    'AT' => 'au'
+    'AU' => 'at'
+    'australija' => 'at'
+    'AUT' => 'au'
+    'BA' => 'bn'
+    'BE' => 'be'
+    'BG' => 'bu'
+    'BH' => 'ba'
+    'BL' => 'be'
+    'BR' => 'be'
+    'CA' => 'xxc'
+    'CCCP' => 'ru'
+    'CD' => 'xxc'
+    'CG' => 'mo'
+    'ch' => 'sz'
+    'CH' => 'sz'
+    'CN' => 'cc'
+    'CR' => 'ci'
+    'CS' => 'xr'
+    'CZ' => 'xr'
+    'd' => 'gw'
+    ' D' => 'gw'
+    'DD' => 'gw'
+    'DE' => 'gw'
+    'DER' => 'gw'
+    'DK' => 'dk'
+    'EG' => 'ua'
+    'ES' => 'sp'
+    'EU' => 'lu'
+    'f' => 'fr'
+    'FI' => 'fi'
+    'FR' => 'fr'
+    'GB' => 'xxk'
+    'GE' => 'gw'
+    'GR' => 'gr'
+    'h' => 'hu'
+    'hr' => 'ci'
+    'HR' => 'ci'
+    'hrv' => 'ci'
+    'HU' => 'hu'
+    'IE' => 'xxk'
+    'IL' => 'is'
+    'IN' => 'ii'
+    'indija' => 'ii'
+    'IQ' => 'iq'
+    'IR' => 'ir'
+    'IS' => 'is'
+    'israel' => 'is'
+    'it' => 'it'
+    'IT' => 'it'
+    'j' => 'ja'
+    'JA' => 'ja'
+    'JP' => 'ja'
+    'JU' => 'rb'
+    'KR' => 'ci'
+    'KW' => 'ku'
+    'l' => 'lu'
+    'LB' => 'le'
+    'LU' => 'lu'
+    'LY' => 'ly'
+    'MA' => 'xn'
+    'MX' => 'mx'
+    'n' => 'xxu'
+    'NE' => 'ne'
+    'NETHERLAND' => 'ne'
+    'New York' => 'xxu'
+    'NL' => 'ne'
+    'NO' => 'no'
+    'NP' => 'ja'
+    'PL' => 'pl'
+    'PT' => 'po'
+    'QA' => 'qa'
+    'RO' => 'rm'
+    'RS' => 'rb'
+    'RU' => 'ru'
+    's' => ''
+    'SA' => 'su'
+    'SC' => 'xx'
+    'SE' => 'sw'
+    'SG' => 'si'
+    'SI' => 'xv'
+    's.l.' => 'xx'
+    'SL' => 'xv'
+    'SLO' => 'xv'
+    'SP' => 'sp'
+    'SR' => 'rb'
+    'srbija' => 'rb'
+    'SS' => 'ru'
+    'SSSR' => 'ru'
+    'SU' => 'ru'
+    'SV' => 'sw'
+    'SY' => 'bx'
+    'TR' => 'tu'
+    'UK' => 'xxk'
+    'us' => 'xxu'
+    'US' => 'xxu'
+    'usa' => 'xxu'
+    'USA' => 'xxu'
+    'US and IT' => 'xxu'
+    'v' => 'xx'
+    'VE' => 've'
+    'XU' => 'rb'
+    'YP' => 'ja'
+    'yu' => 'yu'
+    'YU' => 'yu'
+    'YZ' => 'ci'
+    'ZZ' => 'xx'
+  '^b'
+    'amsterdam' => ''
+    'APV' => ''
+    'h'   => ''
+    '"B"' => ''
+    'BA' => ''
+    'berlin' => ''
+    'BH' => ''
+    'CG' => ''
+    'chishester' => ''
+    'dH' => ''
+    'dordrecht' => ''
+    'englewood Cliffs, N.J.' => ''
+    'evanston' => ''
+    'HR' => ''
+    'london' => ''
+    'm' => ''
+    'New Jersey' => ''
+    'oxford' => ''
+    'paris' => ''
+    'pariz' => ''
+    's' => ''
+    'SL' => ''
+    'sl' => ''
+    'SR' => ''
+    'ST' => ''
+    'v' => ''
+    'zagreb' => ''
+  '*'
+    '^b' => ' '
+
+200
+  '^a'
+    ' = ' => '^d'
+    ' : ' => '^e'
+    ' ; ' => '^k'
+    '^a' => '. '
+    '^a' => '. '
+    '^a' => '. '
+    '^a' => '. '
+    '^d' => ' = '
+    '^d' => ' = '
+  '^c'
+    '^f' => ' / '
+    '^c' => '. '
+    '^e' => ' = '
+    '^e' => ' = '
+    '^f' => ' / '
+  '^d'
+    '^d' => ' ='
+    '^e' => ' :'
+    '^k' => ' ;'
+    '^e' => ' :'
+    '^d' => ' ='
+    '^d' => ' ='
+  '^k'
+    '^d' => ' ='
+    '^k' => ' ;'
+    '^e' => ' :'
+  '^e'
+    '^a' => ' ;'
+    '^a' => ' ;'
+    '^d' => ' ='
+    '^d' => ' ='
+    '^c' => '. '
+    '^k' => ' ;'
+    '^e' => ' :'
+    '^e' => ' :'
+    '^e' => ' :'
+    '^e' => ' :'
+    '^e' => ' :'
+    '^e' => ' :'
+    '^e' => ' :'
+    '^e' => ' :'
+    '^d' => ' = '
+  '^f'
+    '^e' => ' : '
+    '^d' => ' = '
+    '^f' => ' / '
+    '^d' => ' = '
+    '^f' => ' / '
+  '*'
+    '^g' => ' ; '
+
+205
+  '^a'
+    ' / ' => '^f'
+
+210
+  '*'
+    '^c' => '^b'
+    '^d' => ',^c'
+    '^e' => '^e('
+    '^g' => ' :^f'
+    '^f' => ' :^b'
+  '^a'
+    '^a' => ' ;^x'
+    '^b' => ' :^b'
+  '^b'
+    '^b' => ' ;^y'
+  '^x'
+    '^a' => ' ;^x'
+    '^a' => ' ;^x'
+    '^a' => ' ;^x'
+    '^a' => ' ;^x'
+  '^y'
+    '^b' => ' ;^y'
+    '^b' => ' ;^y'
+  '*'
+    '^x' => '^a'
+    '^y' => '^b'
+  '^c'
+    'regex:$' => '.'
+  '^f'
+    'regex:$' => ')'
+
+225
+  '^a'
+    '^d' => ' = '
+    '^e' => ' : '
+    '^f' => ' / '
+    '^h' => '. ' 
+    '^i' => ', '
+    '^v' => ' ;^v'
+    '^x' => ',^x'
+  '^v'
+    '^x' => ',^x'
+  '^x'
+    '^v' => ' ;^v'
+
+461
+  '^1'
+    '^1' => '^x'
+
+463
+  '^1'
+    '^1' => 'x'
+
+#610
+#  '*'
+#    '_ _' => ' -- '
+#
+
+675
+  '^v'
+    '^z' => ', '
+
+700
+   '^a'
+     '^b' => ', '
+
+701
+  '*'
+    '^b' => ', '
+702
+  '*'
+    '^b' => ', '
+
+710
+  '^b'
+    '^b' => ' :'
+  '^e'
+    '^d' => '('
+    '^f' => ' ; '
+    '^e' => ' ; '
+
+991
+  '*'
+    '^d' => '^b'
+
+#991
+#  'regex:^' => '^8SLF^aFFZG^bFFZG^cSE^islf'
+#  'regex:$' => '^yKNJ'
+#
+#220
+#  'regex:^' => '^8SLF^aFFZG^bFFZG^cSE^islf'
+#  'regex:$' => '^yKNJ'
+#
+#221
+#  'regex:^' => '^8SLF^aFFZG^bFFZG^cSE^islf'
+#  'regex:$' => '^yKNJ'
+#
+#222
+#  'regex:^' => '^8SLF^aFFZG^bFFZG^cSE^islf'
+#  'regex:$' => '^yKNJ'
+#
+#223
+#  'regex:^' => '^8SLF^aFFZG^bFFZG^cSE^islf'
+#  'regex:$' => '^yKNJ'