Lines 39-44
Koha::XSLT::Base - Facilitate use of XSLT transformations
Link Here
|
39 |
via the err attribute. |
39 |
via the err attribute. |
40 |
Reloading XSLT files can be done with the refresh method. |
40 |
Reloading XSLT files can be done with the refresh method. |
41 |
|
41 |
|
|
|
42 |
The module refers to a (temporary) helper module Koha::XSLT::Loader that |
43 |
resolves issues in libxml2/libxslt for https references. |
44 |
|
42 |
=head1 METHODS |
45 |
=head1 METHODS |
43 |
|
46 |
|
44 |
=head2 new |
47 |
=head2 new |
Lines 117-122
Koha::XSLT::Base - Facilitate use of XSLT transformations
Link Here
|
117 |
use Modern::Perl; |
120 |
use Modern::Perl; |
118 |
use XML::LibXML; |
121 |
use XML::LibXML; |
119 |
use XML::LibXSLT; |
122 |
use XML::LibXSLT; |
|
|
123 |
use Koha::XSLT::Loader; |
120 |
use Koha::XSLT::Security; |
124 |
use Koha::XSLT::Security; |
121 |
|
125 |
|
122 |
use base qw(Class::Accessor); |
126 |
use base qw(Class::Accessor); |
Lines 327-333
sub _load {
Link Here
|
327 |
my $parser = XML::LibXML->new; |
331 |
my $parser = XML::LibXML->new; |
328 |
$self->{_security}->set_parser_options($parser); |
332 |
$self->{_security}->set_parser_options($parser); |
329 |
my $style_doc = eval { |
333 |
my $style_doc = eval { |
330 |
$parser->load_xml( $self->_load_xml_args($filename, $code) ) |
334 |
# Next call is a workaround as long as libxml2/libxslt have problems with https refs |
|
|
335 |
my $args = Koha::XSLT::Loader->load( $filename, $code ); |
336 |
$parser->load_xml($args); |
331 |
}; |
337 |
}; |
332 |
if ($@) { |
338 |
if ($@) { |
333 |
$self->_set_error( XSLTH_ERR_3, $@ ); |
339 |
$self->_set_error( XSLTH_ERR_3, $@ ); |
Lines 348-358
sub _load {
Link Here
|
348 |
return $rv; |
354 |
return $rv; |
349 |
} |
355 |
} |
350 |
|
356 |
|
351 |
sub _load_xml_args { |
|
|
352 |
my $self = shift; |
353 |
return $_[1]? { 'string' => $_[1]//'' }: { 'location' => $_[0]//'' }; |
354 |
} |
355 |
|
356 |
# _set_error |
357 |
# _set_error |
357 |
# Internal routine for handling error information. |
358 |
# Internal routine for handling error information. |
358 |
|
359 |
|
359 |
- |
|
|