--- trunk/conf/normalize/ff-libri.pl 2006/10/08 13:25:11 751 +++ trunk/conf/normalize/ff-libri.pl 2006/10/25 11:02:36 758 @@ -25,16 +25,15 @@ # 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 @@ '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 @@ # provjeriti interpunkcije !! +# u NSK nesto ne stima + marc('300','a', suffix( rec('215','c') ? ' : ' : @@ -155,7 +162,7 @@ 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 @@ ); +# 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 @@ 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','a', - rec('701', 'a'), + join_with(', ', + rec('701', 'a'), + rec('701', 'b') + ) ); marc('700','a', @@ -326,7 +356,7 @@ ); -# 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 @@ ) ); -## 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 @@ if ( rec('230') ) { - marc('900','a', - id() - ); - marc_duplicate(); marc_remove('035'); @@ -453,6 +480,7 @@ join_with('', config(), rec('000'), + '-', id(), ) ); @@ -517,10 +545,25 @@ } 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')