--- trunk/conf/normalize/mapping.pl 2006/06/30 10:16:05 549 +++ trunk/conf/normalize/mapping.pl 2006/07/02 16:14:41 562 @@ -17,7 +17,6 @@ ); marc_indicators('245', 0, 0); - marc('245','a', rec('200','a') ); @@ -40,17 +39,18 @@ rec('205','a') ); -marc('260','a', - rec('210','a') -); +_debug( 2 ); +warn "210a: ",dump( first(rec('210','a' )) ); -marc('260','b', - rec('210','c') +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('260','c', - rec('210','d') -); + +_debug( 0 ); marc('300','a', rec('215','a') @@ -68,6 +68,8 @@ rec('215','e') ); + +marc_indicators('490', 1, ' '); marc('490','a', join_with(' = ', rec('225','a'), @@ -89,15 +91,44 @@ rec('300') ); +marc('500','a', + rec('314') +); + marc('504','a', rec('320') ); +marc('501','a', + rec('327') +); + +marc('520','a', + rec('330') +); + +# možda i polje 520y - jezik napomene ako je uvijek isti jezik + marc_indicators('655', ' ', 4); marc('655','a', + rec('608') +); + +marc_indicators('653', ' ', ' '); +marc('653','a', rec('610') ); +marc('080','a', + rec('675','a') +); + +# podpolja c, d ... - što s njima? + +marc('084','a', + rec('686') +); + marc_indicators('100', 1, ' '); marc('100','a', join_with(', ', @@ -116,9 +147,9 @@ ); if ( rec('701') ) { - marc('700','4', - '070' - ); +marc('700','4', + 'aut' +); } marc('700','a', @@ -128,11 +159,76 @@ ) ); -if ( rec('702') ) { - marc('700','4', - '340' - ); +# podesiti podpolje 4 na editore nije dobra ideja +# +# if ( rec('702') ) { +# marc('700','4', +# '340' +# ); +# } + +if ( rec('710','f') ) { + +marc_indicators('111', 2, ' '); +marc('111','a', + rec('710','a') +); + +marc('111','e', + rec('710','b') +); + +marc('111','n', + rec('710','d') +); + +marc('111','c', + rec('710','e') +); + +marc('111','d', + rec('710','f') +); + +} else { + +marc_indicators('110', 2, ' '); +marc('110','a', + rec('710','a') +); + +marc('110','c', + rec('710','c') +); + +} + +# zapisi za duplanje + +if ( rec('230') ) { + +marc('245','a', + rec('230','a') +); + +marc('245','b', + rec('230','e') +); + +marc('245','c', + rec('230','f') +); + +marc('245','n', + rec('230','v') +); + } + + + + +