local
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 23 Jul 2006 17:33:27 +0000 (17:33 +0000)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 23 Jul 2006 17:33:27 +0000 (17:33 +0000)
git-svn-id: svn+ssh://mjesec/home/dpavlin/svn/webpac2/trunk@602 07558da8-63fa-0310-ba24-9fe276d99e06

conf/normalize/mapping.pl

index 071ceb9..5bc195b 100644 (file)
@@ -28,13 +28,13 @@ if ( rec('230') ) {
 # privemeno koristimo 0356 umjesto 0359
 
 marc('035','6',
-       join_with(' ',
+join_with('',
 #              config('input normalize path'),
-               config('name'),
-               config('input name'),
+#              config('name'),
+#              config('input name'),
                config(),
-               id(),
-               rec('994','a'),
+#              id(),
+#              rec('994','a'),
                rec('000')
        )
 );
@@ -74,22 +74,28 @@ marc_indicators('245', 0, 0);
 #_debug(3);
 
 marc_compose('245',
-       'a', rec('200','a'),
-       'h', rec('200','b'),
-       'b', 
-       join_with(' : ',
-               rec('200','d'),
-               rec('200','e')
-       ),
-       'c', 
-       join_with(' ; ',
-               rec('200','f'),
-               rec('200','g')
+       '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', rec('200','k'),
+       'b', rec('200','d'),
+       'b', rec('200','e'),
+       'c', rec('200','f'),
+# FIXME append to last subfield
+#      '+', prefix('. ', rec('200','c') ),
 );
 
+
 #_debug(0);
 
+
 # marc('245','a',
 #      rec('200','a')
 # );
@@ -112,13 +118,29 @@ marc('250','a',
        rec('205','a')
 );
 
-marc_compose('260',
-       'a', split_rec_on('210','a', qr/\s*;\s*/, 1),
-       'b', first(rec('210','c')),
-       'a', split_rec_on('210','a', qr/\s*;\s*/, 2),
-       'c', first(rec('210','d')),
+# FIXME ponovljiva potpolja u originalnom redosljedu
+# 
+# marc_original_order('260', '210');
+
+marc('260','a',
+       rec('210','a'),
 );
 
+marc('260','b',
+       rec('210','c'),
+);
+
+marc('260','c',
+       rec('210','d'),
+);
+
+# marc_compose('260',
+#      'a', split_rec_on('210','a', qr/\s*;\s*/, 1),
+#      'b', first(rec('210','c')),
+#      'a', split_rec_on('210','a', qr/\s*;\s*/, 2),
+#      'c', first(rec('210','d')),
+# );
+
 marc('300','a',
        rec('215','a')
 );
@@ -138,9 +160,9 @@ marc('300','e',
 
 marc_indicators('490', 1, ' ');
 marc('490','a',
-       join_with(' = ',
+       join_with(' : ',
                rec('225','a'),
-               join_with(" :  ",
+               join_with(" =  ",
                        rec('225','d'),
                        join_with(" / ",
                                rec('225','e'),
@@ -151,6 +173,7 @@ marc('490','a',
 );
 
 marc('490','v',
+#      join2_with(225, 'v', ' , ', 225,'w');
        join_with(', ',
                rec('225','v'),
                rec('225','w')
@@ -232,6 +255,7 @@ marc('100','a',
        )
 );
 
+_debug(2);
 
 marc_indicators('700', 1, ' ');
 
@@ -242,10 +266,7 @@ marc('700','4',
 }
 
 marc('700','a',
-       join_with(', ',
-               rec('701', 'a'),
-               rec('701', 'b')
-       )
+       rec('701', 'a'),
 );
 
 marc('700','a',
@@ -269,13 +290,15 @@ marc('700','a',
        )
 );
 
+
 marc('700','a',
-       join_with(', ',
-               rec('702','a'),
-               rec('702','b')
-       )
+       rec('702','a'),
 );
 
+
+# ako je u originalu ponovljivo polje treba biti i konvertirano!!
+
+
 marc('700','a',
        join_with(', ',
                rec('702','c'),
@@ -297,6 +320,8 @@ marc('700','a',
        )
 );
 
+_debug(0);
+
 
 if ( rec('710','f') ) {
 
@@ -333,41 +358,74 @@ marc('110','c',
        rec('710','c')
 );
 
-}
+};
+
 
-# zapisi za duplanje
+marc_indicators('740', 0, ' ');
+marc('740','a',
+       rec('200','c')
+);
+
+
+# viĀ¹erazinci 
 
 if ( rec('230') ) {
 
-marc_duplicate();
+       marc_duplicate();
+       marc_remove('245');
 
-marc_remove('245');
-marc_remove('035','6');
+       marc('245','a',
+               rec('230','a')
+       );
 
-marc('245','a',
-       rec('230','a')
-);
+       if ( ! rec('230','a') ) {
 
-if ( ! rec('230','a') ) {
+               marc('245','a',
+                       rec('200','a')
+               );
+       }
 
-marc('245','a',
-       rec('200','a')
-);
+       marc('245','b',
+               rec('230','e')
+       );
+
+       marc('245','c',
+               rec('230','f')
+       );
+
+       marc('245','n',
+               rec('230','v')
+       );
 
 }
 
-marc('245','b',
-       rec('230','e')
-);
+if ( rec('231') ) {
 
-marc('245','c',
-       rec('230','f')
-);
+       marc_duplicate();
+       marc_remove('245');
 
-marc('245','n',
-       rec('230','v')
-);
+       marc('245','a',
+               rec('231','a')
+       );
 
-}
+       if ( ! rec('231','a') ) {
 
+               marc('245','a',
+                       rec('200','a')
+               );
+       }
+
+       marc('245','b',
+               rec('231','e')
+       );
+
+       marc('245','c',
+               rec('231','f')
+       );
+
+       marc('245','n',
+               rec('231','v')
+       );
+
+}
 }