|
Lines 31-43
use Koha::OAI::Server::GetRecord;
Link Here
|
| 31 |
use Koha::OAI::Server::ListRecords; |
31 |
use Koha::OAI::Server::ListRecords; |
| 32 |
use Koha::OAI::Server::ListIdentifiers; |
32 |
use Koha::OAI::Server::ListIdentifiers; |
| 33 |
use XML::SAX::Writer; |
33 |
use XML::SAX::Writer; |
| 34 |
use XML::LibXML; |
|
|
| 35 |
use XML::LibXSLT; |
| 36 |
use YAML::Syck qw( LoadFile ); |
34 |
use YAML::Syck qw( LoadFile ); |
| 37 |
use CGI qw/:standard -oldstyle_urls/; |
35 |
use CGI qw/:standard -oldstyle_urls/; |
| 38 |
use C4::Context; |
36 |
use C4::Context; |
| 39 |
use C4::Biblio; |
37 |
use C4::Biblio; |
| 40 |
|
38 |
use Koha::XSLT_Handler; |
| 41 |
|
39 |
|
| 42 |
=head1 NAME |
40 |
=head1 NAME |
| 43 |
|
41 |
|
|
Lines 100-106
sub new {
Link Here
|
| 100 |
$self->{ koha_identifier } = C4::Context->preference("OAI-PMH:archiveID"); |
98 |
$self->{ koha_identifier } = C4::Context->preference("OAI-PMH:archiveID"); |
| 101 |
$self->{ koha_max_count } = C4::Context->preference("OAI-PMH:MaxCount"); |
99 |
$self->{ koha_max_count } = C4::Context->preference("OAI-PMH:MaxCount"); |
| 102 |
$self->{ koha_metadata_format } = ['oai_dc', 'marcxml']; |
100 |
$self->{ koha_metadata_format } = ['oai_dc', 'marcxml']; |
| 103 |
$self->{ koha_stylesheet } = { }; # Build when needed |
101 |
$self->{ xslt_engine } = Koha::XSLT_Handler->new; |
| 104 |
|
102 |
|
| 105 |
# Load configuration file if defined in OAI-PMH:ConfFile syspref |
103 |
# Load configuration file if defined in OAI-PMH:ConfFile syspref |
| 106 |
if ( my $file = C4::Context->preference("OAI-PMH:ConfFile") ) { |
104 |
if ( my $file = C4::Context->preference("OAI-PMH:ConfFile") ) { |
|
Lines 157-179
sub get_biblio_marcxml {
Link Here
|
| 157 |
|
155 |
|
| 158 |
sub stylesheet { |
156 |
sub stylesheet { |
| 159 |
my ( $self, $format ) = @_; |
157 |
my ( $self, $format ) = @_; |
| 160 |
|
158 |
my $xsl_file = $self->{ conf } |
| 161 |
my $stylesheet = $self->{ koha_stylesheet }->{ $format }; |
159 |
? $self->{ conf }->{ format }->{ $format }->{ xsl_file } |
| 162 |
unless ( $stylesheet ) { |
160 |
: ( C4::Context->config('intrahtdocs') . |
| 163 |
my $xsl_file = $self->{ conf } |
161 |
'/prog/en/xslt/' . |
| 164 |
? $self->{ conf }->{ format }->{ $format }->{ xsl_file } |
162 |
C4::Context->preference('marcflavour') . |
| 165 |
: ( C4::Context->config('intrahtdocs') . |
163 |
'slim2OAIDC.xsl' |
| 166 |
'/prog/en/xslt/' . |
164 |
); |
| 167 |
C4::Context->preference('marcflavour') . |
165 |
return $xsl_file; |
| 168 |
'slim2OAIDC.xsl' ); |
|
|
| 169 |
my $parser = XML::LibXML->new(); |
| 170 |
my $xslt = XML::LibXSLT->new(); |
| 171 |
my $style_doc = $parser->parse_file( $xsl_file ); |
| 172 |
$stylesheet = $xslt->parse_stylesheet( $style_doc ); |
| 173 |
$self->{ koha_stylesheet }->{ $format } = $stylesheet; |
| 174 |
} |
| 175 |
|
| 176 |
return $stylesheet; |
| 177 |
} |
166 |
} |
| 178 |
|
167 |
|
| 179 |
1; |
168 |
1; |
| 180 |
- |
|
|