--- trunk/conf/normalize/minimal.pl 2007/01/30 18:21:17 791 +++ trunk/conf/normalize/minimal.pl 2007/01/30 18:23:53 792 @@ -20,10 +20,67 @@ ); -marc_indicators('245', 0, 0); -marc('245','a', - rec('200','a') +marc_indicators('245', 1, 0); + +if ( ( rec('200','a') =~ m/^Die /) || + ( rec('200','a') =~ m/^Das /) || + ( rec('200','a') =~ m/^The /) ) { + marc_indicators('245', 1, 4); +} + +if ( ( rec('200','a') =~ m/^A /) && ( rec(101) =~ m/ENG/ ) ) + { + marc_indicators('245', 1, 2); +} + + +### 245 +# redoslijed polja + +#_debug(3); +marc_compose('245', + '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', suffix( + ( rec('200','k') && rec('200','f') ) ? ' / ' : + ' ', + join_with(' ; ', + rec('200','k'), + ), + ), + 'b', suffix( + ( rec('200','d') && rec('200','f') ) ? ' / ' : + ' ', + rec('200','d'), + ), + 'b', suffix( + ( rec('200','e') && rec('200','f') ) ? ' / ' : + ' ', + join_with(' : ', + rec('200','e'), + ), + ), + + 'c', rec('200','f'), + +# append to last subfield + '+', prefix('. ', + rec('200','c') + ), ); +marc('260','c', + rec('210','d') + +); + }