X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=opac%2Funapi;h=a07434500a7f6fba561b2bc23b831e01c002ff99;hb=e191bb02bfda7f17ae8b4f681314c51d2e7e6b92;hp=0f97eced35a304946d03a2fcaf08462641d7a67c;hpb=6f3123bbc65b1087e18bd8212d1ca01ed1087181;p=koha.git diff --git a/opac/unapi b/opac/unapi index 0f97eced35..a07434500a 100755 --- a/opac/unapi +++ b/opac/unapi @@ -75,6 +75,19 @@ my $format_to_stylesheet_map = { 'rss2-full' => 'MARC21slim2RSS2.xsl', 'srw_dc' => 'MARC21slim2SRWDC.xsl', }, + 'NORMARC' => { + 'marcxml' => 'identity.xsl', + 'marcxml-full' => 'identity.xsl', + 'mods' => 'MARC21slim2MODS.xsl', + 'mods-full' => 'MARC21slim2MODS.xsl', + 'mods3' => 'MARC21slim2MODS3-1.xsl', + 'mods3-full' => 'MARC21slim2MODS3-1.xsl', + 'oai_dc' => 'MARC21slim2OAIDC.xsl', + 'rdfdc', => 'MARC21slim2RDFDC.xsl', + 'rss2' => 'MARC21slim2RSS2.xsl', + 'rss2-full' => 'MARC21slim2RSS2.xsl', + 'srw_dc' => 'MARC21slim2SRWDC.xsl', + }, 'UNIMARC' => { 'marcxml' => 'identity.xsl', 'marcxml-full' => 'identity.xsl', @@ -107,7 +120,7 @@ my $id = $cgi->param('id'); my $format = $cgi->param('format'); if (not defined $format) { - emit_formats($id); + emit_formats($id, $format_to_stylesheet_map, $format_info, $cgi); } elsif ($id) { # koha:biblionumber:0152018484 @@ -123,7 +136,7 @@ if (not defined $format) { exit 0; } - my $transformer = get_transformer($format); + my $transformer = get_transformer($format, $format_to_stylesheet_map, $format_info); unless (defined $transformer) { print $cgi->header( -status => '406 invalid format requested' ); exit 0; @@ -154,7 +167,7 @@ if (not defined $format) { exit 0; sub emit_formats { - my $id = shift; + my ($id, $format_to_stylesheet_map, $format_info, $cgi) = @_; if (defined $id) { print $cgi->header( -type =>'application/xml', -status => '300 multiple choices' ); @@ -179,7 +192,8 @@ sub emit_formats { sub get_transformer { - my $format = lc shift; + my ($format, $format_to_stylesheet_map, $format_info) = @_; + $format = lc $format; my $marcflavour = uc(C4::Context->preference('marcflavour')); return unless $format_to_stylesheet_map->{$marcflavour}->{$format};