Revision history for Perl extension XML::LibXML
+2.0206 2020-09-15
+ - Add expand_entities => 1 to the instantiation at lib/XML/LibXML/SAX.pm
+ - in order to fix https://rt.cpan.org/Public/Bug/Display.html?id=132759
+ - failing XML-Simple tests
+ - Thanks to SREZIC , and GRANTM .
+ - Update HACKING.txt .
+
2.0205 2020-05-08
- Add XML::LibXML to the XML/SAX/ParserDetails.ini configuration file
upon installation.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
One should use Test::More for new test scripts, while using Test::Count
-( http://beta.metacpan.org/module/Test::Count ) "# TEST" annotations. Some
-of the old test scripts under +t/*.t+ are still using Test.pm, but it should
-not be used for new code.
+( https://metacpan.org/module/Test::Count ) "# TEST" annotations. Some
+of the old test scripts under +t/*.t+ had used Test.pm, but they
+have all been converted to Test::More, which should be used for new code.
Any bug fixes or feature addition patches should be accompanied with
a test script to test the code.
use IO::Handle; # for FH reads called as methods
BEGIN {
-$VERSION = "2.0205"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
$ABI_VERSION = 2;
require Exporter;
require DynaLoader;
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
"web" : "https://github.com/shlomif/perl-XML-LibXML"
}
},
- "version" : "2.0205",
+ "version" : "2.0206",
"x_serialization_backend" : "JSON::PP version 4.04"
}
warnings: '0'
resources:
repository: https://github.com/shlomif/perl-XML-LibXML.git
-version: '2.0205'
+version: '2.0206'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
</authorgroup>
- <edition>2.0205</edition>
+ <edition>2.0206</edition>
<copyright>
<year>2001-2007</year>
<holder>AxKit.com Ltd</holder>
<term>registerVarLookupFunc</term>
<listitem><funcsynopsis><funcsynopsisinfo>$xpc->registerVarLookupFunc($callback, $data)</funcsynopsisinfo></funcsynopsis>
<para>Registers variable lookup function
- <literal>$prefix</literal>. The registered function is
+ <literal>$callback</literal>. The registered function is
executed by the XPath engine each time an XPath variable
is evaluated. It takes three arguments:
<literal>$data</literal>, variable name, and variable
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
our @ISA = qw/Tie::Hash/;
use vars qw($VERSION);
-$VERSION = "2.0205"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
BEGIN
{
use vars qw ($VERSION);
-$VERSION = "2.0205"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
use overload
'""' => \&value,
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
@ISA = qw(Exporter);
-$VERSION = "2.0205"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
use XML::LibXML qw(:libxml);
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
use XML::LibXML;
use vars qw ($VERSION);
-$VERSION = "2.0205"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
use 5.008_000;
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
use warnings;
use vars qw($VERSION);
-$VERSION = "2.0205"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
use constant ERR_OK => 0;
use constant ERR_INTERNAL_ERROR => 1;
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
fallback => 1;
$WARNINGS = 0; # 0: suppress, 1: report via warn, 2: report via die
-$VERSION = "2.0205"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
use constant XML_ERR_NONE => 0;
use constant XML_ERR_WARNING => 1; # A simple warning
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
use warnings;
use vars qw ($VERSION);
-$VERSION = "2.0205"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
use overload
'""' => \&value,
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
use XML::LibXML::Number;
use vars qw($VERSION);
-$VERSION = "2.0205"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
use overload
'""' => \&to_literal,
use warnings;
use vars qw ($VERSION);
-$VERSION = "2.0205"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
use overload
'""' => \&value,
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
use warnings;
use vars qw ($VERSION);
-$VERSION = "2.0205"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
use 5.008_000;
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
use vars qw($VERSION @ISA);
-$VERSION = "2.0205"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
use XML::LibXML;
use XML::SAX::Base;
croak( "not implemented yet" );
}
+# See:
+# https://rt.cpan.org/Public/Bug/Display.html?id=132759
+sub _calc_new_XML_LibXML_parser_for_compatibility_with_XML_Simple_etc
+{
+ return XML::LibXML->new( expand_entities => 1, );
+}
+
sub _parse_bytestream {
my ( $self, $fh ) = @_;
- $self->{ParserOptions}{LibParser} = XML::LibXML->new() unless defined $self->{ParserOptions}{LibParser};
+ $self->{ParserOptions}{LibParser} = $self->_calc_new_XML_LibXML_parser_for_compatibility_with_XML_Simple_etc() unless defined $self->{ParserOptions}{LibParser};
$self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_fh;
$self->{ParserOptions}{ParseFuncParam} = $fh;
$self->_parse;
sub _parse_string {
my ( $self, $string ) = @_;
- $self->{ParserOptions}{LibParser} = XML::LibXML->new() unless defined $self->{ParserOptions}{LibParser};
+ $self->{ParserOptions}{LibParser} = $self->_calc_new_XML_LibXML_parser_for_compatibility_with_XML_Simple_etc() unless defined $self->{ParserOptions}{LibParser};
$self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_string;
$self->{ParserOptions}{ParseFuncParam} = $string;
$self->_parse;
sub _parse_systemid {
my $self = shift;
- $self->{ParserOptions}{LibParser} = XML::LibXML->new() unless defined $self->{ParserOptions}{LibParser};
+ $self->{ParserOptions}{LibParser} = $self->_calc_new_XML_LibXML_parser_for_compatibility_with_XML_Simple_etc() unless defined $self->{ParserOptions}{LibParser};
$self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_file;
$self->{ParserOptions}{ParseFuncParam} = shift;
$self->_parse;
sub parse_chunk {
my ( $self, $chunk ) = @_;
- $self->{ParserOptions}{LibParser} = XML::LibXML->new() unless defined $self->{ParserOptions}{LibParser};
+ $self->{ParserOptions}{LibParser} = $self->_calc_new_XML_LibXML_parser_for_compatibility_with_XML_Simple_etc() unless defined $self->{ParserOptions}{LibParser};
$self->{ParserOptions}{ParseFunc} = \&XML::LibXML::parse_xml_chunk;
$self->{ParserOptions}{LibParser}->{IS_FILTER}=1; # a hack to prevent parse_xml_chunk from issuing end_document
$self->{ParserOptions}{ParseFuncParam} = $chunk;
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
return $XML::LibXML::__threads_shared ? 0 : 1;
}
-$VERSION = "2.0205"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
sub new {
my $class = shift;
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
use XML::LibXML;
use vars qw ($VERSION);
-$VERSION = "2.0205"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
sub CLONE_SKIP {
return $XML::LibXML::__threads_shared ? 0 : 1;
use XML::SAX::Base;
use XML::SAX::DocumentLocator;
-$VERSION = "2.0205"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
@ISA = ('XML::SAX::Base');
sub CLONE_SKIP {
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
use XML::LibXML;
use XML::LibXML::NodeList;
-$VERSION = "2.0205"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
# should LibXML XPath data types be used for simple objects
# when passing parameters to extension functions (default: no)
$xpc->registerVarLookupFunc($callback, $data)
-Registers variable lookup function C<<<<<< $prefix >>>>>>. The registered function is executed by the XPath engine each time an XPath
+Registers variable lookup function C<<<<<< $callback >>>>>>. The registered function is executed by the XPath engine each time an XPath
variable is evaluated. It takes three arguments: C<<<<<< $data >>>>>>, variable name, and variable ns-URI and must return one value: a number or
string or any C<<<<<< XML::LibXML:: >>>>>> object that can be a result of findnodes: Boolean, Literal, Number, Node (e.g.
Document, Element, etc.), or NodeList. For convenience, simple (non-blessed)
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
=head1 VERSION
-2.0205
+2.0206
=head1 COPYRIGHT
use strict;
use warnings;
-use IO::All qw/ io /;
+use Path::Tiny qw/ path /;
my ($version) =
( map { m{\$VERSION *= *"([^"]+)"} ? ($1) : () }
- io->file('LibXML.pm')->getlines() );
+ path('LibXML.pm')->lines_utf8() );
if ( !defined($version) )
{