@@ -, +, @@ --- Koha/OAI/Server/Repository.pm | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) --- a/Koha/OAI/Server/Repository.pm +++ a/Koha/OAI/Server/Repository.pm @@ -96,7 +96,6 @@ Note the 'include_items' parameter which is the only mean to return item-level i =cut - sub new { my ($class, %args) = @_; my $self = $class->SUPER::new(%args); @@ -147,9 +146,24 @@ sub new { $response = $class->new($self, %attr); } - $response->set_handler( XML::SAX::Writer->new( Output => *STDOUT ) ); - $response->xslt( "/opac-tmpl/xslt/OAI.xslt" ); - $response->generate; + my $w = XML::SAX::Writer->new( Output => *STDOUT ); + + my $driver = HTTP::OAI::SAX::Driver->new( + Handler => my $builder = XML::LibXML::SAX::Builder->new() + ); + + $self->{ driver } = $driver; + $self->{ builder } = $builder; + + $driver->start_oai_pmh(); + + $response->set_handler($w); + #$response->xslt( "/opac-tmpl/xslt/OAI.xslt" ); + $response->generate($driver); + + $driver->end_oai_pmh(); + + print $builder->result; bless $self, $class; return $self; --