--- trunk/conf/normalize/ff-libri.pl 2007/11/27 21:01:44 1063 +++ trunk/conf/normalize/ff-libri.pl 2007/11/27 21:02:15 1064 @@ -15,7 +15,7 @@ ## LDR 05 - c ili d - iz 999a ili 999b ili 999 - provjeriti za svaku knjiznicu -if ( rec('999') && frec('999') =~ m/(pregledan|P)/i) { +if ( rec('999') && rec('999','a') =~ m/(pregledan|P)/i) { marc_leader('05','c'); } else { marc_leader('05','n'); @@ -118,6 +118,7 @@ if ( frec('10') ne ( frec('290') ) ) { marc('020','a', regex('s/-//g', +# regex('s/\(\d\)\(/$1 \(//g', rec('10') ) ); @@ -320,28 +321,27 @@ marc_indicators('245', $i1, 0); -if ( ( rec('200','a') =~ m/^Die /) || - ( rec('200','a') =~ m/^Das /) || - ( rec('200','a') =~ m/^Der /) || - ( rec('200','a') =~ m/^Les /) || - ( rec('200','a') =~ m/^The /) ) { - marc_indicators('245', $i1, 4); +if ( rec('200','a') =~ m/^Einen / ) { + marc_indicators('245', $i1, 6); +} + +if ( rec('200','a') =~ m/^Eine / ) { + marc_indicators('245', $i1, 5); +} +if ( rec('200','a') =~ m/^(Die|Das|Der|Ein|Les|The) / ) { + marc_indicators('245', $i1, 4); } -if ( ( rec('200','a') =~ m/^Un /) || - ( rec('200','a') =~ m/^An /) || - ( rec('200','a') =~ m/^La /) || - ( rec('200','a') =~ m/^Le /) || - ( rec('200','a') =~ m/^Il /) ) { +if ( rec('200','a') =~ m/^(Um|Un|An|La|Le|Il) / ) { marc_indicators('245', $i1, 3); } -if ( ( rec('200','a') =~ m/^A /) || - ( rec('200','a') =~ m/^L'/) ) { +if ( rec('200','a') =~ m/^(A|L') / ) { marc_indicators('245', $i1, 2); } + ### 245 ## potpolja i interpunkcije pripremljeni u modify @@ -353,7 +353,7 @@ ( rec('200','d') ) ? ' =' : ( rec('200','e') ) ? ' :' : ( rec('200','k') ) ? ' ;' : - '', + '.', rec('200','a'), ), 'b', suffix( @@ -423,7 +423,7 @@ rec('215','c') ? ' : ' : rec('215','d') ? ' ; ' : rec('215','e') ? ' + ' : - ' ', + '', rec('215','a') ) ); @@ -432,7 +432,7 @@ suffix( ( rec('215','c') && rec('215','d') ) ? ' ; ' : ( rec('215','c') && rec('215','e') ) ? ' + ' : - ' ', + '', rec('215','c') ) ); @@ -440,7 +440,7 @@ marc('300','c', suffix( rec('215','e') ? ' + ' : - ' ', + '', rec('215','d') ) ); @@ -452,7 +452,7 @@ ### 362 - brojčani podaci za nakladničku cjelinu - razjasniti upotrebu ### 440 - indikatori -## 2.ind. prema jeziku i članu, provjeriri +## 2.ind. prema jeziku i članu, provjeriti marc_indicators('440', ' ', '0'); @@ -467,13 +467,12 @@ } if ( ( rec('225','a') =~ m/^An /) && ( rec(101) =~ m/ENG/ ) ) { - marc_indicators('440', ' ', 2); + marc_indicators('440', ' ', 3); } #_debug(3); ### 440 -## marc_compose radi samo kad polje ni potpolja nisu ponovljivi. ne zapisuje dobro drugo pojavljivanje ^v (iz 225^w) marc_template( from => 225, to => 440, @@ -486,31 +485,36 @@ 'w' => 'v', ], isis_template => [ - 'a ; |v. |i', - 'a ;|v.|i ;|w', - 'a.|i ;|w', - 'a.|h', - 'a.|h,|i', 'a.|h,|i ;|w', - 'a.|h ;|w', - 'a.|i', - 'a ;|v.|h', - 'a ;|v,|w', - 'a ;|w', - 'w', + 'a.|h.|w', + 'a.|i ;|w', + 'a ;|v.|i', + 'a ;|v.|i ;|w', + 'a ;|v.|h,|i ;|w', + 'a ;|v.|h ;|w', + 'a ;|v ;|w', + #mozda greska: + 'a ;|v,|x ;|w', + 'a,|x ;|v', + 'a,|x.|p ;|w', ], marc_template => [ 'a', - 'a,|x ;|v.|n,|p ;|v', - 'a.|n.|p', - 'a ;|v.|p ;|v', - 'a.|p ;|v', - 'a.|v', + 'a ;|v', + 'a,|x', + 'a.|n', # mozda greska + 'a.|n,|p', + 'a.|p', + 'a ;|v.|n', + 'a ;|v.|n,|p', # mozda greska 'v', + 'x', ], ); +## marc_compose za 440 radi samo kad polje ni potpolja nisu ponovljiva. ne zapisuje dobro drugo pojavljivanje ^v, tj. ^v iza ^p (iz 225^w) + #marc_compose('440', # 'a', suffix( # ( rec('225','v') ) ? ' ;' : @@ -758,48 +762,48 @@ ### 760 w ## generiranje zapisa o nakladničkoj cjelini i povezivanje podređenog zapisa s nadređenim -if ( - rec('225','a') # da li je nakladnička cjelina? -) { - -my $series_key = -join_with('', - rec('225','a'), - rec('210','a'), - rec('210','b'), -); - -my $series = get( $series_key ); - -if ($series) { - warn "nije novi"; -} else { - -$series = join_with('', - uc( config() ), - ' LS', - rec('000') -); - -set( $series_key => $series ); - -} # $series -} # nakladnička cjelina - -my $series_key = join_with('', - rec('225','a'), - rec('210','a'), - rec('210','b'), -); - -if ($series_key) { - - marc_indicators('760', 0, ' '); - - marc('760','w', - get( $series_key ) - ); -} +#if ( +# rec('225','a') # da li je nakladnička cjelina? +#) { +# +#my $series_key = +#join_with('', +# rec('225','a'), +# rec('210','a'), +# rec('210','b'), +#); +# +#my $series = get( $series_key ); +# +#if ($series) { +# warn "nije novi"; +#} else { +# +#$series = join_with('', +# uc( config() ), +# ' LS', +# rec('000') +#); +# +#set( $series_key => $series ); +# +#} # $series +#} # nakladnička cjelina +# +#my $series_key = join_with('', +# rec('225','a'), +# rec('210','a'), +# rec('210','b'), +#); +# +#if ($series_key) { +# +# marc_indicators('760', 0, ' '); +# +# marc('760','w', +# get( $series_key ) +# ); +#} # ## testing #