--- trunk/conf/normalize/ff-peri.pl 2006/10/25 11:02:36 758 +++ trunk/conf/normalize/ff-peri.pl 2006/11/03 20:41:12 773 @@ -15,12 +15,10 @@ } marc_leader('06','a'); - marc_leader('07','m'); + marc_leader('07','s'); marc_leader('18','i'); -if ( rec('230') ) { marc_leader('19','r'); -} # 001 polje - Voyager @@ -104,7 +102,7 @@ 'h', rec('200','b'), 'b', suffix( ( rec('200','k') && rec('200','f') ) ? ' / ' : - ' ', + ' ', join_with(' ; ', rec('200','k'), ), @@ -129,6 +127,7 @@ ), # FIXME append to last subfield # '+', prefix('. ', rec('200','c') ), + ); @@ -156,19 +155,19 @@ marc('300','a', suffix( - rec('215','c') ? ' : ' : - rec('215','d') ? ' ; ' : - rec('215','e') ? ' + ' : - ' ', + rec('215','c') ? ' : ' : + rec('215','d') ? ' ; ' : + rec('215','e') ? ' + ' : + ' ', rec('215','a') ) ); marc('300','b', suffix( - ( rec('215','c') && rec('215','d') ) ? ' ; ' : - ( rec('215','c') && rec('215','e') ) ? ' + ' : - ' ', + ( rec('215','c') && rec('215','d') ) ? ' ; ' : + ( rec('215','c') && rec('215','e') ) ? ' + ' : + ' ', rec('215','c') ) ); @@ -384,34 +383,6 @@ ) ); -## 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') -# ); -# -# -# marc('700','a', -# rec('330','b') -# ); -# -# marc('700','a', -# rec('330','c') -# ); -# -# -# marc('700','a', -# rec('330','d') -# ); -# -# marc('700','a', -# rec('330','e') -# ); -# -# marc('700','a', -# rec('330','f') -# ); #_debug(0); @@ -474,11 +445,51 @@ marc('500','a', lookup( sub { rec('304','a') }, - 'ffps','baza', + 'nsk','baza', sub { rec('200','a') }, ) ); +marc('500','a', + lookup( + sub { rec('306','a') }, + 'nsk','baza', + sub { rec('200','a') }, + ) +); +marc('500','a', + lookup( + sub { rec('314','a') }, + 'nsk','baza', + sub { rec('200','a') }, + ) +); + +marc('500','a', + lookup( + sub { rec('316','a') }, + 'nsk','baza', + sub { rec('200','a') }, + ) +); + +marc('504','a', + lookup( + sub { rec('320','a') }, + 'nsk','baza', + sub { rec('200','a') }, + ) +); + +marc('900','a', + sort( + lookup( + sub { rec('000') }, + 'ffps','peri', + sub { rec('200','a') }, + ) + ) +); }