diff -pruN 2.0207+dfsg+really+2.0134-6/Changes 2.0207+dfsg+really+2.0207-0ubuntu7/Changes
--- 2.0207+dfsg+really+2.0134-6/Changes	2019-02-10 14:55:08.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/Changes	2021-04-17 08:13:00.000000000 +0000
@@ -1,5 +1,59 @@
 Revision history for Perl extension XML::LibXML
 
+2.0207  2021-04-17
+    - Small cleanups:
+        - https://github.com/shlomif/perl-XML-LibXML/pull/63
+        - Thanks to @Grinnz , @Kritzefitz and @atoomic .
+
+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.
+        - https://rt.cpan.org/Public/Bug/Display.html?id=132523
+        - https://github.com/shlomif/perl-XML-LibXML/pull/49
+        - Thanks to SREZIC , @genio , and @plicease .
+
+2.0204  2020-03-17
+    - Require a recent Alien::Libxml2.
+        - https://rt.cpan.org/Public/Bug/Display.html?id=132129
+        - Thanks to SREZIC
+
+2.0203  2020-03-11
+    - Use Alien::Base::Wrapper for better portability.
+        - https://github.com/shlomif/perl-XML-LibXML/pull/45
+        - Thanks to @plicease
+
+2.0202  2020-01-13
+    - Disable loading external DTDs or external entities by default
+        - Thanks to Tim Retout
+    - Docs: Noting that HTTPS doesn't work for schema-loading either.
+        - Thanks to Jason McIntosh
+    - Allow to parse RelaxNG without accessing network
+        - Thanks to PALI
+    - Allow to parse XML Schema without accessing network
+        - Thanks to PALI
+    - Add Test-Count assertion count checking using
+      https://metacpan.org/pod/Code::TidyAll::Plugin::TestCount
+
+2.0201  2019-05-25
+    - Set MIN_PERL_VERSION to 5.8.1.
+    - Alien::Libxml2 Makefile.PL cleanups.
+    - Update the README for grammar and info.
+    - Link to XML-LibXML "by Example"
+        - https://github.com/shlomif/perl-XML-LibXML/pull/36
+        - Thanks to @Grinnz .
+
+2.0200  2019-03-23
+    - Convert to use Alien::Libxml2 .
+        - https://github.com/shlomif/perl-XML-LibXML/pull/30
+        - Thanks to @genio and @plicease .
+
 2.0134  2019-02-10
     - Fix overzealous POD escaping in the docs' synposes
         - https://github.com/shlomif/perl-XML-LibXML/issues/26
diff -pruN 2.0207+dfsg+really+2.0134-6/HACKING.txt 2.0207+dfsg+really+2.0207-0ubuntu7/HACKING.txt
--- 2.0207+dfsg+really+2.0134-6/HACKING.txt	2016-05-30 09:01:59.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/HACKING.txt	2021-04-15 16:38:50.000000000 +0000
@@ -11,9 +11,9 @@ Use Test::More for test scripts while us
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 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.
diff -pruN 2.0207+dfsg+really+2.0134-6/LibXML.pm 2.0207+dfsg+really+2.0207-0ubuntu7/LibXML.pm
--- 2.0207+dfsg+really+2.0134-6/LibXML.pm	2019-02-10 14:52:09.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/LibXML.pm	2021-04-17 08:06:16.000000000 +0000
@@ -29,11 +29,11 @@ use XML::LibXML::XPathContext;
 use IO::Handle; # for FH reads called as methods
 
 BEGIN {
-$VERSION = "2.0134"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
 $ABI_VERSION = 2;
 require Exporter;
-require DynaLoader;
-@ISA = qw(DynaLoader Exporter);
+use XSLoader ();
+@ISA = qw(Exporter);
 
 use vars qw($__PROXY_NODE_REGISTRY $__threads_shared $__PROXY_NODE_REGISTRY_MUTEX $__loaded);
 
@@ -147,7 +147,7 @@ $CloseCB = undef;
 #-------------------------------------------------------------------------#
 # bootstrapping                                                           #
 #-------------------------------------------------------------------------#
-bootstrap XML::LibXML $VERSION;
+XSLoader::load( 'XML::LibXML', $VERSION );
 undef &AUTOLOAD;
 
 *encodeToUTF8 = \&XML::LibXML::Common::encodeToUTF8;
@@ -261,7 +261,7 @@ use constant {
   HTML_PARSE_NOERROR  => (1<<5),       # suppress error reports
 };
 
-$XML_LIBXML_PARSE_DEFAULTS = ( XML_PARSE_NODICT | XML_PARSE_DTDLOAD | XML_PARSE_NOENT );
+$XML_LIBXML_PARSE_DEFAULTS = ( XML_PARSE_NODICT );
 
 # this hash is made global so that applications can add names for new
 # libxml2 parser flags as temporary workaround
@@ -366,6 +366,7 @@ sub new {
       }
       # parser flags
       $opts{no_blanks} = !$opts{keep_blanks} if exists($opts{keep_blanks}) and !exists($opts{no_blanks});
+      $opts{load_ext_dtd} = $opts{expand_entities} if exists($opts{expand_entities}) and !exists($opts{load_ext_dtd});
 
       for (keys %OUR_FLAGS) {
 	$self->{$OUR_FLAGS{$_}} = delete $opts{$_};
@@ -2078,13 +2079,13 @@ sub new {
 
     my $self = undef;
     if ( defined $args{location} ) {
-        $self = $class->parse_location( $args{location} );
+        $self = $class->parse_location( $args{location}, XML::LibXML->_parser_options(\%args), $args{recover} );
     }
     elsif ( defined $args{string} ) {
-        $self = $class->parse_buffer( $args{string} );
+        $self = $class->parse_buffer( $args{string}, XML::LibXML->_parser_options(\%args), $args{recover} );
     }
     elsif ( defined $args{DOM} ) {
-        $self = $class->parse_document( $args{DOM} );
+        $self = $class->parse_document( $args{DOM}, XML::LibXML->_parser_options(\%args), $args{recover} );
     }
 
     return $self;
@@ -2102,10 +2103,10 @@ sub new {
 
     my $self = undef;
     if ( defined $args{location} ) {
-        $self = $class->parse_location( $args{location} );
+        $self = $class->parse_location( $args{location}, XML::LibXML->_parser_options(\%args), $args{recover} );
     }
     elsif ( defined $args{string} ) {
-        $self = $class->parse_buffer( $args{string} );
+        $self = $class->parse_buffer( $args{string}, XML::LibXML->_parser_options(\%args), $args{recover} );
     }
 
     return $self;
diff -pruN 2.0207+dfsg+really+2.0134-6/LibXML.pod 2.0207+dfsg+really+2.0207-0ubuntu7/LibXML.pod
--- 2.0207+dfsg+really+2.0134-6/LibXML.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/LibXML.pod	2021-04-17 08:07:35.000000000 +0000
@@ -25,6 +25,8 @@ a XML::XPath-like interface to XPath API
 several packages which are not described in this section; unless stated
 otherwise, you only need to C<<<<<< use XML::LibXML; >>>>>> in your programs.
 
+Check out XML::LibXML by Example (L<<<<<< http://grantm.github.io/perl-libxml-by-example/ >>>>>>) for a tutorial.
+
 For further information, please check the following documentation:
 
 =over 4
@@ -505,7 +507,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/LibXML.xs 2.0207+dfsg+really+2.0207-0ubuntu7/LibXML.xs
--- 2.0207+dfsg+really+2.0134-6/LibXML.xs	2017-10-28 17:44:51.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/LibXML.xs	2021-04-15 16:38:50.000000000 +0000
@@ -7337,11 +7337,14 @@ DESTROY( self )
 
 
 xmlRelaxNGPtr
-parse_location( self, url )
+parse_location( self, url, parser_options = 0, recover = FALSE )
         char * url
+        int parser_options
+        bool recover
     PREINIT:
         const char * CLASS = "XML::LibXML::RelaxNG";
         xmlRelaxNGParserCtxtPtr rngctxt = NULL;
+        xmlExternalEntityLoader old_ext_ent_loader = NULL;
         PREINIT_SAVED_ERROR
     CODE:
         INIT_ERROR_HANDLER;
@@ -7357,20 +7360,33 @@ parse_location( self, url )
                                   (xmlRelaxNGValidityWarningFunc)LibXML_error_handler_ctx,
                                   saved_error );
 #endif
+
+        if ( EXTERNAL_ENTITY_LOADER_FUNC == NULL && (parser_options & XML_PARSE_NONET) ) {
+            old_ext_ent_loader = xmlGetExternalEntityLoader();
+            xmlSetExternalEntityLoader( xmlNoNetExternalEntityLoader );
+        }
+
         RETVAL = xmlRelaxNGParse( rngctxt );
+
+        if ( EXTERNAL_ENTITY_LOADER_FUNC == NULL && (parser_options & XML_PARSE_NONET) )
+            xmlSetExternalEntityLoader( (xmlExternalEntityLoader)old_ext_ent_loader );
+
         xmlRelaxNGFreeParserCtxt( rngctxt );
 	CLEANUP_ERROR_HANDLER;
-        REPORT_ERROR((RETVAL == NULL) ? 0 : 1);
+        REPORT_ERROR((RETVAL == NULL) ? 0 : recover);
     OUTPUT:
         RETVAL
 
 
 xmlRelaxNGPtr
-parse_buffer( self, perlstring )
+parse_buffer( self, perlstring, parser_options = 0, recover = FALSE )
         SV * perlstring
+        int parser_options
+        bool recover
     PREINIT:
         const char * CLASS = "XML::LibXML::RelaxNG";
         xmlRelaxNGParserCtxtPtr rngctxt = NULL;
+        xmlExternalEntityLoader old_ext_ent_loader = NULL;
         char * string = NULL;
         STRLEN len    = 0;
         PREINIT_SAVED_ERROR
@@ -7393,20 +7409,33 @@ parse_buffer( self, perlstring )
                                   (xmlRelaxNGValidityWarningFunc)LibXML_error_handler_ctx,
                                   saved_error );
 #endif
+
+        if ( EXTERNAL_ENTITY_LOADER_FUNC == NULL && (parser_options & XML_PARSE_NONET) ) {
+            old_ext_ent_loader = xmlGetExternalEntityLoader();
+            xmlSetExternalEntityLoader( xmlNoNetExternalEntityLoader );
+        }
+
         RETVAL = xmlRelaxNGParse( rngctxt );
+
+        if ( EXTERNAL_ENTITY_LOADER_FUNC == NULL && (parser_options & XML_PARSE_NONET) )
+            xmlSetExternalEntityLoader( (xmlExternalEntityLoader)old_ext_ent_loader );
+
         xmlRelaxNGFreeParserCtxt( rngctxt );
 	CLEANUP_ERROR_HANDLER;
-        REPORT_ERROR((RETVAL == NULL) ? 0 : 1);
+        REPORT_ERROR((RETVAL == NULL) ? 0 : recover);
     OUTPUT:
         RETVAL
 
 
 xmlRelaxNGPtr
-parse_document( self, doc )
+parse_document( self, doc, parser_options = 0, recover = FALSE )
         xmlDocPtr doc
+        int parser_options
+        bool recover
     PREINIT:
         const char * CLASS = "XML::LibXML::RelaxNG";
         xmlRelaxNGParserCtxtPtr rngctxt = NULL;
+        xmlExternalEntityLoader old_ext_ent_loader = NULL;
         PREINIT_SAVED_ERROR
     CODE:
         INIT_ERROR_HANDLER;
@@ -7422,10 +7451,20 @@ parse_document( self, doc )
                                   (xmlRelaxNGValidityWarningFunc)LibXML_error_handler_ctx,
                                   saved_error );
 #endif
+
+        if ( EXTERNAL_ENTITY_LOADER_FUNC == NULL && (parser_options & XML_PARSE_NONET) ) {
+            old_ext_ent_loader = xmlGetExternalEntityLoader();
+            xmlSetExternalEntityLoader( xmlNoNetExternalEntityLoader );
+        }
+
         RETVAL = xmlRelaxNGParse( rngctxt );
+
+        if ( EXTERNAL_ENTITY_LOADER_FUNC == NULL && (parser_options & XML_PARSE_NONET) )
+            xmlSetExternalEntityLoader( (xmlExternalEntityLoader)old_ext_ent_loader );
+
         xmlRelaxNGFreeParserCtxt( rngctxt );
 	CLEANUP_ERROR_HANDLER;
-        REPORT_ERROR((RETVAL == NULL) ? 0 : 1);
+        REPORT_ERROR((RETVAL == NULL) ? 0 : recover);
     OUTPUT:
         RETVAL
 
@@ -7487,11 +7526,14 @@ DESTROY( self )
 
 
 xmlSchemaPtr
-parse_location( self, url )
+parse_location( self, url, parser_options = 0, recover = FALSE )
         char * url
+        int parser_options
+        bool recover
     PREINIT:
         const char * CLASS = "XML::LibXML::Schema";
         xmlSchemaParserCtxtPtr rngctxt = NULL;
+        xmlExternalEntityLoader old_ext_ent_loader = NULL;
         PREINIT_SAVED_ERROR
     CODE:
         INIT_ERROR_HANDLER;
@@ -7509,20 +7551,32 @@ parse_location( self, url )
                                   (xmlSchemaValidityWarningFunc)LibXML_error_handler_ctx,
                                   saved_error );
 
+        if ( EXTERNAL_ENTITY_LOADER_FUNC == NULL && (parser_options & XML_PARSE_NONET) ) {
+            old_ext_ent_loader = xmlGetExternalEntityLoader();
+            xmlSetExternalEntityLoader( xmlNoNetExternalEntityLoader );
+        }
+
         RETVAL = xmlSchemaParse( rngctxt );
+
+        if ( EXTERNAL_ENTITY_LOADER_FUNC == NULL && (parser_options & XML_PARSE_NONET) )
+            xmlSetExternalEntityLoader( (xmlExternalEntityLoader)old_ext_ent_loader );
+
         xmlSchemaFreeParserCtxt( rngctxt );
 	CLEANUP_ERROR_HANDLER;
-        REPORT_ERROR((RETVAL == NULL) ? 0 : 1);
+        REPORT_ERROR((RETVAL == NULL) ? 0 : recover);
     OUTPUT:
         RETVAL
 
 
 xmlSchemaPtr
-parse_buffer( self, perlstring )
+parse_buffer( self, perlstring, parser_options = 0, recover = FALSE )
         SV * perlstring
+        int parser_options
+        bool recover
     PREINIT:
         const char * CLASS = "XML::LibXML::Schema";
         xmlSchemaParserCtxtPtr rngctxt = NULL;
+        xmlExternalEntityLoader old_ext_ent_loader = NULL;
         char * string = NULL;
         STRLEN len    = 0;
         PREINIT_SAVED_ERROR
@@ -7547,10 +7601,19 @@ parse_buffer( self, perlstring )
                                   (xmlSchemaValidityWarningFunc)LibXML_error_handler_ctx,
                                   saved_error );
 
+        if ( EXTERNAL_ENTITY_LOADER_FUNC == NULL && (parser_options & XML_PARSE_NONET) ) {
+            old_ext_ent_loader = xmlGetExternalEntityLoader();
+            xmlSetExternalEntityLoader( xmlNoNetExternalEntityLoader );
+        }
+
         RETVAL = xmlSchemaParse( rngctxt );
+
+        if ( EXTERNAL_ENTITY_LOADER_FUNC == NULL && (parser_options & XML_PARSE_NONET) )
+            xmlSetExternalEntityLoader( (xmlExternalEntityLoader)old_ext_ent_loader );
+
         xmlSchemaFreeParserCtxt( rngctxt );
         CLEANUP_ERROR_HANDLER;
-        REPORT_ERROR((RETVAL == NULL) ? 0 : 1);
+        REPORT_ERROR((RETVAL == NULL) ? 0 : recover);
     OUTPUT:
         RETVAL
 
diff -pruN 2.0207+dfsg+really+2.0134-6/MANIFEST 2.0207+dfsg+really+2.0207-0ubuntu7/MANIFEST
--- 2.0207+dfsg+really+2.0134-6/MANIFEST	2019-02-10 15:02:17.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/MANIFEST	2021-04-17 08:15:15.000000000 +0000
@@ -62,7 +62,6 @@ example/xmlns/badguy.xml
 example/xmlns/goodguy.xml
 example/xpath.pl
 example/yahoo-finance-html-with-errors.html
-inc/Devel/CheckLib.pm
 lib/XML/LibXML/Attr.pod
 lib/XML/LibXML/AttributeHash.pm
 lib/XML/LibXML/Boolean.pm
@@ -116,6 +115,7 @@ scripts/prints-to-comments.pl
 scripts/tag-release.pl
 scripts/total-build-and-test.bash
 scripts/update-HACKING-file.bash
+t/00-report-prereqs.t
 t/01basic.t
 t/02parse.t
 t/03doc.t
@@ -161,6 +161,7 @@ t/46err_column.t
 t/47load_xml_callbacks.t
 t/48_RH5_double_free_rt83779.t
 t/48_SAX_Builder_rt_91433.t
+t/48_gh_pr63_detect_undef_values.t
 t/48_memleak_rt_83744.t
 t/48_reader_undef_warning_on_empty_str_rt106830.t
 t/48_removeChild_crashes_rt_80395.t
@@ -203,10 +204,12 @@ test/relaxng/demo2.rng
 test/relaxng/demo3.rng
 test/relaxng/demo4.rng
 test/relaxng/invaliddemo.xml
+test/relaxng/net.rng
 test/relaxng/schema.rng
 test/schema/badschema.xsd
 test/schema/demo.xml
 test/schema/invaliddemo.xml
+test/schema/net.xsd
 test/schema/schema.xsd
 test/textReader/countries.xml
 test/xinclude/entity.txt
diff -pruN 2.0207+dfsg+really+2.0134-6/META.json 2.0207+dfsg+really+2.0207-0ubuntu7/META.json
--- 2.0207+dfsg+really+2.0134-6/META.json	2019-02-10 15:02:17.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/META.json	2021-04-17 08:15:15.000000000 +0000
@@ -1,10 +1,10 @@
 {
    "abstract" : "Interface to Gnome libxml2 xml parsing and DOM library",
    "author" : [
-      "Petr Pajas"
+      "Petr Pajas <PAJAS@cpan.org>"
    ],
-   "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 2.150010",
+   "dynamic_config" : 0,
+   "generated_by" : "ExtUtils::MakeMaker version 7.60, CPAN::Meta::Converter version 2.150010",
    "keywords" : [
       "dom",
       "html",
@@ -33,7 +33,8 @@
    "no_index" : {
       "directory" : [
          "t",
-         "inc"
+         "inc",
+         "xt"
       ]
    },
    "prereqs" : {
@@ -44,32 +45,58 @@
       },
       "configure" : {
          "requires" : {
+            "Alien::Base::Wrapper" : "0",
+            "Alien::Libxml2" : "0.14",
+            "Config" : "0",
             "ExtUtils::MakeMaker" : "0"
          }
       },
       "runtime" : {
          "requires" : {
-            "Test::More" : "0",
+            "Carp" : "0",
+            "DynaLoader" : "0",
+            "Encode" : "0",
+            "Exporter" : "5.57",
+            "IO::Handle" : "0",
+            "Scalar::Util" : "0",
+            "Tie::Hash" : "0",
             "XML::NamespaceSupport" : "1.07",
             "XML::SAX" : "0.11",
             "XML::SAX::Base" : "0",
+            "XML::SAX::DocumentLocator" : "0",
             "XML::SAX::Exception" : "0",
             "base" : "0",
+            "constant" : "0",
+            "overload" : "0",
             "parent" : "0",
-            "perl" : "5.008",
+            "perl" : "5.008001",
             "strict" : "0",
             "vars" : "0",
             "warnings" : "0"
          }
+      },
+      "test" : {
+         "requires" : {
+            "Config" : "0",
+            "Errno" : "0",
+            "IO::File" : "0",
+            "IO::Handle" : "0",
+            "POSIX" : "0",
+            "Scalar::Util" : "0",
+            "Test::More" : "0",
+            "locale" : "0",
+            "utf8" : "0"
+         }
       }
    },
    "release_status" : "stable",
    "resources" : {
-      "homepage" : "https://github.com/shlomif/perl-XML-LibXML",
       "repository" : {
-         "url" : "https://github.com/shlomif/perl-XML-LibXML"
+         "type" : "git",
+         "url" : "https://github.com/shlomif/perl-XML-LibXML.git",
+         "web" : "https://github.com/shlomif/perl-XML-LibXML"
       }
    },
-   "version" : "2.0134",
-   "x_serialization_backend" : "JSON::PP version 2.97001"
+   "version" : "2.0207",
+   "x_serialization_backend" : "JSON::PP version 4.06"
 }
diff -pruN 2.0207+dfsg+really+2.0134-6/META.yml 2.0207+dfsg+really+2.0207-0ubuntu7/META.yml
--- 2.0207+dfsg+really+2.0134-6/META.yml	2019-02-10 15:02:17.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/META.yml	2021-04-17 08:15:15.000000000 +0000
@@ -1,13 +1,25 @@
 ---
 abstract: 'Interface to Gnome libxml2 xml parsing and DOM library'
 author:
-  - 'Petr Pajas'
+  - 'Petr Pajas <PAJAS@cpan.org>'
 build_requires:
+  Config: '0'
+  Errno: '0'
   ExtUtils::MakeMaker: '0'
+  IO::File: '0'
+  IO::Handle: '0'
+  POSIX: '0'
+  Scalar::Util: '0'
+  Test::More: '0'
+  locale: '0'
+  utf8: '0'
 configure_requires:
+  Alien::Base::Wrapper: '0'
+  Alien::Libxml2: '0.14'
+  Config: '0'
   ExtUtils::MakeMaker: '0'
-dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 2.150010'
+dynamic_config: 0
+generated_by: 'ExtUtils::MakeMaker version 7.60, CPAN::Meta::Converter version 2.150010'
 keywords:
   - dom
   - html
@@ -33,20 +45,29 @@ no_index:
   directory:
     - t
     - inc
+    - xt
 requires:
-  Test::More: '0'
+  Carp: '0'
+  DynaLoader: '0'
+  Encode: '0'
+  Exporter: '5.57'
+  IO::Handle: '0'
+  Scalar::Util: '0'
+  Tie::Hash: '0'
   XML::NamespaceSupport: '1.07'
   XML::SAX: '0.11'
   XML::SAX::Base: '0'
+  XML::SAX::DocumentLocator: '0'
   XML::SAX::Exception: '0'
   base: '0'
+  constant: '0'
+  overload: '0'
   parent: '0'
-  perl: '5.008'
+  perl: '5.008001'
   strict: '0'
   vars: '0'
   warnings: '0'
 resources:
-  homepage: https://github.com/shlomif/perl-XML-LibXML
-  repository: https://github.com/shlomif/perl-XML-LibXML
-version: '2.0134'
+  repository: https://github.com/shlomif/perl-XML-LibXML.git
+version: '2.0207'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -pruN 2.0207+dfsg+really+2.0134-6/Makefile.PL 2.0207+dfsg+really+2.0207-0ubuntu7/Makefile.PL
--- 2.0207+dfsg+really+2.0134-6/Makefile.PL	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/Makefile.PL	2021-04-17 08:07:35.000000000 +0000
@@ -15,797 +15,170 @@
 use strict;
 use warnings;
 
-require 5.008;
-
-use vars qw/$DEVNULL $is_Win32 $extralibdir $skipsaxinstall/;
+require 5.008001;
 
+use Alien::Base::Wrapper qw( Alien::Libxml2 );
 use ExtUtils::MakeMaker;
 use Config;
-use Symbol;
-use File::Spec;
 
-$|=0;
-my %config;
+my $SKIP_SAX_INSTALL = $ENV{SKIP_SAX_INSTALL};
 
-# -------------------------------------------------------------------------- #
-# -------------------------------------------------------------------------- #
-# common information go to the top, so they are easier to find
-# -------------------------------------------------------------------------- #
-my %INFOS = (
-    'NAME'  => 'XML::LibXML',
-    'VERSION_FROM' => 'LibXML.pm', # finds $VERSION
-    'AUTHOR'    => 'Petr Pajas',
-    'ABSTRACT'  => 'Interface to Gnome libxml2 xml parsing and DOM library',
-    'LICENSE' => 'perl',
-    (($ExtUtils::MakeMaker::VERSION >= 6.48)
-        ? (MIN_PERL_VERSION => '5.008',)
-        : ()
-    ),
-    'PREREQ_PM' => {
-        'base' => 0,
-        #'Hash::FieldHash' => '0.09',
-        'parent' => 0,
-        'strict' => 0,
-        'Test::More' => 0,
-        'vars' => 0,
-        'warnings' => 0,
-        'XML::NamespaceSupport' => '1.07',
-        'XML::SAX' => '0.11',
-        'XML::SAX::Base' => '0',
-        'XML::SAX::Exception' => '0',
-    },
-    'OBJECT'    => '$(O_FILES)', # add the DOM extensions to libxml2
-    ($ExtUtils::MakeMaker::VERSION >= 6.54)
-    ?
-    (
-        META_MERGE =>
-        {
-            resources =>
-            {
-                repository => 'https://github.com/shlomif/perl-XML-LibXML',
-                homepage => 'https://github.com/shlomif/perl-XML-LibXML',
-            },
-            keywords =>
-            [
-                "dom",
-                "html",
-                "libxml",
-                "object oriented",
-                "oop",
-                "parse",
-                "parser",
-                "parsing",
-                "pullparser",
-                "sax",
-                "sgml",
-                "xml",
-                "xpath",
-                "XPath",
-                "xs",
-            ],
-        },
-    )
-    : (),
+my %ConfigReqs = (
+  "Alien::Libxml2" => '0.14',
+  "Alien::Base::Wrapper" => 0,
+  "Config" => 0,
+  "ExtUtils::MakeMaker" => 0,
+);
+my %DevReqs = (
+  'Test::CPAN::Changes' => 0,
+  'Test::Kwalitee' => 0,
+  'Test::Pod' => 0,
+  'Test::TrailingSpace' => 0,
+);
+my %TestReqs = (
+  "Config" => 0,
+  "Errno" => 0,
+  "IO::File" => 0,
+  "IO::Handle" => 0,
+  "POSIX" => 0,
+  "Scalar::Util" => 0,
+  "Test::More" => 0,
+  "locale" => 0,
+  "utf8" => 0,
+);
+my %prereqs = (
+  "Carp" => 0,
+  "DynaLoader" => 0,
+  "Encode" => 0, # actually used in one module. requires Perl 5.8+
+  "Exporter" => "5.57",
+  'IO::Handle' => 0,
+  'Scalar::Util' => 0,
+  'Tie::Hash' => 0,
+  'XML::NamespaceSupport' => '1.07',
+  'XML::SAX' => '0.11',
+  'XML::SAX::Base' => '0',
+  'XML::SAX::DocumentLocator' => '0',
+  'XML::SAX::Exception' => '0',
+  "base" => 0,
+  "constant" => 0,
+  "overload" => 0,
+  "parent" => 0,
+  "strict" => 0,
+  "vars" => 0,
+  "warnings" => 0,
 );
-# -------------------------------------------------------------------------- #
-# -------------------------------------------------------------------------- #
-
-use lib qw(inc);
-use Devel::CheckLib;
-
-# Prompt the user here for any paths and other configuration
-
-
-# -------------------------------------------------------------------------- #
-# libxml2 valid versions
-
-# -------------------------------------------------------------------------- #
-
-# -------------------------------------------------------------------------- #
-# read extra configurations from the commandline
-my %params;
-@params{qw(FORCE DEBUG DEFINE EXTRALIBDIR GDOME INC LIBS SKIP_SAX_INSTALL XMLPREFIX NO_THREADS LDFLAGS)}=();
-
-@ARGV = grep {
-  my ($key, $val) = split(/=/, $_, 2);
-  if (exists $params{$key}) {
-    $config{$key} = $val; 0
-  } else { 1 }
-} @ARGV;
-
-$extralibdir = $config{EXTRALIBDIR};
-delete $config{EXTRALIBDIR};
-
-# -------------------------------------------------------------------------- #
-
-# -------------------------------------------------------------------------- #
-# force unsupported version
-my $FORCE = delete $config{FORCE};
-
-# switch Debugging messages on
-my $DEBUG = delete $config{DEBUG};
-
-if ( $config{DEBUG} and $is_Win32 ) {
-    warn "win32 compile\n";
-}
-# -------------------------------------------------------------------------- #
-
-# -------------------------------------------------------------------------- #
-# enable perls UTF8 support if available
-if ( $] >= 5.006 ) {
-    warn "enable native perl UTF8\n";
-    $config{DEFINE} .= " -DHAVE_UTF8";
-}
-if ( $] < 5.008 or $config{NO_THREADS} ) {
-  warn "disabling XML::LibXML support for Perl threads\n";
-  $config{DEFINE} .= " -DNO_XML_LIBXML_THREADS";
-}
-delete $config{NO_THREADS};
-# -------------------------------------------------------------------------- #
-
-# -------------------------------------------------------------------------- #
-# get the libxml2 configuration
-#
-# For each release we already know which libxml2 versions work with the given
-# module. All we need is to keep track of bad versions.
-# If a user wants to build XML::LibXML with a newer version, there will be
-# a warning, that errors are possible.
-#
-# We keep track of the valid versions by keeping a blacklist of intervals
-# of working and not working versions where Ma.Mi.Pt <= X.Y.Z is of the same
-# state.
-#
-# NOTE: All versions, the tests pass will be marked as working.
-#
-
-$skipsaxinstall = $ENV{SKIP_SAX_INSTALL} || $config{SKIP_SAX_INSTALL};
-delete $config{SKIP_SAX_INSTALL};
-
-unless ( $is_Win32 ) { # cannot get config in W32
-    my @blacklist = (
-                     # format X,Y,Z,is_ok, X,Y,Z is version,
-                     # is_ok applies also to *preceding* versions
-                     [2,4,22,0],
-                     [2,4,25,0], # broken XPath
-                     [2,4,28,0], # unsupported, may work fine with earlier XML::LibXML versions
-                     [2,4,29,0], # broken
-                     [2,4,30,0], # broken
-                     [2,5,0,0], # unsupported
-                     [2,5,1,0], # all pre 2.5.4 version have broken attr output
-                     [2,5,5,0], # tests pass, but known as broken
-                     [2,5,11,0], # will partially work
-                     [2,6,0,0], # unsupported
-                     [2,6,4,0], # schema error
-                     [2,6,5,0], # broken xincludes
-                     [2,6,15,0],
-                   # [2,6,16,1], # first version to pass all tests
-                     [2,6,18,1], # up to 2.6.18 all ok
-                     [2,6,19,0], # broken c14n
-                     [2,6,20,0], # broken schemas
-                     [2,6,24,1], # all tests pass
-                     [2,6,25,0], # broken XPath
-                     [2,6,32,1], # tested, works ok
-                     [2,7,1,0], # broken release, broken utf-16
-                     [2,7,6,1], # tested, ok
-                     [2,7,8,1], # tested, ok
-                     [2,9,3,1], # schema regression
-                     [2,9,4,0], # schema regression
-                     [2,9,9,1],
-                    );
-    my $xml2cfg = "xml2-config";
-    my $libprefix = $ENV{XMLPREFIX} || $config{XMLPREFIX};
-
-    delete $config{XMLPREFIX}; # delete if exists, otherwise MakeMaker gets confused
-
-    if ( defined $libprefix ) {
-        $xml2cfg = $libprefix . '/bin/' . $xml2cfg;
-    }
-
-    # if a user defined INC and LIBS on the command line we must not
-    # override them
-    if ( not defined $config{LIBS} and not defined $config{INC} ) {
-        print "running xml2-config...";
-        eval {
-            try_libconfig( $xml2cfg, \%config, \@blacklist );
-        };
-
-        if ( $@ ) {
-            if ( $@ =~ /^VERSION|^FORCED/ ) {
-                my $libxml2_version;
-                print STDERR "The installed version of libxml2 $@ is not compatible with XML::LibXML (and probably buggy)!\n\n".
-                    "You may continue at your own risk using 'perl Makefile.PL FORCE=1', but:\n\n".
-                    "  - don't expect XML::LibXML to build or work correctly!\n".
-                    "  - don't report errors!\n".
-                    "  - don't send patches!\n\n".
-                    "Check the README file for more information on versions\n".
-                    "that are tested with XML::LibXML\n\n";
-                if ($@ =~ /^VERSION (\S+)/) {
-                    $libxml2_version = $1;
-                }
-                # 0 recommended by http://cpantest.grango.org (Notes for CPAN Authors)
-                exit 0 if !$FORCE and $libxml2_version ne "2.9.4";
-            }
-            if ( $@ =~ /^UNTESTED (\S*)/ ) {
-                warn "Note: libxml2 $1 was not tested with this XML::LibXML version.\n"
-#                 warn <<"UNTESTED";
-# WARNING!
-# The installed version of libxml2 was not tested with this version of XML::LibXML.
-
-#     XML::LibXML may fail building or some tests may not pass.
-#     Expect strange errors and unstable scripts.
-
-#     Check the README file for more informations
-# END OF WARNING
-# UNTESTED
-            }
-
-            if ( not defined $config{LIBS} and not defined $config{INC} ) {
-                warn "didn't manage to get libxml2 config, guessing\n";
-                $config{LIBS} = '-L/usr/local/lib -L/usr/lib -lxml2 -lm';
-                $config{INC} = '-I/usr/local/include -I/usr/include';
-                print <<"OPT";
-options:
-  LIBS='$config{LIBS}'
-  INC='$config{INC}'
-If this is wrong, Re-run as:
-  \$ $^X Makefile.PL LIBS='-L/path/to/lib' INC='-I/path/to/include'
-
-OPT
-            }
-        }
-    }
-}
-
-# -------------------------------------------------------------------------- #
-
-# -------------------------------------------------------------------------- #
-# GDOME Support
-#
-# GDOME Support has to get explicitly activated by setting GDOME=1 as a config param.
-#
-unless ( $is_Win32 ) { # cannot get config in W32
-    if ( $config{GDOME} ) {
-        my $ver;
-        my $state = undef; # there are three possible states:
-                           # 1     : works
-                           # 0     : works not
-                           # undef : not yet tested
-        my @blacklist = (
-                         [0,7,2,0],
-                         [0,7,3,1],
-                        );
-        print <<"GDOME";
-
-GDOME Support (experimental):
-   XML::LibXML can parse into XML::GDOME DOMs if libgdome is installed.
-   This feature is optional and is not required for using XML::LibXML.
-
-GDOME
-
-        print "running gdome-config...";
-
-        eval {
-            test_libconfig( "gdome-config", \%config, @blacklist );
-            print "NOTE: You will need to install XML::GDOME to use this feature\n";
-        };
-
-        if ( $@ ) {
-            if ( $@ =~ /^VERSION/ ) {
-                warn "The installed libgdome version is not supported\n";
-            }
-            elsif ( $@ =~ /^UNTESTED/ ) {
-                warn "The installed libgdome version was not yet tested with XML::LibXML.\n";
-                print "NOTE: You will need to install XML::GDOME to use this feature\n";
-            }
-        }
-    }
-}
-# -------------------------------------------------------------------------- #
 
+my %xsbuild = (
+  DEFINE  => '-DHAVE_UTF8',
+  OBJECT  => '$(O_FILES)',
+  Alien::Base::Wrapper->mm_args,
+);
 
-my $config_LIBS_alternatives;
-# -------------------------------------------------------------------------- #
-# fix the ld flags
-# -------------------------------------------------------------------------- #
-if (!defined $config{LIBS} || $config{LIBS} !~ /\-l(?:lib)?xml2\b/) {
-    # in this case we are not able to run xml2-config. therefore we need to
-    # expand the libz as well.
-    if ($is_Win32) {
-        if( $ENV{ACTIVEPERL_MINGW} ) {
-            $config{LIBS} .= ' -llibxml2.lib -lzlib.lib';
-        }
-        else {
-            my $l = $config{LIBS};
-
-            if (!defined($l)) {
-                $l = '';
-            }
-
-            # Put several options.
-            $config_LIBS_alternatives = [
-                map { "$l $_" }
-                q/ -llibxml2/,
-                q/ -lxml2 -lzlib/,
-                q/ -llibxml2 -lzlib -llibgettextlib.dll/
-            ];
-            $config{LIBS} = $config_LIBS_alternatives->[-1];
-            $config{INC} .= " -I$Config{incpath}";
-        }
-    }
-    else {
-        $config{LIBS} .= ' -lxml2 -lz -lm';
-    }
-}
-elsif ($config{LIBS} !~ /\-lz\b/ and !($is_Win32 && $config{LIBS} !~ /\-lzlib\b/)) {
-    # note if libxml2 has not -lz within its cflags, we should not use
-    # it! We should trust libxml2 and assume libz is not available on the
-    # current system (this is ofcourse not true with win32 systems.
-    # $config{LIBS} .= $is_Win32 ? ' -lzlib' :' -lz';
-    if ( $config{DEBUG} ) {
-        warn "zlib was not configured\n";
-        warn "set zlib\n" if $is_Win32;
-    }
-  if ($is_Win32) {
-    if( $ENV{ACTIVEPERL_MINGW} ) {
-      $config{LIBS} .= ' -lzlib.lib';
-    } else {
-      $config{LIBS} .= ' -lzlib';
-    }
-  } else {
-    $config{LIBS} .= ' -lz';
+my %WriteMakefileArgs = (
+  "NAME" => "XML::LibXML",
+  "DISTNAME" => "XML-LibXML",
+  "LICENSE" => "perl_5",
+  "ABSTRACT" => "Interface to Gnome libxml2 xml parsing and DOM library",
+  "AUTHOR" => "Petr Pajas <PAJAS\@cpan.org>",
+  "MIN_PERL_VERSION" => '5.008001',
+  "VERSION_FROM" => "LibXML.pm",
+  'META_MERGE' => {
+    'dynamic_config' => 0,
+    'meta-spec' => {version => 2},
+    'no_index' => {directory => ['xt']},
+    'resources' => {
+      repository => {
+        type => 'git',
+        url  => 'https://github.com/shlomif/perl-XML-LibXML.git',
+        web  => 'https://github.com/shlomif/perl-XML-LibXML',
+      },
+    },
+    'keywords' => [
+      "dom",
+      "html",
+      "libxml",
+      "object oriented",
+      "oop",
+      "parse",
+      "parser",
+      "parsing",
+      "pullparser",
+      "sax",
+      "sgml",
+      "xml",
+      "xpath",
+      "XPath",
+      "xs",
+    ],
+  },
+  "CONFIGURE_REQUIRES" => \%ConfigReqs,
+  "TEST_REQUIRES" => \%TestReqs,
+  "PREREQ_PM" => \%prereqs,
+  "test" => {
+    "TESTS" => "t/*.t"
   }
-}
+);
 
-# -------------------------------------------------------------------------- #
-# MacOS X Compiler switches have to go here
-#
-# if we run on MacOSX, we should check if 10.2 is running and if so,
-# if the Build Target is set correctly. Otherwise we have to set it by
-# hand
-
-my $ldflags = delete $config{LDFLAGS};
-if ($ldflags) {
-    $config{dynamic_lib} = { OTHERLDFLAGS => " $ldflags " };
+%WriteMakefileArgs = (
+    %WriteMakefileArgs,
+    %xsbuild,
+);
+unless ( eval { ExtUtils::MakeMaker->VERSION('6.63_03') } ) {
+    my %fallback = (%prereqs, %TestReqs);
+    delete $WriteMakefileArgs{TEST_REQUIRES};
+    $WriteMakefileArgs{PREREQ_PM} = \%fallback;
 }
 
-my $incpath = $config{INC} || "";
-$incpath =~ s#(\A|\s)\s*-I#$1#g;
+delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
+  unless eval { ExtUtils::MakeMaker->VERSION('6.52') };
 
-sub _libxml_check_lib_with_config_LIBs
-{
-    my ($lib_name, $conf_LIBS) = @_;
-
-    return
-    check_lib(
-        debug => $DEBUG,
-        LIBS => $conf_LIBS,
-        # fill in what you prompted the user for here
-        lib => [$lib_name],
-        incpath => [split(/\s/,$incpath)],
-        header =>
-        [
-            'libxml/c14n.h',
-            'libxml/catalog.h',
-            'libxml/entities.h',
-            'libxml/globals.h',
-            'libxml/HTMLparser.h',
-            'libxml/HTMLtree.h',
-            'libxml/parser.h',
-            'libxml/parserInternals.h',
-            'libxml/pattern.h',
-            'libxml/relaxng.h',
-            'libxml/tree.h',
-            'libxml/uri.h',
-            'libxml/valid.h',
-            'libxml/xinclude.h',
-            'libxml/xmlerror.h',
-            'libxml/xmlIO.h',
-            'libxml/xmlmemory.h',
-            'libxml/xmlreader.h',
-            'libxml/xmlregexp.h',
-            'libxml/xmlschemas.h',
-            'libxml/xmlversion.h',
-            'libxml/xpath.h',
-            'libxml/xpathInternals.h',
-        ],
-    );
-}
+delete $WriteMakefileArgs{MIN_PERL_VERSION}
+  unless eval { ExtUtils::MakeMaker->VERSION('6.48') };
 
-sub _libxml_check_lib {
-    my ($libname) = @_;
+delete $WriteMakefileArgs{META_MERGE}
+  unless eval { ExtUtils::MakeMaker->VERSION('6.46') };
 
-    if (defined($config_LIBS_alternatives)) {
-        foreach my $conf_LIBS (@$config_LIBS_alternatives) {
-            if (_libxml_check_lib_with_config_LIBs($libname, $conf_LIBS)) {
-                $config{LIBS} = $conf_LIBS;
-                return 1;
-            }
-        }
-    }
-    else {
-        return _libxml_check_lib_with_config_LIBs($libname, $config{LIBS});
-    }
-}
+delete $WriteMakefileArgs{LICENSE}
+  unless eval { ExtUtils::MakeMaker->VERSION('6.31') };
 
-print "Checking for ability to link against xml2...";
-if ( _libxml_check_lib('xml2') ) {
-    print "yes\n";
-}
-else {
-    print "no\n";
-    print "Checking for ability to link against libxml2...";
-    if ( _libxml_check_lib('libxml2')) {
-        print "yes\n";
-    }
-    else {
-        print STDERR <<"DEATH";
-libxml2, zlib, and/or the Math library (-lm) have not been found.
-Try setting LIBS and INC values on the command line
-Or get libxml2 from
-  http://xmlsoft.org/
-If you install via RPMs, make sure you also install the -devel
-RPMs, as this is where the headers (.h files) are.
-
-Also, you may try to run perl Makefile.PL with the DEBUG=1 parameter
-to see the exact reason why the detection of libxml2 installation
-failed or why Makefile.PL was not able to compile a test program.
-DEATH
-        exit 0; # 0 recommended by http://cpantest.grango.org (Notes for CPAN Authors)
-    }
-}
+WriteMakefile(%WriteMakefileArgs);
 
-# -------------------------------------------------------------------------- #
-# _NOW_ write the Makefile
+# append the install method to include the SAX parser INI file changes
+sub MY::install {
+   package MY;
+   my $script = shift->SUPER::install(@_);
+   if ( $SKIP_SAX_INSTALL ) {
+       warn "Note: 'make install' will skip XML::LibXML::SAX registration with XML::SAX!\n";
+   }
+   else {
+       $script =~ s/install :: (.*)$/install :: $1 install_sax_driver/m;
+       $script .= <<"INSTALL";
 
-WriteMakefile(
-              %INFOS,
-              %config,
-);
-# -------------------------------------------------------------------------- #
+install_sax_driver :
+\t-\@\$(PERL) -I\$(INSTALLSITELIB) -I\$(INSTALLSITEARCH) -MXML::SAX -e "XML::SAX->add_parser(q(XML::LibXML::SAX::Parser))->save_parsers()"
+\t-\@\$(PERL) -I\$(INSTALLSITELIB) -I\$(INSTALLSITEARCH) -MXML::SAX -e "XML::SAX->add_parser(q(XML::LibXML::SAX))->save_parsers()"
 
+INSTALL
+   }
+   return $script;
+}
 
-# -------------------------------------------------------------------------- #
 # helper functions to build the Makefile
 sub MY::manifypods {
-    package MY;
-    my $str = shift->SUPER::manifypods(@_);
-#    warn $str;
-#    $str =~ s/^manifypods : pure_all (.*)$/manifypods : pure_all docs $1/m;
-    $str .= <<"EOF";
-
+  package MY;
+  my $str = shift->SUPER::manifypods(@_);
+#   warn $str;
+#   $str =~ s/^manifypods : pure_all (.*)$/manifypods : pure_all docs $1/m;
+  $str .= <<"EOF";
 docs-fast :
 \t\@$^X -pi~ -e 's{<edition>[0-9.]*</edition>}{<edition>'"\$(VERSION)"'</edition>}' docs/libxml.dbk
 \t\@$^X -Iblib/arch -Iblib/lib example/xmllibxmldocs.pl docs/libxml.dbk lib/XML/LibXML/
-
 docs : pure_all
 \t\@$^X -pi~ -e 's{<edition>[0-9.]*</edition>}{<edition>'"\$(VERSION)"'</edition>}' docs/libxml.dbk
 \t\@$^X -Iblib/arch -Iblib/lib example/xmllibxmldocs.pl docs/libxml.dbk lib/XML/LibXML/
 \t\@$^X -pi.old -e 's/a/a/' Makefile.PL
 \t\@echo "==> YOU MUST NOW RE-RUN $^X Makefile.PL <=="
 \t\@false
-
 EOF
-    return $str;
-}
-
-sub MY::install {
-   package MY;
-   my $script = shift->SUPER::install(@_);
-   unless ( $::skipsaxinstall ) {
-     $script =~ s/install :: (.*)$/install :: $1 install_sax_driver/m;
-     $script .= <<"INSTALL";
-
-install_sax_driver :
-\t-\@\$(PERL) -I\$(INSTALLSITELIB) -I\$(INSTALLSITEARCH) -MXML::SAX -e "XML::SAX->add_parser(q(XML::LibXML::SAX::Parser))->save_parsers()"
-\t-\@\$(PERL) -I\$(INSTALLSITELIB) -I\$(INSTALLSITEARCH) -MXML::SAX -e "XML::SAX->add_parser(q(XML::LibXML::SAX))->save_parsers()"
-
-INSTALL
-   } else {
-     warn "Note: 'make install' will skip XML::LibXML::SAX registration with XML::SAX!\n";
-   }
-   return $script;
-}
-
-sub MY::test {
-   package MY;
-   my $script = shift->SUPER::test(@_);
-   if ( $::extralibdir ) {
-      $script =~ s/(\$\(TEST_VERBOSE\),)/$1 \'$::extralibdir\',/m;
-   }
-   return $script;
-}
-
-# echo perl -pi~ -e '$$_=q($(version))."\n" if /#\ VERSION TEMPLATE/ ' $(TO_INST_PM)
-sub MY::postamble {
-    my $mpl_args = join " ", map qq["$_"], @ARGV;
-
-    my $CC =
-    (
-        exists($ENV{CC})
-            ? "CC = $ENV{CC}"
-            : ''
-    );
-
-  my $ret = "$CC\n" . <<'MAKE_FRAG';
-
-# emacs flymake-mode
-check-syntax :
-	test -n "$(CHK_SOURCES)" && \
-	$(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) -o /dev/null -S $(CHK_SOURCES)
-
-# used to update version numbers in all modules
-version:
-	@version=`grep '\# VERSION TEMPLATE' $(VERSION_FROM)`; \
-	echo "New version line: $$version"; \
-	perl -pi~ -e '$$_=q('"$$version"')."\n" if /#\ VERSION TEMPLATE/ ' $(TO_INST_PM);
-
-runtest: pure_all
-	$(ABSPERLRUN) -MFile::Spec -MTest::Run::CmdLine::Iface -e \
-        "local @INC = @INC;	unshift @INC, map { File::Spec->rel2abs(\$$_) } ('$(INST_LIB)', '$(INST_ARCHLIB)'); Test::Run::CmdLine::Iface->new({test_files => [glob(q{t/*.t})]})->run();"
-
-distruntest: distdir
-	cd $(DISTVNAME) && $(ABSPERLRUN) Makefile.PL {#mpl_args#}
-	cd $(DISTVNAME) && $(MAKE) $(PASTHRU)
-	cd $(DISTVNAME) && $(MAKE) runtest $(PASTHRU)
-
-MAKE_FRAG
-
-    $ret =~ s/{#mpl_args#}/$mpl_args/;
-
-    return $ret;
-}
-
-
-# -------------------------------------------------------------------------- #
-
-# -------------------------------------------------------------------------- #
-# Functions
-#  - these should really be in MakeMaker... But &shrug;
-# -------------------------------------------------------------------------- #
-
-use Config;
-use Cwd;
-use Symbol;
-use File::Spec;
-
-
-BEGIN {
-    $is_Win32 = ($^O =~ /Win32/);
-    if ($is_Win32) {
-        $DEVNULL = 'DEVNULL';
-    }
-    else {
-        $DEVNULL = eval { File::Spec->devnull };
-        if ($@) { $DEVNULL = '/dev/null' }
-    }
-}
-
-sub rm_f {
-    my @files = @_;
-    my @realfiles;
-    foreach (@files) {
-        push @realfiles, glob($_);
-    }
-    if (@realfiles) {
-        chmod(0777, @realfiles);
-        unlink(@realfiles);
-    }
-}
-
-sub rm_fr {
-    my @files = @_;
-    my @realfiles;
-    foreach (@files) {
-        push @realfiles, glob($_);
-    }
-    foreach my $file (@realfiles) {
-        if (-d $file) {
-            # warn("$file is a directory\n");
-            rm_fr("$file/*");
-            rm_fr("$file/.exists");
-            rmdir($file) || die "Couldn't remove $file: $!";
-        }
-        else {
-            # warn("removing $file\n");
-            chmod(0777, $file);
-            unlink($file);
-        }
-    }
-}
-
-sub xsystem {
-    my $command_aref = shift;
-    if ($DEBUG) {
-        print "@$command_aref\n";
-        if ((system { $command_aref->[0] } @$command_aref) != 0) {
-            die "system call to '@$command_aref' failed";
-        }
-        return 1;
-    }
-    open(OLDOUT, ">&STDOUT");
-    open(OLDERR, ">&STDERR");
-    open(STDOUT, ">$DEVNULL");
-    open(STDERR, ">$DEVNULL");
-    my $retval = (system { $command_aref->[0] } @$command_aref);
-    open(STDOUT, ">&OLDOUT");
-    open(STDERR, ">&OLDERR");
-    if ($retval != 0) {
-        die "system call to '@$command_aref' failed";
-    }
-    return 1;
-}
-
-sub backtick {
-    my $command = shift;
-    if ($DEBUG) {
-        print $command, "\n";
-        my $results = `$command`;
-        chomp $results;
-        if ($? != 0) {
-            die "backticks call to '$command' failed";
-        }
-        return $results;
-    }
-    open(OLDOUT, ">&STDOUT");
-    open(OLDERR, ">&STDERR");
-    open(STDOUT, ">$DEVNULL");
-    open(STDERR, ">$DEVNULL");
-    my $results = `$command`;
-    my $retval = $?;
-    open(STDOUT, ">&OLDOUT");
-    open(STDERR, ">&OLDERR");
-    if ($retval != 0) {
-        die "backticks call to '$command' failed";
-    }
-    chomp $results;
-    return $results;
-}
-
-sub try_link0 {
-    my ($src, $opt) = @_;
-    # local $config{LIBS};
-    # $config{LIBS} .= $opt;
-    unless (mkdir(".testlink", 0777)) {
-        rm_fr(".testlink");
-        mkdir(".testlink", 0777) || die "Cannot create .testlink dir: $!";
-    }
-    chdir(".testlink");
-    {
-        open(my $cfile, '>', 'Conftest.xs')
-            or die "Cannot write to file Conftest.xs: $!";
-        print {$cfile} <<"EOT";
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <EXTERN.h>
-#include <perl.h>
-#include <XSUB.h>
-#ifdef __cplusplus
-}
-#endif
-
-EOT
-        print {$cfile} $src;
-        print {$cfile} <<"EOT";
-
-MODULE = Conftest          PACKAGE = Conftest
-
-PROTOTYPES: DISABLE
-
-EOT
-        close($cfile);
-    }
-    {
-        open(my $cfile, '>', 'Conftest.pm')
-            or die "Cannot write to file Conftest.pm: $!";
-        print {$cfile} <<'EOT';
-package Conftest;
-$VERSION = 1.0;
-require DynaLoader;
-@ISA = ('DynaLoader');
-bootstrap Conftest $VERSION;
-1;
-EOT
-        close($cfile);
-    }
-    {
-        open (my $cfile, '>', 'Makefile.PL')
-            or die "Cannot write to file Makefile.PL: $!";
-        print {$cfile} <<'EOT';
-use ExtUtils::MakeMaker;
-my %config;
-while($_ = shift @ARGV) {
-    my ($k, $v) = split /=/, $_, 2;
-    warn("$k = $v\n");
-    $config{$k} = $v;
-}
-WriteMakefile(NAME => "Conftest", VERSION_FROM => "Conftest.pm", %config);
-EOT
-        close($cfile);
-    }
-    {
-        open(my $cfile, ">test.pl")
-            or die "Cannot write to file test.pl: $!";
-        print {$cfile} <<"EOT";
-use Test; BEGIN { plan tests => 1; } END { ok(\$loaded) }
-use Conftest; \$loaded++;
-EOT
-        close($cfile);
-    }
-    my $quote = $is_Win32 ? '"' : "'";
-    xsystem([$^X, 'Makefile.PL',
-        (map { "$_=$config{$_}" } keys %config),
-        ]
-    );
-
-    my $def_opt = defined($opt) ? $opt : '';
-    # I am not sure if OTHERLDFLAGS is really required - at least the
-    # libraries to include do not belong here!
-    # I would assume a user to set OTHERLDFLAGS in the %config if they are
-    # really required. if done so, we don't have to pass them here ...
-    xsystem([$Config{make}, 'test', "OTHERLDFLAGS=${def_opt}"]);
-} # end try_link0
-
-sub try_link {
-    my $start_dir = cwd();
-    my $result = eval {
-        try_link0(@_);
-    };
-    warn $@ if $@;
-    chdir($start_dir);
-    rm_fr(".testlink");
-    return $result;
-}
-
-# -------------------------------------------------------------------------- #
-# try_libconfig class a generic config file and requests --version, --libs and
-# --cflags
-sub try_libconfig {
-    my $cfgscript = shift;
-    my $config = shift;
-    my $bl = shift;
-
-    my $state = undef; # there are three possible states:
-                       # 1     : works
-                       # 0     : works not
-                       # undef : not yet tested
-
-    my $ver = backtick("$cfgscript --version");
-    if ( defined $ver ) {
-        my ( $major, $minor, $point) = $ver =~ /([0-9]+).([0-9]+)\.([0-9]+)/g;
-        foreach my $i ( @$bl ) {
-            $state = $i->[3];
-            last if $major <  $i->[0];
-            next if $major >  $i->[0];
-            last if $minor <  $i->[1];
-            next if $minor >  $i->[1];
-            last if $point <= $i->[2];
-            $state = undef;
-        }
-
-        $config->{LIBS} = backtick("$cfgscript --libs");
-        $config->{INC}  = backtick("$cfgscript --cflags");
-
-        if ( defined $state and $state == 0 ) {
-            print "failed\n";
-            if ($FORCE) {
-                die "FORCED $ver\n";
-            }
-            else {
-              die "VERSION $ver\n";
-            }
-        }
-
-        unless ( defined $state ) {
-            print "untested\n";
-            die "UNTESTED $ver\n";
-        }
-
-        print "ok ($ver)\n";
-    }
-    else {
-        print "failed\n";
-        die "FAILED\n"; # strange error
-    }
+  return $str;
 }
-# -------------------------------------------------------------------------- #
diff -pruN 2.0207+dfsg+really+2.0134-6/README 2.0207+dfsg+really+2.0207-0ubuntu7/README
--- 2.0207+dfsg+really+2.0134-6/README	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/README	2021-04-17 08:07:35.000000000 +0000
@@ -3,8 +3,8 @@ INTRODUCTION
 
 This module implements a Perl interface to the Gnome libxml2 library which
 provides interfaces for parsing and manipulating XML files. This module allows
-Perl programmers to make use of the highly capable validating XML parser and
-the high performance DOM implementation.
+Perl programmers to make use of its highly capable validating XML parser and
+its high performance DOM implementation.
 
 
 IMPORTANT NOTES
@@ -104,7 +104,8 @@ Which version of libxml2 should be used?
 XML::LibXML is tested against a couple versions of libxml2 before it is
 released. Thus there are versions of libxml2 that are known not to work
 properly with XML::LibXML. The Makefile.PL keeps a blacklist of the
-incompatible libxml2 versions.
+incompatible libxml2 versions using Alien::Libxml2. The blacklist itself is
+kept inside its "alienfile" file.
 
 If Makefile.PL detects one of the incompatible versions, it notifies the user.
 It may still happen that XML::LibXML builds and pass its tests with such a
@@ -122,6 +123,9 @@ certain conditions. This is no reason to
 problems. If Makefile.PL marks a version of libxml2 as incompatible or broken
 it is done for a good reason.
 
+Full linking information for libxml2 can be obtained by invoking "xml2-config
+--libs".
+
 
 Notes for Microsoft Windows
 ===========================
@@ -175,10 +179,10 @@ incompatible) versions of those DLLs.
 Notes for Mac OS X
 ==================
 
-Due refactoring the module, XML::LibXML will not run with some earlier versions
-of Mac OS X. It appears that this is related to special linker options for that
-OS prior to version 10.2.2. Since the developers do not have full access to
-this OS, help/ patches from OS X gurus are highly appreciated.
+Due to a refactoring of the module, XML::LibXML will not run with some earlier
+versions of Mac OS X. It appears that this is related to special linker options
+for that OS prior to version 10.2.2. Since the developers do not have full
+access to this OS, help/ patches from OS X gurus are highly appreciated.
 
 It is confirmed that XML::LibXML builds and runs without problems since Mac OS
 X 10.2.6.
@@ -228,12 +232,12 @@ Additionally I received the following No
 CONTACT
 =======
 
-For bug reports, please use the CPAN request tracker on
-http://rt.cpan.org/NoAuth/Bugs.html?Dist=XML-LibXML
+For bug reports, please use the issue tracker at
+https://github.com/shlomif/perl-XML-LibXML/issues .
 
-For suggestions etc. you may contact the maintainer directly at "pajas at ufal
-dot mff dot cuni dot cz", but in general, it is recommended to use the mailing
-list given below.
+For suggestions etc. you may contact the maintainer directly at
+https://www.shlomifish.org/me/contact-me/ , but in general, it is recommended
+to use the mailing list given below.
 
 For suggestions etc., and other issues related to XML::LibXML you may use the
 perl XML mailing list (perl-xml@listserv.ActiveState.com), where most
diff -pruN 2.0207+dfsg+really+2.0134-6/debian/changelog 2.0207+dfsg+really+2.0207-0ubuntu7/debian/changelog
--- 2.0207+dfsg+really+2.0134-6/debian/changelog	2025-08-15 00:43:46.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/debian/changelog	2025-10-25 03:27:29.000000000 +0000
@@ -1,63 +1,47 @@
-libxml-libxml-perl (2.0207+dfsg+really+2.0134-6) unstable; urgency=medium
+libxml-libxml-perl (2.0207+dfsg+really+2.0207-0ubuntu7) resolute; urgency=medium
 
-  * Backport two patches from Ubuntu (87.diff, libxml2.14-disable-
-    tests.diff) for compatibility with libxml 2.14.x. (Closes: #1106827)
-  * Generate package name for libxml2* dependencies during build.
-  * Declare compliance with Debian Policy 4.7.2.
-  * Remove Rules-Requires-Root: no.
-  * Update years of packaging copyright.
+  * No-change rebuild for libxml2 upper version limit.
 
- -- gregor herrmann <gregoa@debian.org>  Fri, 15 Aug 2025 02:43:46 +0200
+ -- Matthias Klose <doko@ubuntu.com>  Sat, 25 Oct 2025 05:27:29 +0200
 
-libxml-libxml-perl (2.0207+dfsg+really+2.0134-5) unstable; urgency=medium
+libxml-libxml-perl (2.0207+dfsg+really+2.0207-0ubuntu6) questing; urgency=medium
 
-  * Change calculation of libxml2 dependencies if libxml2-dev contains
-    "+really".
-    We can't use the realy library version (2.9) as found via pkg-config with
-    a synthetic package version (2.12.7+dfsg+really2.9.14-0.1).
-    Thanks to Sebastian Ramacher for the bug report. (Closes: #1082828)
+  * Cherry-pick upstream commit to fix autopkgtest regression and
+    FTBFS with perl 5.40.1-6 on s390x
 
- -- gregor herrmann <gregoa@debian.org>  Fri, 27 Sep 2024 14:20:26 +0200
+ -- Graham Inggs <ginggs@ubuntu.com>  Fri, 01 Aug 2025 20:21:07 +0000
 
-libxml-libxml-perl (2.0207+dfsg+really+2.0134-4) unstable; urgency=medium
+libxml-libxml-perl (2.0207+dfsg+really+2.0207-0ubuntu5) questing; urgency=medium
 
-  * Add patch from upstream Git to fix failures with GCC-14.
-    (Closes: #1075219)
+  * Apply https://github.com/shlomif/perl-XML-LibXML/pull/87.
+  * Re-enable all tests, disabled in previous upload, except for:
+    - t/19die_on_invalid_utf8_rt_58848.t
+    - t/35huge_mode.t
+    - t/49_load_html.t 
 
- -- gregor herrmann <gregoa@debian.org>  Sun, 07 Jul 2024 23:14:44 +0200
+ -- Matthias Klose <doko@ubuntu.com>  Mon, 09 Jun 2025 11:35:56 +0200
 
-libxml-libxml-perl (2.0207+dfsg+really+2.0134-3.1) unstable; urgency=medium
+libxml-libxml-perl (2.0207+dfsg+really+2.0207-0ubuntu4) questing; urgency=medium
 
-  * Non-maintainer upload acked by gregor herrmann.
-  * Attempt to fix FTBFS #1072012 via importing upstream commit
-    5a6c6afdf1d87cb13699064647cfb24cc9131fe5 as
-    patches/0001-initialize-xmlValidCtxt.patch.
+  * Stop ignoring test results.
+  * Don't run tests failing with libxml 2.14.x.
 
- -- Helmut Grohne <helmut@subdivi.de>  Thu, 06 Jun 2024 14:28:34 +0200
+ -- Matthias Klose <doko@ubuntu.com>  Sat, 31 May 2025 16:26:51 +0200
 
-libxml-libxml-perl (2.0207+dfsg+really+2.0134-3) unstable; urgency=medium
+libxml-libxml-perl (2.0207+dfsg+really+2.0207-0ubuntu3) questing; urgency=medium
 
-  * Calculate libxml2 dependencies during build.
-    libxml2 issues warnings when the minor version is different at build and
-    runtime. Ensure that we have the same minor version at runtime, and
-    trigger a rebuild once it changes. Cf. #1072012
-    Thanks to Niko Tyni for the proposal.
+  * Build for questing.
 
- -- gregor herrmann <gregoa@debian.org>  Fri, 31 May 2024 20:21:00 +0200
+ -- Matthias Klose <doko@ubuntu.com>  Tue, 20 May 2025 11:59:35 +0200
 
-libxml-libxml-perl (2.0207+dfsg+really+2.0134-2) unstable; urgency=medium
+libxml-libxml-perl (2.0207+dfsg+really+2.0207-0ubuntu2) plucky; urgency=medium
 
-  * Add patch from upstream Git repo (and 2.0209 release) to fix a test
-    failure with libxml2 >= 2.11.
-    Thanks to Aron Xu for the bug report. (Closes: #1072012)
-  * Refresh lintian overrides (formatting),
-  * Update years of packaging copyright.
-  * debian/control: replace pkg-config with pkgconf.
-  * Declare compliance with Debian Policy 4.7.0.
+  * Package as 2.0207+dfsg.
+  * Ignore failing t/35huge_mode.t tests.
 
- -- gregor herrmann <gregoa@debian.org>  Mon, 27 May 2024 19:27:41 +0200
+ -- Matthias Klose <doko@ubuntu.com>  Sun, 12 Jan 2025 17:57:06 +0100
 
-libxml-libxml-perl (2.0207+dfsg+really+2.0134-1) unstable; urgency=medium
+libxml-libxml-perl (2.0207+dfsg-2) unstable; urgency=medium
 
   * Team upload
 
@@ -67,12 +51,7 @@ libxml-libxml-perl (2.0207+dfsg+really+2
   [ Yadd ]
   * Add lintian overrides
 
-  [ Niko Tyni]
-  * Temporarily revert to upstream version 2.0134 while changes
-    in external DTD handling are revisited upstream. Thanks to
-    Vincent Lefevre for the reports. (Closes: #1005281, #1003810)
-
- -- Niko Tyni <ntyni@debian.org>  Fri, 11 Feb 2022 21:29:49 +0200
+ -- Yadd <yadd@debian.org>  Sat, 15 Jan 2022 12:11:56 +0100
 
 libxml-libxml-perl (2.0207+dfsg-1) unstable; urgency=medium
 
diff -pruN 2.0207+dfsg+really+2.0134-6/debian/control 2.0207+dfsg+really+2.0207-0ubuntu7/debian/control
--- 2.0207+dfsg+really+2.0134-6/debian/control	2025-08-15 00:43:46.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/debian/control	2025-08-01 20:21:07.000000000 +0000
@@ -1,28 +1,28 @@
 Source: libxml-libxml-perl
-Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
+XSBC-Original-Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
 Uploaders: gregor herrmann <gregoa@debian.org>,
            Nick Morrott <knowledgejunkie@gmail.com>
 Section: perl
 Testsuite: autopkgtest-pkg-perl
 Priority: optional
 Build-Depends: debhelper-compat (= 13),
-               libdevel-checklib-perl,
                libxml-namespacesupport-perl <!nocheck>,
                libxml-sax-perl <!nocheck>,
                libxml2-dev,
                perl-xs-dev,
                perl:native,
-               pkgconf,
+               pkg-config,
                zlib1g-dev
-Standards-Version: 4.7.2
+Standards-Version: 4.6.0
 Vcs-Browser: https://salsa.debian.org/perl-team/modules/packages/libxml-libxml-perl
 Vcs-Git: https://salsa.debian.org/perl-team/modules/packages/libxml-libxml-perl.git
 Homepage: https://metacpan.org/release/XML-LibXML
+Rules-Requires-Root: no
 
 Package: libxml-libxml-perl
 Architecture: any
-Depends: ${libxml:Depends},
-         ${misc:Depends},
+Depends: ${misc:Depends},
          ${perl:Depends},
          ${shlibs:Depends},
          libxml-namespacesupport-perl,
diff -pruN 2.0207+dfsg+really+2.0134-6/debian/copyright 2.0207+dfsg+really+2.0207-0ubuntu7/debian/copyright
--- 2.0207+dfsg+really+2.0134-6/debian/copyright	2025-08-15 00:43:46.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/debian/copyright	2022-01-15 11:07:51.000000000 +0000
@@ -34,11 +34,6 @@ Files: example/create-sample-html-docume
 Copyright: 2016, Shlomi Fish
 License: Expat
 
-Files: inc/Devel/CheckLib.pm
-Copyright: 2007, David Cantrell
- 2007, David Golden.
-License: Artistic or GPL-1+
-
 Files: ppport.h
 Copyright: 2004-2009, Marcus Holland-Moritz <mhx-cpan@gmx.net>
  2001, Paul Marquess <pmqs@cpan.org> (Version 2.x)
@@ -54,7 +49,7 @@ Copyright: 2001-2003, Ardo van Rangelroo
  2005-2007, Florian Ragwitz <rafl@debian.org>
  2007, Andreas Barth <aba@not.so.argh.org>
  2008, Gunnar Wolf <gwolf@debian.org>
- 2008-2025, gregor herrmann <gregoa@debian.org>
+ 2008-2022, gregor herrmann <gregoa@debian.org>
  2009, Jonathan Yu <jawnsy@cpan.org>
  2011, Alessandro Ghedini <ghedo@debian.org>
 License: Artistic or GPL-1+
diff -pruN 2.0207+dfsg+really+2.0134-6/debian/libxml-libxml-perl.lintian-overrides 2.0207+dfsg+really+2.0207-0ubuntu7/debian/libxml-libxml-perl.lintian-overrides
--- 2.0207+dfsg+really+2.0134-6/debian/libxml-libxml-perl.lintian-overrides	2025-08-15 00:43:46.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/debian/libxml-libxml-perl.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
@@ -1,2 +0,0 @@
-libxml-libxml-perl: national-encoding [usr/share/doc/libxml-libxml-perl/examples/enc2_latin2.html]
-libxml-libxml-perl: national-encoding [usr/share/doc/libxml-libxml-perl/examples/enc_latin2.html]
diff -pruN 2.0207+dfsg+really+2.0134-6/debian/lintian-overrides 2.0207+dfsg+really+2.0207-0ubuntu7/debian/lintian-overrides
--- 2.0207+dfsg+really+2.0134-6/debian/lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/debian/lintian-overrides	2022-01-15 11:11:56.000000000 +0000
@@ -0,0 +1,2 @@
+national-encoding usr/share/doc/libxml-libxml-perl/examples/enc2_latin2.html
+national-encoding usr/share/doc/libxml-libxml-perl/examples/enc_latin2.html
diff -pruN 2.0207+dfsg+really+2.0134-6/debian/patches/0001-initialize-xmlValidCtxt.patch 2.0207+dfsg+really+2.0207-0ubuntu7/debian/patches/0001-initialize-xmlValidCtxt.patch
--- 2.0207+dfsg+really+2.0134-6/debian/patches/0001-initialize-xmlValidCtxt.patch	2025-08-15 00:43:46.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/debian/patches/0001-initialize-xmlValidCtxt.patch	1970-01-01 00:00:00.000000000 +0000
@@ -1,62 +0,0 @@
-From 5a6c6afdf1d87cb13699064647cfb24cc9131fe5 Mon Sep 17 00:00:00 2001
-From: Alexander Bluhm <alexander.bluhm@gmx.net>
-Date: Mon, 21 Nov 2022 18:37:25 +0100
-Subject: [PATCH] initialize xmlValidCtxt
-
-The variable cvp is stored on the stack and is uninitialized.  So
-the field ctxt->flags in valid.c xmlIsStreaming() contains random
-data.  The logic of xmlIsStreaming() can do an invalid cast and
-pointer dereference pctxt->parseMode and may crash there.  Use
-memset() to pass correct zero flags in xmlValidCtxt cvp variable
-down to xmlValidateDocument().
----
- LibXML.xs | 17 ++---------------
- 1 file changed, 2 insertions(+), 15 deletions(-)
-
-Bug-Debian: https://bugs.debian.org/1072012
-
-diff --git a/LibXML.xs b/LibXML.xs
-index 70bb24e..b5b0b95 100644
---- a/LibXML.xs
-+++ b/LibXML.xs
-@@ -4025,18 +4025,11 @@ is_valid(self, ...)
-     CODE:
-         INIT_ERROR_HANDLER;
- 
-+        memset(&cvp, 0, sizeof(cvp));
-         cvp.userData = saved_error;
-         cvp.error = (xmlValidityErrorFunc)LibXML_validity_error_ctx;
-         cvp.warning = (xmlValidityWarningFunc)LibXML_validity_warning_ctx;
- 
--        /* we need to initialize the node stack, because perl might
--         * already have messed it up.
--         */
--        cvp.nodeNr = 0;
--        cvp.nodeTab = NULL;
--        cvp.vstateNr = 0;
--        cvp.vstateTab = NULL;
--
-         PmmClearPSVI(self);
-         PmmInvalidatePSVI(self);
-         if (items > 1) {
-@@ -4065,16 +4058,10 @@ validate(self, ...)
-     CODE:
-         INIT_ERROR_HANDLER;
- 
-+        memset(&cvp, 0, sizeof(cvp));
-         cvp.userData = saved_error;
-         cvp.error = (xmlValidityErrorFunc)LibXML_validity_error_ctx;
-         cvp.warning = (xmlValidityWarningFunc)LibXML_validity_warning_ctx;
--        /* we need to initialize the node stack, because perl might
--         * already have messed it up.
--         */
--        cvp.nodeNr = 0;
--        cvp.nodeTab = NULL;
--        cvp.vstateNr = 0;
--        cvp.vstateTab = NULL;
- 
-         PmmClearPSVI(self);
-         PmmInvalidatePSVI(self);
--- 
-2.43.0
-
diff -pruN 2.0207+dfsg+really+2.0134-6/debian/patches/0001-libxml-mm-Fix-function-prototypes-in-function-pointe.patch 2.0207+dfsg+really+2.0207-0ubuntu7/debian/patches/0001-libxml-mm-Fix-function-prototypes-in-function-pointe.patch
--- 2.0207+dfsg+really+2.0134-6/debian/patches/0001-libxml-mm-Fix-function-prototypes-in-function-pointe.patch	2025-08-15 00:43:46.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/debian/patches/0001-libxml-mm-Fix-function-prototypes-in-function-pointe.patch	1970-01-01 00:00:00.000000000 +0000
@@ -1,53 +0,0 @@
-From 8751785951fbde48ffa16a476da3e4adb2bbcde5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 16 Jan 2023 18:50:10 -0800
-Subject: [PATCH] libxml-mm: Fix function prototypes in function pointers
-
-This is now detected with latest clang16+
-
-Fixes
-error: incompatible function pointer types passing 'void (void *, void *, xmlChar *)' (aka 'void (void *, void *, unsigned char *)') to parameter of type 'xmlHashScanner' (aka 'void (*)(void *, void *, const unsigned char *)') [-Wincompatible-function-pointer-types]
-                xmlHashScan(r, PmmRegistryDumpHashScanner, NULL);
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Bug-Debian: https://bugs.debian.org/1075219
-
----
- perl-libxml-mm.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/perl-libxml-mm.c b/perl-libxml-mm.c
-index a3e78a2..ec2b5ea 100644
---- a/perl-libxml-mm.c
-+++ b/perl-libxml-mm.c
-@@ -121,7 +121,7 @@ PmmFreeHashTable(xmlHashTablePtr table)
- extern SV* PROXY_NODE_REGISTRY_MUTEX;
- 
- /* Utility method used by PmmDumpRegistry */
--void PmmRegistryDumpHashScanner(void * payload, void * data, xmlChar * name)
-+void PmmRegistryDumpHashScanner(void * payload, void * data, const xmlChar * name)
- {
- 	LocalProxyNodePtr lp = (LocalProxyNodePtr) payload;
- 	ProxyNodePtr node = (ProxyNodePtr) lp->proxy;
-@@ -215,7 +215,7 @@ PmmRegisterProxyNode(ProxyNodePtr proxy)
- /* PP: originally this was static inline void, but on AIX the compiler
-    did not chew it, so I'm removing the inline */
- static void
--PmmRegistryHashDeallocator(void *payload, xmlChar *name)
-+PmmRegistryHashDeallocator(void *payload, const xmlChar *name)
- {
- 	Safefree((LocalProxyNodePtr) payload);
- }
-@@ -279,7 +279,7 @@ PmmRegistryREFCNT_dec(ProxyNodePtr proxy)
-  * internal, used by PmmCloneProxyNodes
-  */
- void *
--PmmRegistryHashCopier(void *payload, xmlChar *name)
-+PmmRegistryHashCopier(void *payload, const xmlChar *name)
- {
- 	ProxyNodePtr proxy = ((LocalProxyNodePtr) payload)->proxy;
- 	LocalProxyNodePtr lp;
--- 
-2.45.2
-
diff -pruN 2.0207+dfsg+really+2.0134-6/debian/patches/0001-t-35huge_mode.t-fix-test-with-libxml2-2.11.patch 2.0207+dfsg+really+2.0207-0ubuntu7/debian/patches/0001-t-35huge_mode.t-fix-test-with-libxml2-2.11.patch
--- 2.0207+dfsg+really+2.0134-6/debian/patches/0001-t-35huge_mode.t-fix-test-with-libxml2-2.11.patch	2025-08-15 00:43:46.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/debian/patches/0001-t-35huge_mode.t-fix-test-with-libxml2-2.11.patch	1970-01-01 00:00:00.000000000 +0000
@@ -1,109 +0,0 @@
-From 57e712c98b285be4d286fd55a53984d4035fcb65 Mon Sep 17 00:00:00 2001
-From: Dominique Martinet <asmadeus@codewreck.org>
-Date: Fri, 14 Jul 2023 22:26:20 +0900
-Subject: [PATCH] t/35huge_mode.t: fix test with libxml2 2.11
-
-libxml 2.11 made improved parsing enough to not fail our test:
----
-Protection against entity expansion attacks, also known as "billion
-laughs" has been greatly improved. Malicious files should be detected
-reliably now and false positives should be reduced. It is possible
-though that large documents which make heavy use of entities are
-rejected now.
----
-
-Adjusts the test to have greater depth and fix exception message which
-changed a bit; the new exception is as follow:
-Entity: line 1: parser error : Maximum entity nesting depth exceeded
-&ha8; &ha8;
-
-Fixes: #79
-
-Bug-Debian: https://bugs.debian.org/1072012
-
----
- t/35huge_mode.t | 65 ++++++++++++++++++++++++++++++++++++++-----------
- 1 file changed, 51 insertions(+), 14 deletions(-)
-
---- a/t/35huge_mode.t
-+++ b/t/35huge_mode.t
-@@ -29,20 +29,57 @@
- EOF
- 
- my $evil_xml = <<'EOF';
--<?xml version="1.0"?>
--<!DOCTYPE lolz [
-- <!ENTITY lol "lol">
-- <!ENTITY lol1 "&lol;&lol;">
-- <!ENTITY lol2 "&lol1;&lol1;">
-- <!ENTITY lol3 "&lol2;&lol2;">
-- <!ENTITY lol4 "&lol3;&lol3;">
-- <!ENTITY lol5 "&lol4;&lol4;">
-- <!ENTITY lol6 "&lol5;&lol5;">
-- <!ENTITY lol7 "&lol6;&lol6;">
-- <!ENTITY lol8 "&lol7;&lol7;">
-- <!ENTITY lol9 "&lol8;&lol8;">
-+<!DOCTYPE root [
-+  <!ENTITY ha "Ha !">
-+  <!ENTITY ha2 "&ha; &ha;">
-+  <!ENTITY ha3 "&ha2; &ha2;">
-+  <!ENTITY ha4 "&ha3; &ha3;">
-+  <!ENTITY ha5 "&ha4; &ha4;">
-+  <!ENTITY ha6 "&ha5; &ha5;">
-+  <!ENTITY ha7 "&ha6; &ha6;">
-+  <!ENTITY ha8 "&ha7; &ha7;">
-+  <!ENTITY ha9 "&ha8; &ha8;">
-+  <!ENTITY ha10 "&ha9; &ha9;">
-+  <!ENTITY ha11 "&ha10; &ha10;">
-+  <!ENTITY ha12 "&ha11; &ha11;">
-+  <!ENTITY ha13 "&ha12; &ha12;">
-+  <!ENTITY ha14 "&ha13; &ha13;">
-+  <!ENTITY ha15 "&ha14; &ha14;">
-+  <!ENTITY ha16 "&ha15; &ha15;">
-+  <!ENTITY ha17 "&ha16; &ha16;">
-+  <!ENTITY ha18 "&ha17; &ha17;">
-+  <!ENTITY ha19 "&ha18; &ha18;">
-+  <!ENTITY ha20 "&ha19; &ha19;">
-+  <!ENTITY ha21 "&ha20; &ha20;">
-+  <!ENTITY ha22 "&ha21; &ha21;">
-+  <!ENTITY ha23 "&ha22; &ha22;">
-+  <!ENTITY ha24 "&ha23; &ha23;">
-+  <!ENTITY ha25 "&ha24; &ha24;">
-+  <!ENTITY ha26 "&ha25; &ha25;">
-+  <!ENTITY ha27 "&ha26; &ha26;">
-+  <!ENTITY ha28 "&ha27; &ha27;">
-+  <!ENTITY ha29 "&ha28; &ha28;">
-+  <!ENTITY ha30 "&ha29; &ha29;">
-+  <!ENTITY ha31 "&ha30; &ha30;">
-+  <!ENTITY ha32 "&ha31; &ha31;">
-+  <!ENTITY ha33 "&ha32; &ha32;">
-+  <!ENTITY ha34 "&ha33; &ha33;">
-+  <!ENTITY ha35 "&ha34; &ha34;">
-+  <!ENTITY ha36 "&ha35; &ha35;">
-+  <!ENTITY ha37 "&ha36; &ha36;">
-+  <!ENTITY ha38 "&ha37; &ha37;">
-+  <!ENTITY ha39 "&ha38; &ha38;">
-+  <!ENTITY ha40 "&ha39; &ha39;">
-+  <!ENTITY ha41 "&ha40; &ha40;">
-+  <!ENTITY ha42 "&ha41; &ha41;">
-+  <!ENTITY ha43 "&ha42; &ha42;">
-+  <!ENTITY ha44 "&ha43; &ha43;">
-+  <!ENTITY ha45 "&ha44; &ha44;">
-+  <!ENTITY ha46 "&ha45; &ha45;">
-+  <!ENTITY ha47 "&ha46; &ha46;">
-+  <!ENTITY ha48 "&ha47; &ha47;">
- ]>
--<lolz>&lol9;</lolz>
-+<root>&ha48;</root>
- EOF
- 
- my($parser, $doc);
-@@ -54,7 +91,7 @@
- $doc = eval { $parser->parse_string($evil_xml); };
- 
- isnt("$@", "", "exception thrown during parse");
--like($@, qr/entity.*loop/si, "exception refers to entity reference loop");
-+like($@, qr/entity/si, "exception refers to entity maximum loop (libxml2 <= 2.10) or depth (>= 2.11)");
- 
- 
- $parser = XML::LibXML->new;
diff -pruN 2.0207+dfsg+really+2.0134-6/debian/patches/87.diff 2.0207+dfsg+really+2.0207-0ubuntu7/debian/patches/87.diff
--- 2.0207+dfsg+really+2.0134-6/debian/patches/87.diff	2025-08-15 00:43:46.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/debian/patches/87.diff	2025-06-09 09:35:24.000000000 +0000
@@ -1,16 +1,8 @@
-Description: Fix test suite with libxml2 2.13.0
- (shortened to the tests we actually run)
-Origin: https://github.com/shlomif/perl-XML-LibXML/pull/87
- via Ubuntu
-Forwarded: https://github.com/shlomif/perl-XML-LibXML/pull/87
-Bug-Debian: https://bugs.debian.org/1106827
-Author: Nick Wellnhofer <wellnhofer@aevum.de>
-Reviewed-by: gregor herrmann <gregoa@debian.org>
-Last-Update: 2025-08-14
-
+diff --git a/t/02parse.t b/t/02parse.t
+index b111507..17419f8 100644
 --- a/t/02parse.t
 +++ b/t/02parse.t
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ use locale;
  
  POSIX::setlocale(LC_ALL, "C");
  
@@ -19,7 +11,16 @@ Last-Update: 2025-08-14
  use IO::File;
  
  use XML::LibXML::Common qw(:libxml);
-@@ -771,15 +771,6 @@
+@@ -25,7 +25,7 @@ use constant XML_DECL => "<?xml version=\"1.0\"?>\n";
+ 
+ use Errno qw(ENOENT);
+ 
+-# TEST*533
++# TEST*531
+ 
+ ##
+ # test values
+@@ -773,15 +773,6 @@ EOXML
  
      my $newkid = $root->appendChild( $doc->createElement( "bar" ) );
      is( $newkid->line_number(), 0, "line number is 0");
@@ -35,7 +36,7 @@ Last-Update: 2025-08-14
  }
  
  SKIP: {
-@@ -882,7 +873,12 @@
+@@ -884,7 +875,12 @@ EOXML
          eval {
             $doc2    = $parser->parse_string( $xmldoc );
          };
@@ -49,9 +50,11 @@ Last-Update: 2025-08-14
  
          $parser->validation(1);
  
+diff --git a/t/08findnodes.t b/t/08findnodes.t
+index 016c85a..e9417bc 100644
 --- a/t/08findnodes.t
 +++ b/t/08findnodes.t
-@@ -123,7 +123,13 @@
+@@ -123,7 +123,13 @@ my $docstring = q{
  my @ns = $root->findnodes('namespace::*');
  # TEST
  
@@ -66,9 +69,11 @@ Last-Update: 2025-08-14
  
  # bad xpaths
  # TEST:$badxpath=4;
+diff --git a/t/16docnodes.t b/t/16docnodes.t
+index db7bc1f..0b0ae00 100644
 --- a/t/16docnodes.t
 +++ b/t/16docnodes.t
-@@ -60,7 +60,12 @@
+@@ -60,7 +60,12 @@ for my $time (0 .. 2) {
      $doc->setDocumentElement($node);
  
      # TEST
@@ -82,3 +87,116 @@ Last-Update: 2025-08-14
  
      $doc->setEncoding('utf-8');
      # Second output
+diff --git a/t/19die_on_invalid_utf8_rt_58848.t b/t/19die_on_invalid_utf8_rt_58848.t
+index aa8ad10..4160cb2 100644
+--- a/t/19die_on_invalid_utf8_rt_58848.t
++++ b/t/19die_on_invalid_utf8_rt_58848.t
+@@ -16,7 +16,7 @@ use XML::LibXML;
+     my $err = $@;
+ 
+     # TEST
+-    like ("$err", qr{parser error : Input is not proper UTF-8},
++    like ("$err", qr{not proper UTF-8|Invalid bytes in character encoding},
+         'Parser error.',
+     );
+ }
+diff --git a/t/25relaxng.t b/t/25relaxng.t
+index 93e6188..71383b2 100644
+--- a/t/25relaxng.t
++++ b/t/25relaxng.t
+@@ -132,7 +132,7 @@ print "# 6 check that no_network => 1 works\n";
+ {
+     my $rng = eval { XML::LibXML::RelaxNG->new( location => $netfile, no_network => 1 ) };
+     # TEST
+-    like( $@, qr{I/O error : Attempt to load network entity}, 'RNG from file location with external import and no_network => 1 throws an exception.' );
++    like( $@, qr{Attempt to load network entity}, 'RNG from file location with external import and no_network => 1 throws an exception.' );
+     # TEST
+     ok( !defined $rng, 'RNG from file location with external import and no_network => 1 is not loaded.' );
+ }
+@@ -152,7 +152,7 @@ print "# 6 check that no_network => 1 works\n";
+ </grammar>
+ EOF
+     # TEST
+-    like( $@, qr{I/O error : Attempt to load network entity}, 'RNG from buffer with external import and no_network => 1 throws an exception.' );
++    like( $@, qr{Attempt to load network entity}, 'RNG from buffer with external import and no_network => 1 throws an exception.' );
+     # TEST
+     ok( !defined $rng, 'RNG from buffer with external import and no_network => 1 is not loaded.' );
+ }
+diff --git a/t/26schema.t b/t/26schema.t
+index 17f641e..c404ced 100644
+--- a/t/26schema.t
++++ b/t/26schema.t
+@@ -117,7 +117,7 @@ EOF
+ {
+     my $schema = eval { XML::LibXML::Schema->new( location => $netfile, no_network => 1 ) };
+     # TEST
+-    like( $@, qr{I/O error : Attempt to load network entity}, 'Schema from file location with external import and no_network => 1 throws an exception.' );
++    like( $@, qr{Attempt to load network entity}, 'Schema from file location with external import and no_network => 1 throws an exception.' );
+     # TEST
+     ok( !defined $schema, 'Schema from file location with external import and no_network => 1 is not loaded.' );
+ }
+@@ -129,7 +129,7 @@ EOF
+ </xsd:schema>
+ EOF
+     # TEST
+-    like( $@, qr{I/O error : Attempt to load network entity}, 'Schema from buffer with external import and no_network => 1 throws an exception.' );
++    like( $@, qr{Attempt to load network entity}, 'Schema from buffer with external import and no_network => 1 throws an exception.' );
+     # TEST
+     ok( !defined $schema, 'Schema from buffer with external import and no_network => 1 is not loaded.' );
+ }
+diff --git a/t/49_load_html.t b/t/49_load_html.t
+index 70d2660..3861edf 100644
+--- a/t/49_load_html.t
++++ b/t/49_load_html.t
+@@ -52,7 +52,13 @@ use XML::LibXML;
+ </div>
+ EOS
+ 
+-    {
++    SKIP: {
++        # libxml2 2.14 tokenizes HTML according to HTML5 where
++        # this isn't an error, see "13.2.5.73 Named character
++        # reference state".
++        skip("libxml2 version >= 21400", 1)
++            if XML::LibXML::LIBXML_VERSION >= 21400;
++
+         my $buf = '';
+         open my $fh, '>', \$buf;
+         # redirect STDERR there
+diff --git a/t/60error_prev_chain.t b/t/60error_prev_chain.t
+index e48215c..55ac0b2 100644
+--- a/t/60error_prev_chain.t
++++ b/t/60error_prev_chain.t
+@@ -16,13 +16,11 @@ use XML::LibXML;
+ 
+ {
+     my $parser = XML::LibXML->new();
+-    $parser->validation(0);
+-    $parser->load_ext_dtd(0);
+ 
+     eval
+     {
+         local $^W = 0;
+-        $parser->parse_file('example/JBR-ALLENtrees.htm');
++        $parser->parse_string('<doc>&ldquo;&nbsp;&rdquo;</doc>');
+     };
+ 
+     my $err = $@;
+@@ -31,7 +29,7 @@ use XML::LibXML;
+     if( $err && !ref($err) ) {
+       plan skip_all => 'The local libxml library does not support errors as objects to $@';
+     }
+-    plan tests => 1;
++    plan tests => 2;
+ 
+     while (defined($err) && $count < 200)
+     {
+@@ -44,6 +42,8 @@ use XML::LibXML;
+ 
+     # TEST
+     ok ((!$err), "Reached the end of the chain.");
++    # TEST
++    is ($count, 3, "Correct number of errors reported")
+ }
+ 
+ =head1 COPYRIGHT & LICENSE
diff -pruN 2.0207+dfsg+really+2.0134-6/debian/patches/fail-build-no-libxml2.patch 2.0207+dfsg+really+2.0207-0ubuntu7/debian/patches/fail-build-no-libxml2.patch
--- 2.0207+dfsg+really+2.0134-6/debian/patches/fail-build-no-libxml2.patch	2025-08-15 00:43:46.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/debian/patches/fail-build-no-libxml2.patch	1970-01-01 00:00:00.000000000 +0000
@@ -1,19 +0,0 @@
-Description: Trigger build failure when libxml2 is not found
-Origin: vendor
-Bug: https://bugs.debian.org/684070
-Forwarded: not-needed
-Author: Alessandro Ghedini <ghedo@debian.org>
-Reviewed-by: gregor herrmann <gregoa@debian.org>
-Last-Update: 2018-06-23
-
---- a/Makefile.PL
-+++ b/Makefile.PL
-@@ -223,7 +223,7 @@
-                     $libxml2_version = $1;
-                 }
-                 # 0 recommended by http://cpantest.grango.org (Notes for CPAN Authors)
--                exit 0 if !$FORCE and $libxml2_version ne "2.9.4";
-+                exit 1 if !$FORCE and $libxml2_version ne "2.9.4";
-             }
-             if ( $@ =~ /^UNTESTED (\S*)/ ) {
-                 warn "Note: libxml2 $1 was not tested with this XML::LibXML version.\n"
diff -pruN 2.0207+dfsg+really+2.0134-6/debian/patches/initialize-xmlValidCtxt.patch 2.0207+dfsg+really+2.0207-0ubuntu7/debian/patches/initialize-xmlValidCtxt.patch
--- 2.0207+dfsg+really+2.0134-6/debian/patches/initialize-xmlValidCtxt.patch	1970-01-01 00:00:00.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/debian/patches/initialize-xmlValidCtxt.patch	2025-08-01 17:32:44.000000000 +0000
@@ -0,0 +1,51 @@
+Description: initialize xmlValidCtxt
+ The variable cvp is stored on the stack and is uninitialized.  So
+ the field ctxt->flags in valid.c xmlIsStreaming() contains random
+ data.  The logic of xmlIsStreaming() can do an invalid cast and
+ pointer dereference pctxt->parseMode and may crash there.  Use
+ memset() to pass correct zero flags in xmlValidCtxt cvp variable
+ down to xmlValidateDocument().
+Origin: upstream, https://github.com/shlomif/perl-XML-LibXML/commit/5a6c6afdf1d87cb13699064647cfb24cc9131fe5
+Author: Alexander Bluhm <alexander.bluhm@gmx.net>
+Last-Update: 2022-11-21
+
+--- a/LibXML.xs
++++ b/LibXML.xs
+@@ -4025,18 +4025,11 @@
+     CODE:
+         INIT_ERROR_HANDLER;
+ 
++        memset(&cvp, 0, sizeof(cvp));
+         cvp.userData = saved_error;
+         cvp.error = (xmlValidityErrorFunc)LibXML_validity_error_ctx;
+         cvp.warning = (xmlValidityWarningFunc)LibXML_validity_warning_ctx;
+ 
+-        /* we need to initialize the node stack, because perl might
+-         * already have messed it up.
+-         */
+-        cvp.nodeNr = 0;
+-        cvp.nodeTab = NULL;
+-        cvp.vstateNr = 0;
+-        cvp.vstateTab = NULL;
+-
+         PmmClearPSVI(self);
+         PmmInvalidatePSVI(self);
+         if (items > 1) {
+@@ -4065,16 +4058,10 @@
+     CODE:
+         INIT_ERROR_HANDLER;
+ 
++        memset(&cvp, 0, sizeof(cvp));
+         cvp.userData = saved_error;
+         cvp.error = (xmlValidityErrorFunc)LibXML_validity_error_ctx;
+         cvp.warning = (xmlValidityWarningFunc)LibXML_validity_warning_ctx;
+-        /* we need to initialize the node stack, because perl might
+-         * already have messed it up.
+-         */
+-        cvp.nodeNr = 0;
+-        cvp.nodeTab = NULL;
+-        cvp.vstateNr = 0;
+-        cvp.vstateTab = NULL;
+ 
+         PmmClearPSVI(self);
+         PmmInvalidatePSVI(self);
diff -pruN 2.0207+dfsg+really+2.0134-6/debian/patches/libxml2.14-disable-tests.diff 2.0207+dfsg+really+2.0207-0ubuntu7/debian/patches/libxml2.14-disable-tests.diff
--- 2.0207+dfsg+really+2.0134-6/debian/patches/libxml2.14-disable-tests.diff	2025-08-15 00:43:46.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/debian/patches/libxml2.14-disable-tests.diff	2025-06-09 09:35:56.000000000 +0000
@@ -1,14 +1,6 @@
-Description: Skip tests failing with libxml 2.14.x
- (shortened to the tests we actually run)
-Origin: Ubuntu
-Forwarded: https://github.com/shlomif/perl-XML-LibXML/pull/87
-Author: Matthias Klose <doko@debian.org>
-Reviewed-by: gregor herrmann <gregoa@debian.org>
-Last-Update: 2025-08-14
-
 --- a/t/35huge_mode.t
 +++ b/t/35huge_mode.t
-@@ -17,7 +17,7 @@
+@@ -17,7 +17,7 @@ if (XML::LibXML::LIBXML_VERSION() < 2070
      plan skip_all => "XML_PARSE_HUGE option not supported for libxml2 < 2.7.0";
  }
  else {
@@ -17,15 +9,188 @@ Last-Update: 2025-08-14
  }
  
  my $benign_xml = <<'EOF';
-@@ -90,8 +90,9 @@
- 
+@@ -55,9 +55,11 @@ ok(!$parser->get_option('huge'), "huge m
  $doc = eval { $parser->parse_string($evil_xml); };
  
+ # TEST
 -isnt("$@", "", "exception thrown during parse");
--like($@, qr/entity/si, "exception refers to entity maximum loop (libxml2 <= 2.10) or depth (>= 2.11)");
 +# fails with libxml 2.14.x
 +#isnt("$@", "", "exception thrown during parse");
-+#like($@, qr/entity/si, "exception refers to entity maximum loop (libxml2 <= 2.10) or depth (>= 2.11)");
+ # TEST
+-like($@, qr/entity.*loop/si, "exception refers to entity reference loop");
++# fails with libxml 2.14.x
++#like($@, qr/entity.*loop/si, "exception refers to entity reference loop");
  
  
  $parser = XML::LibXML->new;
+--- a/t/19die_on_invalid_utf8_rt_58848.t
++++ /dev/null
+@@ -1,53 +0,0 @@
+-# This is a test for:
+-# https://rt.cpan.org/Ticket/Display.html?id=58848
+-
+-use strict;
+-use warnings;
+-
+-use Test::More tests => 1;
+-
+-use XML::LibXML;
+-
+-{
+-    eval {
+-        XML::LibXML->new->parse_file('example/thedieline.rss');
+-    };
+-
+-    my $err = $@;
+-
+-    # TEST
+-    like ("$err", qr{not proper UTF-8|Invalid bytes in character encoding},
+-        'Parser error.',
+-    );
+-}
+-
+-
+-=head1 COPYRIGHT & LICENSE
+-
+-Copyright 2011 by Shlomi Fish
+-
+-This program is distributed under the MIT (X11) License:
+-L<http://www.opensource.org/licenses/mit-license.php>
+-
+-Permission is hereby granted, free of charge, to any person
+-obtaining a copy of this software and associated documentation
+-files (the "Software"), to deal in the Software without
+-restriction, including without limitation the rights to use,
+-copy, modify, merge, publish, distribute, sublicense, and/or sell
+-copies of the Software, and to permit persons to whom the
+-Software is furnished to do so, subject to the following
+-conditions:
+-
+-The above copyright notice and this permission notice shall be
+-included in all copies or substantial portions of the Software.
+-
+-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+-OTHER DEALINGS IN THE SOFTWARE.
+-
+-=cut
+--- a/t/49_load_html.t
++++ /dev/null
+@@ -1,112 +0,0 @@
+-#!/usr/bin/perl
+-
+-use strict;
+-use warnings;
+-use utf8;
+-
+-use lib './t/lib';
+-use TestHelpers qw(utf8_slurp eq_or_diff);
+-
+-use Test::More tests => 3;
+-
+-use XML::LibXML;
+-
+-# This is a check for:
+-# https://rt.cpan.org/Ticket/Display.html?id=53270
+-
+-{
+-    my $content = utf8_slurp('example/yahoo-finance-html-with-errors.html');
+-
+-    my $parser = XML::LibXML->new;
+-
+-    $parser->set_option('recover', 1);
+-    $parser->set_option('suppress_errors', 1);
+-
+-    my @warnings;
+-
+-    local $SIG{__WARN__} = sub {
+-        my $warning = shift;
+-        push @warnings, $warning;
+-    };
+-    my $dom = $parser->load_html(string => $content);
+-
+-    # TEST
+-    eq_or_diff(
+-        \@warnings,
+-        [],
+-        'suppress_errors worked.',
+-    );
+-}
+-
+-{
+-    # These are tests for https://rt.cpan.org/Ticket/Display.html?id=58024 :
+-    # <<<
+-    # In XML::LibXML, warnings are not suppressed when specifying the recover
+-    # or recover_silently flags as per the following excerpt from the manpage:
+-    # >>>
+-
+-    my $txt = <<'EOS';
+-<div>
+-<a href="milu?a=eins&b=zwei"> ampersand not URL-encoded </a>
+-<!-- HTML parser error : htmlParseEntityRef: expecting ';' -->
+-</div>
+-EOS
+-
+-    SKIP: {
+-        # libxml2 2.14 tokenizes HTML according to HTML5 where
+-        # this isn't an error, see "13.2.5.73 Named character
+-        # reference state".
+-        skip("libxml2 version >= 21400", 1)
+-            if XML::LibXML::LIBXML_VERSION >= 21400;
+-
+-        my $buf = '';
+-        open my $fh, '>', \$buf;
+-        # redirect STDERR there
+-        local *STDERR = $fh;
+-
+-        XML::LibXML->new(recover => 1)->load_html( string => $txt );
+-        close($fh);
+-
+-        # TEST
+-        like ($buf, qr/htmlParseEntityRef:/, 'warning emitted');
+-    }
+-    {
+-        my $buf = '';
+-        open my $fh, '>', \$buf;
+-        local *STDERR = $fh;
+-        XML::LibXML->new(recover => 2)->load_html( string => $txt );
+-        close($fh);
+-        # TEST
+-        is ($buf, '', 'No warning emitted.');
+-    }
+-}
+-
+-=head1 COPYRIGHT & LICENSE
+-
+-Copyright 2011 by Shlomi Fish
+-
+-This program is distributed under the MIT (X11) License:
+-L<http://www.opensource.org/licenses/mit-license.php>
+-
+-Permission is hereby granted, free of charge, to any person
+-obtaining a copy of this software and associated documentation
+-files (the "Software"), to deal in the Software without
+-restriction, including without limitation the rights to use,
+-copy, modify, merge, publish, distribute, sublicense, and/or sell
+-copies of the Software, and to permit persons to whom the
+-Software is furnished to do so, subject to the following
+-conditions:
+-
+-The above copyright notice and this permission notice shall be
+-included in all copies or substantial portions of the Software.
+-
+-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+-OTHER DEALINGS IN THE SOFTWARE.
+-
+-=cut
diff -pruN 2.0207+dfsg+really+2.0134-6/debian/patches/no-alien-libxml2.patch 2.0207+dfsg+really+2.0207-0ubuntu7/debian/patches/no-alien-libxml2.patch
--- 2.0207+dfsg+really+2.0134-6/debian/patches/no-alien-libxml2.patch	1970-01-01 00:00:00.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/debian/patches/no-alien-libxml2.patch	2022-01-15 11:05:31.000000000 +0000
@@ -0,0 +1,35 @@
+Description: remove requirement for Alien::Libxml2 and friends
+ which are not packaged in debian.
+ Passing LIBS and INC in debian/rules, gathered via pkg-config,
+ seems to work just fine.
+Origin: vendor
+Forwarded: not-needed
+Author: gregor herrmann <gregoa@debian.org>
+Last-Update: 2022-01-14
+
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -17,15 +17,12 @@
+ 
+ require 5.008001;
+ 
+-use Alien::Base::Wrapper qw( Alien::Libxml2 );
+ use ExtUtils::MakeMaker;
+ use Config;
+ 
+ my $SKIP_SAX_INSTALL = $ENV{SKIP_SAX_INSTALL};
+ 
+ my %ConfigReqs = (
+-  "Alien::Libxml2" => '0.14',
+-  "Alien::Base::Wrapper" => 0,
+   "Config" => 0,
+   "ExtUtils::MakeMaker" => 0,
+ );
+@@ -71,7 +68,6 @@
+ my %xsbuild = (
+   DEFINE  => '-DHAVE_UTF8',
+   OBJECT  => '$(O_FILES)',
+-  Alien::Base::Wrapper->mm_args,
+ );
+ 
+ my %WriteMakefileArgs = (
diff -pruN 2.0207+dfsg+really+2.0134-6/debian/patches/series 2.0207+dfsg+really+2.0207-0ubuntu7/debian/patches/series
--- 2.0207+dfsg+really+2.0134-6/debian/patches/series	2025-08-15 00:43:46.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/debian/patches/series	2025-08-01 17:56:33.000000000 +0000
@@ -1,8 +1,6 @@
-fail-build-no-libxml2.patch
 disable_runtime-version_warning.patch
 test_against_runtime-version.patch
-0001-t-35huge_mode.t-fix-test-with-libxml2-2.11.patch
-0001-initialize-xmlValidCtxt.patch
-0001-libxml-mm-Fix-function-prototypes-in-function-pointe.patch
+no-alien-libxml2.patch
 87.diff
 libxml2.14-disable-tests.diff
+initialize-xmlValidCtxt.patch
diff -pruN 2.0207+dfsg+really+2.0134-6/debian/rules 2.0207+dfsg+really+2.0207-0ubuntu7/debian/rules
--- 2.0207+dfsg+really+2.0134-6/debian/rules	2025-08-15 00:43:46.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/debian/rules	2025-05-31 14:26:08.000000000 +0000
@@ -6,43 +6,15 @@ include /usr/share/dpkg/buildtools.mk
 SKIP_TESTS = $(shell cat debian/tests/pkg-perl/smoke-skip)
 TEST_FILES = $(filter-out $(SKIP_TESTS), $(wildcard t/*.t))
 
-PACKAGE = $(shell dh_listpackages)
-TMP     = $(CURDIR)/debian/$(PACKAGE)
-
 XML_LIBS := $(shell $(PKG_CONFIG) --libs   libxml-2.0)
 XML_INC  := $(shell $(PKG_CONFIG) --cflags libxml-2.0)
 
-# also in libxml-libxslt-perl
-XML_VER           := $(shell $(PKG_CONFIG) --modversion libxml-2.0)
-XML_VER_MAJOR      = $(shell echo $(XML_VER) | cut -f 1 -d .)
-XML_VER_MINOR      = $(shell echo $(XML_VER) | cut -f 2 -d .)
-XML_VER_CUR        = $(XML_VER_MAJOR).$(XML_VER_MINOR)
-XML_VER_NEXT       = $(XML_VER_MAJOR).$(shell expr $(XML_VER_MINOR) + 1)
-XML_VER_DEBIAN     = $(shell dpkg-query -Wf '$${source:Version}' libxml2-dev)
-XML_BIN            = $(shell grep -Po 'libxml2[\w-]*' $(TMP).substvars)
-ifeq (,$(findstring +really,$(XML_VER_DEBIAN)))
-XML_VER_SUBST      = -Vlibxml:Depends="$(XML_BIN) (>= $(XML_VER_CUR)), $(XML_BIN) (<< $(XML_VER_NEXT)~)"
-else
-XML_VER_SUBST      = -Vlibxml:Depends="$(XML_BIN) (>= $(XML_VER_DEBIAN))"
-endif
-
-export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all optimize=-lto
+export DEB_CFLAGS_MAINT_STRIP = -O3
+export DEB_CFLAGS_MAINT_APPEND = -O2 -Wno-incompatible-pointer-types
 
 %:
 	dh $@
 
-# we want to use the system version of included modules, so
-# we move the inc away and move it back afterwards
-override_dh_auto_clean:
-	dh_auto_clean
-	[ ! -d $(CURDIR)/inc.save ] || mv $(CURDIR)/inc.save $(CURDIR)/inc
-
 override_dh_auto_configure:
-	[ ! -d $(CURDIR)/inc ] || mv $(CURDIR)/inc $(CURDIR)/inc.save
 	SKIP_SAX_INSTALL=1 dh_auto_configure -- LIBS="$(XML_LIBS)" INC="$(XML_INC)"
-
-override_dh_auto_test:
-	dh_auto_test -- TEST_FILES="$(TEST_FILES)"
-
-override_dh_gencontrol:
-	dh_gencontrol -- $(XML_VER_SUBST)
diff -pruN 2.0207+dfsg+really+2.0134-6/docs/libxml.dbk 2.0207+dfsg+really+2.0207-0ubuntu7/docs/libxml.dbk
--- 2.0207+dfsg+really+2.0134-6/docs/libxml.dbk	2019-02-10 14:56:00.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/docs/libxml.dbk	2021-04-17 08:07:35.000000000 +0000
@@ -22,7 +22,7 @@
         </authorgroup>
 
 
-        <edition>2.0134</edition>
+        <edition>2.0207</edition>
         <copyright>
             <year>2001-2007</year>
             <holder>AxKit.com Ltd</holder>
@@ -45,8 +45,8 @@
         <para>This module implements a Perl interface to the Gnome
           libxml2 library which provides
           interfaces for parsing and manipulating XML files. This
-          module allows Perl programmers to make use of the highly
-          capable validating XML parser and the high performance DOM
+          module allows Perl programmers to make use of its highly
+          capable validating XML parser and its high performance DOM
           implementation.</para>
 
         <sect1>
@@ -155,7 +155,9 @@ See Notes for Microsoft Windows below.)<
                 libxml2 before it is released. Thus there are versions
                 of libxml2 that are known not to work properly with
                 XML::LibXML. The Makefile.PL keeps a blacklist of
-                the incompatible libxml2 versions.</para>
+                the incompatible libxml2 versions using Alien::Libxml2.
+                The blacklist itself is kept inside its "alienfile"
+                file.</para>
 
                 <para>If Makefile.PL detects one of the incompatible versions,
                 it notifies the user. It may still happen that
@@ -175,6 +177,9 @@ See Notes for Microsoft Windows below.)<
                 reason to assume that it shall work without problems.
                 If Makefile.PL marks a version of libxml2 as incompatible or broken
                 it is done for a good reason.</para>
+
+                <para>Full linking information for libxml2 can be obtained
+                by invoking "xml2-config --libs".</para>
             </sect2>
 
             <sect2>
@@ -223,12 +228,14 @@ See Notes for Microsoft Windows below.)<
             <sect2>
                 <title>Notes for Mac OS X</title>
 
-                <para>Due refactoring the module, XML::LibXML will not
-                run with some earlier versions of Mac OS X. It appears that this is related
-                to special linker options for that OS prior to version
-                10.2.2. Since the developers do not have full access to this OS,
-                help/ patches from OS X gurus are highly
-                appreciated.</para>
+                <para>
+                        Due to a refactoring of the module, XML::LibXML will
+                        not run with some earlier versions of Mac OS X. It
+                        appears that this is related to special linker options
+                        for that OS prior to version 10.2.2. Since the
+                        developers do not have full access to this OS, help/
+                        patches from OS X gurus are highly appreciated.
+                </para>
 
                 <para>It is confirmed that XML::LibXML builds and runs
                 without problems since Mac OS X 10.2.6.</para>
@@ -281,9 +288,14 @@ perl Makefile.PL LIBS='-L/path/to/lib' I
         <sect1>
             <title>Contact</title>
 
-            <para>For bug reports, please use the CPAN request tracker on http://rt.cpan.org/NoAuth/Bugs.html?Dist=XML-LibXML</para>
+            <para>For bug reports, please use the issue tracker at
+                https://github.com/shlomif/perl-XML-LibXML/issues .</para>
 
-            <para>For suggestions etc. you may contact the maintainer directly at "pajas at ufal dot mff dot cuni dot cz", but in general, it is recommended to use the mailing list given below.
+            <para>
+                    For suggestions etc. you may contact the maintainer directly at
+                    https://www.shlomifish.org/me/contact-me/
+                    , but in general, it is recommended to use the mailing
+                    list given below.
             </para>
 
             <para>For suggestions etc., and other issues
@@ -381,6 +393,9 @@ EOT</programlisting>
 	    unless stated otherwise, you only need to <literal>use XML::LibXML;</literal>
 	    in your programs.</para>
 
+	    <para>Check out <ulink url="http://grantm.github.io/perl-libxml-by-example/">XML::LibXML by Example</ulink>
+	    for a tutorial.</para>
+
             <para>For further information, please check the following documentation:</para>
 
             <variablelist>
@@ -1111,7 +1126,7 @@ $dom = $parser-&gt;load_xml(...);
 			  </funcsynopsisinfo>
 			  </funcsynopsis>
 			  <para>This function is available since XML::LibXML 1.70. It provides easy to use interface to the XML parser that parses
-			  given file (or URL), string, or input stream
+			  given file (or non-HTTPS URL), string, or input stream
 			  to a DOM tree. The arguments
 			  can be passed in a HASH reference
 			  or as name => value pairs.
@@ -1128,6 +1143,11 @@ $dom = $parser-&gt;load_xml(...);
 			  and <xref linkend="parser-options"/>
 			  for more information.
 			  </para>
+			  <para>Note that, due to a limitation in the underlying libxml2
+			  library, this call does not recognize HTTPS-based URLs. (It
+			  will treat an HTTPS URL as a filename, likely throwing a "No such
+			  file or directory" exception.)
+			  </para>
 			  </listitem>
 		    </varlistentry>
                     <varlistentry>
@@ -1254,10 +1274,11 @@ $dom = $parser-&gt;load_html(...);
                             </funcsynopsis>
 
                             <para>This function parses an XML document from a file or network;
-		              $xmlfilename can be either a filename or an URL.
+		              $xmlfilename can be either a filename or a (non-HTTPS) URL.
                               Note that for parsing files, this function is the fastest choice,
 		              about 6-8 times faster then parse_fh().
 	                     </para>
+	                     
                         </listitem>
                     </varlistentry>
 
@@ -1304,7 +1325,7 @@ my $doc = $parser-&gt;parse_string(\$xml
                             </funcsynopsis>
 
                             <para>Similar to parse_file() but parses HTML (strict) documents;
-		               $htmlfile can be filename or URL.
+		               $htmlfile can be filename or (non-HTTPS) URL.
                             </para>
                             <para>An optional second argument can be
                                used to pass some options to the HTML
@@ -3231,7 +3252,7 @@ my $dtd      = $document-&gt;createInter
                     </funcsynopsis>
 
                     <para>This will unbind the Child Node from its parent <function>$node</function>. The function returns the unbound node. If
-                    <function>oldNode</function> is not a child of the given Node the function will fail.</para>
+                    <function>$childnode</function> is not a child of the given Node the function will fail.</para>
                 </listitem>
             </varlistentry>
 
@@ -5765,16 +5786,19 @@ $doc = XML::LibXML-&gt;new-&gt;parse_fil
 
                 <listitem>
                     <funcsynopsis>
-                        <funcsynopsisinfo>$rngschema = XML::LibXML::RelaxNG-&gt;new( location =&gt; $filename_or_url );
-$rngschema = XML::LibXML::RelaxNG-&gt;new( string =&gt; $xmlschemastring );
-$rngschema = XML::LibXML::RelaxNG-&gt;new( DOM =&gt; $doc );</funcsynopsisinfo>
+                        <funcsynopsisinfo>$rngschema = XML::LibXML::RelaxNG-&gt;new( location =&gt; $filename_or_url, no_network =&gt; 1 );
+$rngschema = XML::LibXML::RelaxNG-&gt;new( string =&gt; $xmlschemastring, no_network =&gt; 1 );
+$rngschema = XML::LibXML::RelaxNG-&gt;new( DOM =&gt; $doc, no_network =&gt; 1 );</funcsynopsisinfo>
                     </funcsynopsis>
 
-                    <para>The constructor of XML::LibXML::RelaxNG may get called with either one of three parameters. The parameter tells the class from which
-                    source it should generate a validation schema. It is important, that each schema only have a single source.</para>
+                    <para>The constructor of XML::LibXML::RelaxNG needs to be called with list of parameters. At least location, string or DOM parameter is required to
+                    specify source of schema. Optional parameter no_network set to 1 cause that parser would not access network and optional parameter recover
+                    set 1 cause that parser would not call die() on errors.</para>
+
+                    <para>It is important, that each schema only have a single source.</para>
 
                 <para>The location parameter allows one to parse a schema
-                    from the filesystem or a URL.</para>
+                    from the filesystem or a (non-HTTPS) URL.</para>
 
                     <para>The string parameter will parse the schema from the given XML string.</para>
 
@@ -5830,15 +5854,18 @@ $doc = XML::LibXML-&gt;new-&gt;parse_fil
 
                 <listitem>
                     <funcsynopsis>
-                        <funcsynopsisinfo>$xmlschema = XML::LibXML::Schema-&gt;new( location =&gt; $filename_or_url );
-$xmlschema = XML::LibXML::Schema-&gt;new( string =&gt; $xmlschemastring );</funcsynopsisinfo>
+                        <funcsynopsisinfo>$xmlschema = XML::LibXML::Schema-&gt;new( location =&gt; $filename_or_url, no_network =&gt; 1 );
+$xmlschema = XML::LibXML::Schema-&gt;new( string =&gt; $xmlschemastring, no_network =&gt; 1 );</funcsynopsisinfo>
                     </funcsynopsis>
 
-                    <para>The constructor of XML::LibXML::Schema may get called with either one of two parameters. The parameter tells the class from which
-                    source it should generate a validation schema. It is important, that each schema only have a single source.</para>
+                    <para>The constructor of XML::LibXML::Schema needs to be called with list of parameters. At least location or string parameter is required to
+                    specify source of schema. Optional parameter no_network set to 1 cause that parser would not access network and optional parameter recover
+                    set 1 cause that parser would not call die() on errors.</para>
+
+                    <para>It is important, that each schema only have a single source.</para>
 
                 <para>The location parameter allows one to parse a schema
-                    from the filesystem or a URL.</para>
+                    from the filesystem or a (non-HTTPS) URL.</para>
 
                     <para>The string parameter will parse the schema from the given XML string.</para>
 
@@ -5976,7 +6003,7 @@ my @nodes = $xc-&gt;findnodes('$A[work_a
           <term>registerVarLookupFunc</term>
           <listitem><funcsynopsis><funcsynopsisinfo>$xpc-&gt;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
@@ -6307,7 +6334,7 @@ sub processNode {
           <varlistentry>
             <term>location</term>
             <listitem>
-              <para>Read XML from a local file or URL.</para>
+              <para>Read XML from a local file or (non-HTTPS) URL.</para>
             </listitem>
           </varlistentry>
           <varlistentry>
@@ -6352,7 +6379,7 @@ sub processNode {
             <term>RelaxNG => $rng_schema</term>
             <listitem>
               <para>can be used to pass either a <xref linkend="XML-LibXML-RelaxNG"/>
-		object or a filename or URL of a RelaxNG schema to the
+		object or a filename or (non-HTTPS) URL of a RelaxNG schema to the
 		constructor. The schema is then used to validate the
 		document as it is processed.</para>
             </listitem>
@@ -6361,7 +6388,7 @@ sub processNode {
             <term>Schema => $xsd_schema</term>
             <listitem>
               <para>can be used to pass either a <xref linkend="XML-LibXML-Schema"/>
-		object or a filename or URL of a W3C XSD schema to the
+		object or a filename or (non-HTTPS) URL of a W3C XSD schema to the
 		constructor. The schema is then used to validate the
 		document as it is processed.</para>
             </listitem>
diff -pruN 2.0207+dfsg+really+2.0134-6/inc/Devel/CheckLib.pm 2.0207+dfsg+really+2.0207-0ubuntu7/inc/Devel/CheckLib.pm
--- 2.0207+dfsg+really+2.0134-6/inc/Devel/CheckLib.pm	2016-05-30 09:01:59.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/inc/Devel/CheckLib.pm	1970-01-01 00:00:00.000000000 +0000
@@ -1,493 +0,0 @@
-# $Id: CheckLib.pm,v 1.25 2008/10/27 12:16:23 drhyde Exp $
-
-package #
-Devel::CheckLib;
-
-use 5.00405; #postfix foreach
-use strict;
-use warnings;
-
-use vars qw($VERSION @ISA @EXPORT);
-$VERSION = '1.01';
-use Config qw(%Config);
-use Text::ParseWords 'quotewords';
-
-use File::Spec;
-use File::Temp;
-
-require Exporter;
-@ISA = qw(Exporter);
-@EXPORT = qw(assert_lib check_lib_or_exit check_lib);
-
-# localising prevents the warningness leaking out of this module
-local $^W = 1;    # use warnings is a 5.6-ism
-
-_findcc(); # bomb out early if there's no compiler
-
-=head1 NAME
-
-Devel::CheckLib - check that a library is available
-
-=head1 DESCRIPTION
-
-Devel::CheckLib is a perl module that checks whether a particular C
-library and its headers are available.
-
-=head1 SYNOPSIS
-
-    use Devel::CheckLib;
-
-    check_lib_or_exit( lib => 'jpeg', header => 'jpeglib.h' );
-    check_lib_or_exit( lib => [ 'iconv', 'jpeg' ] );
-
-    # or prompt for path to library and then do this:
-    check_lib_or_exit( lib => 'jpeg', libpath => $additional_path );
-
-=head1 USING IT IN Makefile.PL or Build.PL
-
-If you want to use this from Makefile.PL or Build.PL, do
-not simply copy the module into your distribution as this may cause
-problems when PAUSE and search.cpan.org index the distro.  Instead, use
-the use-devel-checklib script.
-
-=head1 HOW IT WORKS
-
-You pass named parameters to a function, describing to it how to build
-and link to the libraries.
-
-It works by trying to compile some code - which defaults to this:
-
-    int main(void) { return 0; }
-
-and linking it to the specified libraries.  If something pops out the end
-which looks executable, it gets executed, and if main() returns 0 we know
-that it worked.  That tiny program is
-built once for each library that you specify, and (without linking) once
-for each header file.
-
-If you want to check for the presence of particular functions in a
-library, or even that those functions return particular results, then
-you can pass your own function body for main() thus:
-
-    check_lib_or_exit(
-        function => 'foo();if(libversion() > 5) return 0; else return 1;'
-        incpath  => ...
-        libpath  => ...
-        lib      => ...
-        header   => ...
-    );
-
-In that case, it will fail to build if either foo() or libversion() don't
-exist, and main() will return the wrong value if libversion()'s return
-value isn't what you want.
-
-=head1 FUNCTIONS
-
-All of these take the same named parameters and are exported by default.
-To avoid exporting them, C<use Devel::CheckLib ()>.
-
-=head2 assert_lib
-
-This takes several named parameters, all of which are optional, and dies
-with an error message if any of the libraries listed can
-not be found.  B<Note>: dying in a Makefile.PL or Build.PL may provoke
-a 'FAIL' report from CPAN Testers' automated smoke testers.  Use
-C<check_lib_or_exit> instead.
-
-The named parameters are:
-
-=over
-
-=item lib
-
-Must be either a string with the name of a single
-library or a reference to an array of strings of library names.  Depending
-on the compiler found, library names will be fed to the compiler either as
-C<-l> arguments or as C<.lib> file names.  (E.g. C<-ljpeg> or C<jpeg.lib>)
-
-=item libpath
-
-a string or an array of strings
-representing additional paths to search for libraries.
-
-=item LIBS
-
-a C<ExtUtils::MakeMaker>-style space-seperated list of
-libraries (each preceded by '-l') and directories (preceded by '-L').
-
-This can also be supplied on the command-line.
-
-=item debug
-
-If true - emit information during processing that can be used for
-debugging.
-
-=back
-
-And libraries are no use without header files, so ...
-
-=over
-
-=item header
-
-Must be either a string with the name of a single
-header file or a reference to an array of strings of header file names.
-
-=item incpath
-
-a string or an array of strings
-representing additional paths to search for headers.
-
-=item INC
-
-a C<ExtUtils::MakeMaker>-style space-seperated list of
-incpaths, each preceded by '-I'.
-
-This can also be supplied on the command-line.
-
-=back
-
-=head2 check_lib_or_exit
-
-This behaves exactly the same as C<assert_lib()> except that instead of
-dieing, it warns (with exactly the same error message) and exits.
-This is intended for use in Makefile.PL / Build.PL
-when you might want to prompt the user for various paths and
-things before checking that what they've told you is sane.
-
-If any library or header is missing, it exits with an exit value of 0 to avoid
-causing a CPAN Testers 'FAIL' report.  CPAN Testers should ignore this
-result -- which is what you want if an external library dependency is not
-available.
-
-=head2 check_lib
-
-This behaves exactly the same as C<assert_lib()> except that it is silent,
-returning false instead of dieing, or true otherwise.
-
-=cut
-
-sub check_lib_or_exit {
-    eval 'assert_lib(@_)';
-    if($@) {
-        warn $@;
-        exit;
-    }
-}
-
-sub check_lib {
-    eval 'assert_lib(@_)';
-    return $@ ? 0 : 1;
-}
-
-sub assert_lib {
-    my %args = @_;
-    my (@libs, @libpaths, @headers, @incpaths);
-
-    # FIXME: these four just SCREAM "refactor" at me
-    @libs = (ref($args{lib}) ? @{$args{lib}} : $args{lib})
-        if $args{lib};
-    @libpaths = (ref($args{libpath}) ? @{$args{libpath}} : $args{libpath})
-        if $args{libpath};
-    @headers = (ref($args{header}) ? @{$args{header}} : $args{header})
-        if $args{header};
-    @incpaths = (ref($args{incpath}) ? @{$args{incpath}} : $args{incpath})
-        if $args{incpath};
-
-    # work-a-like for Makefile.PL's LIBS and INC arguments
-    # if given as command-line argument, append to %args
-    for my $arg (@ARGV) {
-        for my $mm_attr_key (qw(LIBS INC)) {
-            if (my ($mm_attr_value) = $arg =~ /\A $mm_attr_key = (.*)/x) {
-            # it is tempting to put some \s* into the expression, but the
-            # MM command-line parser only accepts LIBS etc. followed by =,
-            # so we should not be any more lenient with whitespace than that
-                $args{$mm_attr_key} .= " $mm_attr_value";
-            }
-        }
-    }
-
-    # using special form of split to trim whitespace
-    if(defined($args{LIBS})) {
-        foreach my $arg (split(' ', $args{LIBS})) {
-            die("LIBS argument badly-formed: $arg\n") unless($arg =~ /^-[lLR]/);
-            push @{$arg =~ /^-l/ ? \@libs : \@libpaths}, substr($arg, 2);
-        }
-    }
-    if(defined($args{INC})) {
-        foreach my $arg (split(' ', $args{INC})) {
-            die("INC argument badly-formed: $arg\n") unless($arg =~ /^-I/);
-            push @incpaths, substr($arg, 2);
-        }
-    }
-
-    my ($cc, $ld) = _findcc();
-    my @missing;
-    my @wrongresult;
-    my @use_headers;
-
-    # first figure out which headers we can't find ...
-    for my $header (@headers) {
-        push @use_headers, $header;
-        my($ch, $cfile) = File::Temp::tempfile(
-            'assertlibXXXXXXXX', SUFFIX => '.c'
-        );
-        my $ofile = $cfile;
-        $ofile =~ s/\.c$/$Config{_o}/;
-        print $ch qq{#include <$_>\n} for @use_headers;
-        print $ch qq{int main(void) { return 0; }\n};
-        close($ch);
-        my $exefile = File::Temp::mktemp( 'assertlibXXXXXXXX' ) . $Config{_exe};
-        my @sys_cmd;
-        # FIXME: re-factor - almost identical code later when linking
-        if ( $Config{cc} eq 'cl' ) {                 # Microsoft compiler
-            require Win32;
-            @sys_cmd = (
-                @$cc,
-                $cfile,
-                "/Fe$exefile",
-                (map { '/I'.Win32::GetShortPathName($_) } @incpaths),
-		"/link",
-		@$ld
-            );
-        } elsif($Config{cc} =~ /bcc32(\.exe)?/) {    # Borland
-            @sys_cmd = (
-                @$cc,
-                @$ld,
-                (map { "-I$_" } @incpaths),
-                "-o$exefile",
-                $cfile
-            );
-        } else { # Unix-ish: gcc, Sun, AIX (gcc, cc), ...
-            @sys_cmd = (
-                @$cc,
-                @$ld,
-                $cfile,
-                (map { "-I$_" } @incpaths),
-                "-o", "$exefile"
-            );
-        }
-        warn "# @sys_cmd\n" if $args{debug};
-        my $rv = $args{debug} ? system(@sys_cmd) : _quiet_system(@sys_cmd);
-        push @missing, $header if $rv != 0 || ! -x $exefile;
-        _cleanup_exe($exefile);
-        unlink $ofile if -e $ofile;
-        unlink $cfile;
-    }
-
-    # now do each library in turn with headers
-    my($ch, $cfile) = File::Temp::tempfile(
-        'assertlibXXXXXXXX', SUFFIX => '.c'
-    );
-    my $ofile = $cfile;
-    $ofile =~ s/\.c$/$Config{_o}/;
-    print $ch qq{#include <$_>\n} foreach (@headers);
-    print $ch "int main(void) { ".($args{function} || 'return 0;')." }\n";
-    close($ch);
-    for my $lib ( @libs ) {
-        my $exefile = File::Temp::mktemp( 'assertlibXXXXXXXX' ) . $Config{_exe};
-        my @sys_cmd;
-        if ( $Config{cc} eq 'cl' ) {                 # Microsoft compiler
-            require Win32;
-            my @libpath = map {
-                q{/libpath:} . Win32::GetShortPathName($_)
-            } @libpaths;
-            # this is horribly sensitive to the order of arguments
-            @sys_cmd = (
-                @$cc,
-                $cfile,
-                "${lib}.lib",
-                "/Fe$exefile",
-                (map { '/I'.Win32::GetShortPathName($_) } @incpaths),
-                "/link",
-                @$ld,
-                (map {'/libpath:'.Win32::GetShortPathName($_)} @libpaths),
-            );
-        } elsif($Config{cc} eq 'CC/DECC') {          # VMS
-        } elsif($Config{cc} =~ /bcc32(\.exe)?/) {    # Borland
-            @sys_cmd = (
-                @$cc,
-                @$ld,
-                "-o$exefile",
-                (map { "-I$_" } @incpaths),
-                (map { "-L$_" } @libpaths),
-                "-l$lib",
-                $cfile);
-        } else {                                     # Unix-ish
-                                                     # gcc, Sun, AIX (gcc, cc)
-            @sys_cmd = (
-                @$cc,
-                @$ld,
-                $cfile,
-                "-o", "$exefile",
-                (map { "-I$_" } @incpaths),
-                (map { "-L$_" } @libpaths),
-                "-l$lib",
-            );
-        }
-        warn "# @sys_cmd\n" if $args{debug};
-        my $rv = $args{debug} ? system(@sys_cmd) : _quiet_system(@sys_cmd);
-        push @missing, $lib if $rv != 0 || ! -x $exefile;
-        my $absexefile = File::Spec->rel2abs($exefile);
-        $absexefile = '"'.$absexefile.'"' if $absexefile =~ m/\s/;
-        push @wrongresult, $lib if $rv == 0 && -x $exefile && system($absexefile) != 0;
-        unlink $ofile if -e $ofile;
-        _cleanup_exe($exefile);
-    }
-    unlink $cfile;
-
-    my $miss_string = join( q{, }, map { qq{'$_'} } @missing );
-    die("Can't link/include C library $miss_string, aborting.\n") if @missing;
-    my $wrong_string = join( q{, }, map { qq{'$_'} } @wrongresult);
-    die("wrong result: $wrong_string\n") if @wrongresult;
-}
-
-sub _cleanup_exe {
-    my ($exefile) = @_;
-    my $ofile = $exefile;
-    $ofile =~ s/$Config{_exe}$/$Config{_o}/;
-    unlink $exefile if -f $exefile;
-    unlink $ofile if -f $ofile;
-    unlink "$exefile\.manifest" if -f "$exefile\.manifest";
-    if ( $Config{cc} eq 'cl' ) {
-        # MSVC also creates foo.ilk and foo.pdb
-        my $ilkfile = $exefile;
-        $ilkfile =~ s/$Config{_exe}$/.ilk/;
-        my $pdbfile = $exefile;
-        $pdbfile =~ s/$Config{_exe}$/.pdb/;
-        unlink $ilkfile if -f $ilkfile;
-        unlink $pdbfile if -f $pdbfile;
-    }
-    return
-}
-
-# return ($cc, $ld)
-# where $cc is an array ref of compiler name, compiler flags
-# where $ld is an array ref of linker flags
-sub _findcc {
-    # Need to use $keep=1 to work with MSWin32 backslashes and quotes
-    my $Config_ccflags =  $Config{ccflags};  # use copy so ASPerl will compile
-    my @Config_ldflags = ();
-    for my $config_val ( @Config{qw(ldflags perllibs)} ){
-        push @Config_ldflags, $config_val if ( $config_val =~ /\S/ );
-    }
-    my @ccflags = grep { length } quotewords('\s+', 1, $Config_ccflags||'');
-    my @ldflags = grep { length } quotewords('\s+', 1, @Config_ldflags);
-    my @paths = split(/$Config{path_sep}/, $ENV{PATH});
-    my @cc = split(/\s+/, $Config{cc});
-    return ( [ @cc, @ccflags ], \@ldflags ) if -x $cc[0];
-    foreach my $path (@paths) {
-        my $compiler = File::Spec->catfile($path, $cc[0]) . $Config{_exe};
-        return ([ $compiler, @cc[1 .. $#cc], @ccflags ], \@ldflags)
-            if -x $compiler;
-    }
-    die("Couldn't find your C compiler\n");
-}
-
-# code substantially borrowed from IPC::Run3
-sub _quiet_system {
-    my (@cmd) = @_;
-
-    # save handles
-    local *STDOUT_SAVE;
-    local *STDERR_SAVE;
-    open STDOUT_SAVE, ">&STDOUT" or die "CheckLib: $! saving STDOUT";
-    open STDERR_SAVE, ">&STDERR" or die "CheckLib: $! saving STDERR";
-
-    # redirect to nowhere
-    local *DEV_NULL;
-    open DEV_NULL, ">" . File::Spec->devnull
-        or die "CheckLib: $! opening handle to null device";
-    open STDOUT, ">&" . fileno DEV_NULL
-        or die "CheckLib: $! redirecting STDOUT to null handle";
-    open STDERR, ">&" . fileno DEV_NULL
-        or die "CheckLib: $! redirecting STDERR to null handle";
-
-    # run system command
-    my $rv = system(@cmd);
-
-    # restore handles
-    open STDOUT, ">&" . fileno STDOUT_SAVE
-        or die "CheckLib: $! restoring STDOUT handle";
-    open STDERR, ">&" . fileno STDERR_SAVE
-        or die "CheckLib: $! restoring STDERR handle";
-
-    return $rv;
-}
-
-=head1 PLATFORMS SUPPORTED
-
-You must have a C compiler installed.  We check for C<$Config{cc}>,
-both literally as it is in Config.pm and also in the $PATH.
-
-It has been tested with varying degrees on rigourousness on:
-
-=over
-
-=item gcc (on Linux, *BSD, Mac OS X, Solaris, Cygwin)
-
-=item Sun's compiler tools on Solaris
-
-=item IBM's tools on AIX
-
-=item SGI's tools on Irix 6.5
-
-=item Microsoft's tools on Windows
-
-=item MinGW on Windows (with Strawberry Perl)
-
-=item Borland's tools on Windows
-
-=item QNX
-
-=back
-
-=head1 WARNINGS, BUGS and FEEDBACK
-
-This is a very early release intended primarily for feedback from
-people who have discussed it.  The interface may change and it has
-not been adequately tested.
-
-Feedback is most welcome, including constructive criticism.
-Bug reports should be made using L<http://rt.cpan.org/> or by email.
-
-When submitting a bug report, please include the output from running:
-
-    perl -V
-    perl -MDevel::CheckLib -e0
-
-=head1 SEE ALSO
-
-L<Devel::CheckOS>
-
-L<Probe::Perl>
-
-=head1 AUTHORS
-
-David Cantrell E<lt>david@cantrell.org.ukE<gt>
-
-David Golden E<lt>dagolden@cpan.orgE<gt>
-
-Yasuhiro Matsumoto E<lt>mattn@cpan.orgE<gt>
-
-Thanks to the cpan-testers-discuss mailing list for prompting us to write it
-in the first place;
-
-to Chris Williams for help with Borland support;
-
-to Tony Cook for help with Microsoft compiler command-line options
-
-=head1 COPYRIGHT and LICENCE
-
-Copyright 2007 David Cantrell. Portions copyright 2007 David Golden.
-
-This module is free-as-in-speech software, and may be used, distributed,
-and modified under the same conditions as perl itself.
-
-=head1 CONSPIRACY
-
-This module is also free-as-in-mason software.
-
-=cut
-
-1;
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Attr.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Attr.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Attr.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Attr.pod	2021-04-17 08:07:35.000000000 +0000
@@ -121,7 +121,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/AttributeHash.pm 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/AttributeHash.pm
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/AttributeHash.pm	2019-02-10 14:52:09.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/AttributeHash.pm	2021-04-17 08:06:16.000000000 +0000
@@ -7,7 +7,7 @@ use Tie::Hash;
 our @ISA = qw/Tie::Hash/;
 
 use vars qw($VERSION);
-$VERSION = "2.0134"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
 
 BEGIN
 {
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Boolean.pm 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Boolean.pm
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Boolean.pm	2019-02-10 14:52:09.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Boolean.pm	2021-04-17 08:06:16.000000000 +0000
@@ -16,7 +16,7 @@ use warnings;
 
 use vars qw ($VERSION);
 
-$VERSION = "2.0134"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use overload
         '""' => \&value,
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/CDATASection.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/CDATASection.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/CDATASection.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/CDATASection.pod	2021-04-17 08:07:35.000000000 +0000
@@ -45,7 +45,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Comment.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Comment.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Comment.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Comment.pod	2021-04-17 08:07:35.000000000 +0000
@@ -46,7 +46,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Common.pm 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Common.pm
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Common.pm	2019-02-10 14:52:09.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Common.pm	2021-04-17 08:06:16.000000000 +0000
@@ -19,12 +19,11 @@ use strict;
 use warnings;
 
 require Exporter;
-require DynaLoader;
 use vars qw( @ISA $VERSION @EXPORT @EXPORT_OK %EXPORT_TAGS);
 
 @ISA = qw(Exporter);
 
-$VERSION = "2.0134"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use XML::LibXML qw(:libxml);
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Common.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Common.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Common.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Common.pod	2021-04-17 08:07:35.000000000 +0000
@@ -116,7 +116,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/DOM.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/DOM.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/DOM.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/DOM.pod	2021-04-17 08:07:35.000000000 +0000
@@ -129,7 +129,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Devel.pm 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Devel.pm
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Devel.pm	2019-02-10 14:52:09.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Devel.pm	2021-04-17 08:06:16.000000000 +0000
@@ -12,7 +12,7 @@ use warnings;
 use XML::LibXML;
 
 use vars qw ($VERSION);
-$VERSION = "2.0134"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use 5.008_000;
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Document.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Document.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Document.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Document.pod	2021-04-17 08:07:35.000000000 +0000
@@ -683,7 +683,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/DocumentFragment.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/DocumentFragment.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/DocumentFragment.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/DocumentFragment.pod	2021-04-17 08:07:35.000000000 +0000
@@ -27,7 +27,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Dtd.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Dtd.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Dtd.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Dtd.pod	2021-04-17 08:07:35.000000000 +0000
@@ -89,7 +89,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Element.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Element.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Element.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Element.pod	2021-04-17 08:07:35.000000000 +0000
@@ -382,7 +382,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/ErrNo.pm 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/ErrNo.pm
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/ErrNo.pm	2019-02-10 14:52:09.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/ErrNo.pm	2021-04-17 08:06:16.000000000 +0000
@@ -14,7 +14,7 @@ use strict;
 use warnings;
 use vars qw($VERSION);
 
-$VERSION = "2.0134"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use constant ERR_OK                               => 0;
 use constant ERR_INTERNAL_ERROR                   => 1;
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/ErrNo.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/ErrNo.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/ErrNo.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/ErrNo.pod	2021-04-17 08:07:35.000000000 +0000
@@ -17,7 +17,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Error.pm 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Error.pm
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Error.pm	2019-02-10 14:52:09.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Error.pm	2021-04-17 08:06:16.000000000 +0000
@@ -17,7 +17,6 @@ no warnings 'recursion';
 use Encode ();
 
 use vars qw(@error_domains $VERSION $WARNINGS);
-use Carp;
 use overload
   '""' => \&as_string,
   'eq' => sub {
@@ -29,7 +28,7 @@ use overload
   fallback => 1;
 
 $WARNINGS = 0; # 0: suppress, 1: report via warn, 2: report via die
-$VERSION = "2.0134"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use constant XML_ERR_NONE            => 0;
 use constant XML_ERR_WARNING         => 1; # A simple warning
@@ -243,7 +242,7 @@ sub as_string {
       # warnings.  This has the pleasing benefit of making the test suite
       # run warning-free.
       no warnings 'utf8';
-      my $context = Encode::encode('utf8', $self->{context}, Encode::FB_DEFAULT);
+      my $context = Encode::encode('UTF-8', $self->{context});
       $msg.=$context."\n";
       $context = substr($context,0,$self->{column});
       $context=~s/[^\t]/ /g;
@@ -254,7 +253,7 @@ sub as_string {
 
 sub dump {
   my ($self)=@_;
-  use Data::Dumper;
+  require Data::Dumper;
   return Data::Dumper->new([$self],['error'])->Dump;
 }
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Error.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Error.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Error.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Error.pod	2021-04-17 08:07:35.000000000 +0000
@@ -244,7 +244,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/InputCallback.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/InputCallback.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/InputCallback.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/InputCallback.pod	2021-04-17 08:07:35.000000000 +0000
@@ -280,7 +280,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Literal.pm 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Literal.pm
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Literal.pm	2019-02-10 14:52:09.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Literal.pm	2021-04-17 08:06:16.000000000 +0000
@@ -16,7 +16,7 @@ use strict;
 use warnings;
 
 use vars qw ($VERSION);
-$VERSION = "2.0134"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use overload
 		'""' => \&value,
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Namespace.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Namespace.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Namespace.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Namespace.pod	2021-04-17 08:07:35.000000000 +0000
@@ -141,7 +141,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Node.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Node.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Node.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Node.pod	2021-04-17 08:07:35.000000000 +0000
@@ -174,7 +174,7 @@ stripped from the context it is and inse
 
   $childnode = $node->removeChild( $childnode );
 
-This will unbind the Child Node from its parent C<<<<<< $node >>>>>>. The function returns the unbound node. If C<<<<<< oldNode >>>>>> is not a child of the given Node the function will fail.
+This will unbind the Child Node from its parent C<<<<<< $node >>>>>>. The function returns the unbound node. If C<<<<<< $childnode >>>>>> is not a child of the given Node the function will fail.
 
 
 =item replaceChild
@@ -763,7 +763,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/NodeList.pm 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/NodeList.pm
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/NodeList.pm	2019-02-10 14:52:09.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/NodeList.pm	2021-04-17 08:06:16.000000000 +0000
@@ -17,7 +17,7 @@ use XML::LibXML::Literal;
 use XML::LibXML::Number;
 
 use vars qw($VERSION);
-$VERSION = "2.0134"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use overload
         '""' => \&to_literal,
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Number.pm 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Number.pm
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Number.pm	2019-02-10 14:52:09.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Number.pm	2021-04-17 08:06:16.000000000 +0000
@@ -14,7 +14,7 @@ use strict;
 use warnings;
 
 use vars qw ($VERSION);
-$VERSION = "2.0134"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use overload
         '""' => \&value,
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/PI.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/PI.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/PI.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/PI.pod	2021-04-17 08:07:35.000000000 +0000
@@ -74,7 +74,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Parser.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Parser.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Parser.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Parser.pod	2021-04-17 08:07:35.000000000 +0000
@@ -174,13 +174,17 @@ eval{} block
 
 
 This function is available since XML::LibXML 1.70. It provides easy to use
-interface to the XML parser that parses given file (or URL), string, or input
-stream to a DOM tree. The arguments can be passed in a HASH reference or as
-name => value pairs. The function can be called as a class method or an object
-method. In both cases it internally creates a new parser instance passing the
-specified parser options; if called as an object method, it clones the original
-parser (preserving its settings) and additionally applies the specified options
-to the new parser. See the constructor C<<<<<< new >>>>>> and L<<<<<< Parser Options >>>>>> for more information.
+interface to the XML parser that parses given file (or non-HTTPS URL), string,
+or input stream to a DOM tree. The arguments can be passed in a HASH reference
+or as name => value pairs. The function can be called as a class method or an
+object method. In both cases it internally creates a new parser instance
+passing the specified parser options; if called as an object method, it clones
+the original parser (preserving its settings) and additionally applies the
+specified options to the new parser. See the constructor C<<<<<< new >>>>>> and L<<<<<< Parser Options >>>>>> for more information.
+
+Note that, due to a limitation in the underlying libxml2 library, this call
+does not recognize HTTPS-based URLs. (It will treat an HTTPS URL as a filename,
+likely throwing a "No such file or directory" exception.)
 
 
 =item load_html
@@ -269,8 +273,8 @@ This is an alias to process_xincludes, b
   $doc = $parser->parse_file( $xmlfilename );
 
 This function parses an XML document from a file or network; $xmlfilename can
-be either a filename or an URL. Note that for parsing files, this function is
-the fastest choice, about 6-8 times faster then parse_fh().
+be either a filename or a (non-HTTPS) URL. Note that for parsing files, this
+function is the fastest choice, about 6-8 times faster then parse_fh().
 
 
 =item parse_fh
@@ -308,7 +312,7 @@ function.
   $doc = $parser->parse_html_file( $htmlfile, \%opts );
 
 Similar to parse_file() but parses HTML (strict) documents; $htmlfile can be
-filename or URL.
+filename or (non-HTTPS) URL.
 
 An optional second argument can be used to pass some options to the HTML parser
 as a HASH reference. See options labeled with HTML in L<<<<<< Parser Options >>>>>>.
@@ -984,7 +988,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Pattern.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Pattern.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Pattern.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Pattern.pod	2021-04-17 08:07:35.000000000 +0000
@@ -94,7 +94,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Reader.pm 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Reader.pm
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Reader.pm	2019-02-10 14:52:09.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Reader.pm	2021-04-17 08:06:16.000000000 +0000
@@ -14,7 +14,7 @@ use strict;
 use warnings;
 
 use vars qw ($VERSION);
-$VERSION = "2.0134"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use 5.008_000;
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Reader.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Reader.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Reader.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Reader.pod	2021-04-17 08:07:35.000000000 +0000
@@ -90,7 +90,7 @@ where ... are (optional) reader options
 
 =item location
 
-Read XML from a local file or URL.
+Read XML from a local file or (non-HTTPS) URL.
 
 
 =item string
@@ -129,14 +129,14 @@ override document encoding.
 
 =item RelaxNG => $rng_schema
 
-can be used to pass either a L<<<<<< XML::LibXML::RelaxNG >>>>>> object or a filename or URL of a RelaxNG schema to the constructor. The schema
-is then used to validate the document as it is processed.
+can be used to pass either a L<<<<<< XML::LibXML::RelaxNG >>>>>> object or a filename or (non-HTTPS) URL of a RelaxNG schema to the constructor.
+The schema is then used to validate the document as it is processed.
 
 
 =item Schema => $xsd_schema
 
-can be used to pass either a L<<<<<< XML::LibXML::Schema >>>>>> object or a filename or URL of a W3C XSD schema to the constructor. The schema
-is then used to validate the document as it is processed.
+can be used to pass either a L<<<<<< XML::LibXML::Schema >>>>>> object or a filename or (non-HTTPS) URL of a W3C XSD schema to the constructor.
+The schema is then used to validate the document as it is processed.
 
 
 =item ...
@@ -657,7 +657,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/RegExp.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/RegExp.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/RegExp.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/RegExp.pod	2021-04-17 08:07:35.000000000 +0000
@@ -58,7 +58,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/RelaxNG.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/RelaxNG.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/RelaxNG.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/RelaxNG.pod	2021-04-17 08:07:35.000000000 +0000
@@ -9,9 +9,9 @@ XML::LibXML::RelaxNG - RelaxNG Schema Va
   use XML::LibXML;
   $doc = XML::LibXML->new->parse_file($url);
 
-  $rngschema = XML::LibXML::RelaxNG->new( location => $filename_or_url );
-  $rngschema = XML::LibXML::RelaxNG->new( string => $xmlschemastring );
-  $rngschema = XML::LibXML::RelaxNG->new( DOM => $doc );
+  $rngschema = XML::LibXML::RelaxNG->new( location => $filename_or_url, no_network => 1 );
+  $rngschema = XML::LibXML::RelaxNG->new( string => $xmlschemastring, no_network => 1 );
+  $rngschema = XML::LibXML::RelaxNG->new( DOM => $doc, no_network => 1 );
   eval { $rngschema->validate( $doc ); };
 
 =head1 DESCRIPTION
@@ -27,17 +27,20 @@ validation.
 
 =item new
 
-  $rngschema = XML::LibXML::RelaxNG->new( location => $filename_or_url );
-  $rngschema = XML::LibXML::RelaxNG->new( string => $xmlschemastring );
-  $rngschema = XML::LibXML::RelaxNG->new( DOM => $doc );
-
-The constructor of XML::LibXML::RelaxNG may get called with either one of three
-parameters. The parameter tells the class from which source it should generate
-a validation schema. It is important, that each schema only have a single
-source.
+  $rngschema = XML::LibXML::RelaxNG->new( location => $filename_or_url, no_network => 1 );
+  $rngschema = XML::LibXML::RelaxNG->new( string => $xmlschemastring, no_network => 1 );
+  $rngschema = XML::LibXML::RelaxNG->new( DOM => $doc, no_network => 1 );
+
+The constructor of XML::LibXML::RelaxNG needs to be called with list of
+parameters. At least location, string or DOM parameter is required to specify
+source of schema. Optional parameter no_network set to 1 cause that parser
+would not access network and optional parameter recover set 1 cause that parser
+would not call die() on errors.
+
+It is important, that each schema only have a single source.
 
 The location parameter allows one to parse a schema from the filesystem or a
-URL.
+(non-HTTPS) URL.
 
 The string parameter will parse the schema from the given XML string.
 
@@ -70,7 +73,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/SAX/Builder.pm 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/SAX/Builder.pm
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/SAX/Builder.pm	2019-02-10 14:52:09.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/SAX/Builder.pm	2021-04-17 08:06:16.000000000 +0000
@@ -21,7 +21,7 @@ sub CLONE_SKIP {
   return $XML::LibXML::__threads_shared ? 0 : 1;
 }
 
-$VERSION = "2.0134"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
 
 sub new {
     my $class = shift;
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/SAX/Builder.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/SAX/Builder.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/SAX/Builder.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/SAX/Builder.pod	2021-04-17 08:07:35.000000000 +0000
@@ -38,7 +38,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/SAX/Generator.pm 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/SAX/Generator.pm
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/SAX/Generator.pm	2019-02-10 14:52:09.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/SAX/Generator.pm	2021-04-17 08:06:16.000000000 +0000
@@ -15,7 +15,7 @@ use warnings;
 use XML::LibXML;
 use vars qw ($VERSION);
 
-$VERSION = "2.0134"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
 
 sub CLONE_SKIP {
   return $XML::LibXML::__threads_shared ? 0 : 1;
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/SAX/Parser.pm 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/SAX/Parser.pm
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/SAX/Parser.pm	2019-02-10 14:52:09.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/SAX/Parser.pm	2021-04-17 08:06:16.000000000 +0000
@@ -18,7 +18,7 @@ use XML::LibXML::Common qw(:libxml);
 use XML::SAX::Base;
 use XML::SAX::DocumentLocator;
 
-$VERSION = "2.0134"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
 @ISA = ('XML::SAX::Base');
 
 sub CLONE_SKIP {
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/SAX.pm 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/SAX.pm
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/SAX.pm	2019-02-10 14:52:09.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/SAX.pm	2021-04-17 08:06:16.000000000 +0000
@@ -14,7 +14,7 @@ use warnings;
 
 use vars qw($VERSION @ISA);
 
-$VERSION = "2.0134"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
 
 use XML::LibXML;
 use XML::SAX::Base;
@@ -47,9 +47,16 @@ sub _parse_characterstream {
     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;
@@ -58,7 +65,7 @@ sub _parse_bytestream {
 
 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;
@@ -67,7 +74,7 @@ sub _parse_string {
 
 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;
@@ -76,7 +83,7 @@ sub _parse_systemid {
 
 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;
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/SAX.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/SAX.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/SAX.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/SAX.pod	2021-04-17 08:07:35.000000000 +0000
@@ -47,7 +47,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Schema.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Schema.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Schema.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Schema.pod	2021-04-17 08:07:35.000000000 +0000
@@ -9,8 +9,8 @@ XML::LibXML::Schema - XML Schema Validat
   use XML::LibXML;
   $doc = XML::LibXML->new->parse_file($url);
 
-  $xmlschema = XML::LibXML::Schema->new( location => $filename_or_url );
-  $xmlschema = XML::LibXML::Schema->new( string => $xmlschemastring );
+  $xmlschema = XML::LibXML::Schema->new( location => $filename_or_url, no_network => 1 );
+  $xmlschema = XML::LibXML::Schema->new( string => $xmlschemastring, no_network => 1 );
   eval { $xmlschema->validate( $doc ); };
 
 =head1 DESCRIPTION
@@ -27,16 +27,19 @@ validation. As of 2.6.32, libxml2 only s
 
 =item new
 
-  $xmlschema = XML::LibXML::Schema->new( location => $filename_or_url );
-  $xmlschema = XML::LibXML::Schema->new( string => $xmlschemastring );
+  $xmlschema = XML::LibXML::Schema->new( location => $filename_or_url, no_network => 1 );
+  $xmlschema = XML::LibXML::Schema->new( string => $xmlschemastring, no_network => 1 );
 
-The constructor of XML::LibXML::Schema may get called with either one of two
-parameters. The parameter tells the class from which source it should generate
-a validation schema. It is important, that each schema only have a single
-source.
+The constructor of XML::LibXML::Schema needs to be called with list of
+parameters. At least location or string parameter is required to specify source
+of schema. Optional parameter no_network set to 1 cause that parser would not
+access network and optional parameter recover set 1 cause that parser would not
+call die() on errors.
+
+It is important, that each schema only have a single source.
 
 The location parameter allows one to parse a schema from the filesystem or a
-URL.
+(non-HTTPS) URL.
 
 The string parameter will parse the schema from the given XML string.
 
@@ -66,7 +69,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Text.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Text.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/Text.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/Text.pod	2021-04-17 08:07:35.000000000 +0000
@@ -170,7 +170,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/XPathContext.pm 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/XPathContext.pm
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/XPathContext.pm	2019-02-10 14:52:09.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/XPathContext.pm	2021-04-17 08:06:16.000000000 +0000
@@ -17,7 +17,7 @@ use Carp;
 use XML::LibXML;
 use XML::LibXML::NodeList;
 
-$VERSION = "2.0134"; # VERSION TEMPLATE: DO NOT CHANGE
+$VERSION = "2.0207"; # VERSION TEMPLATE: DO NOT CHANGE
 
 # should LibXML XPath data types be used for simple objects
 # when passing parameters to extension functions (default: no)
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/XPathContext.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/XPathContext.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/XPathContext.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/XPathContext.pod	2021-04-17 08:07:35.000000000 +0000
@@ -143,7 +143,7 @@ Returns namespace URI registered with C<
 
   $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)
@@ -362,7 +362,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/XPathExpression.pod 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/XPathExpression.pod
--- 2.0207+dfsg+really+2.0134-6/lib/XML/LibXML/XPathExpression.pod	2019-02-10 14:56:01.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/lib/XML/LibXML/XPathExpression.pod	2021-04-17 08:07:35.000000000 +0000
@@ -52,7 +52,7 @@ Petr Pajas
 
 =head1 VERSION
 
-2.0134
+2.0207
 
 =head1 COPYRIGHT
 
diff -pruN 2.0207+dfsg+really+2.0134-6/perl-libxml-mm.c 2.0207+dfsg+really+2.0207-0ubuntu7/perl-libxml-mm.c
--- 2.0207+dfsg+really+2.0134-6/perl-libxml-mm.c	2018-07-17 20:58:24.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/perl-libxml-mm.c	2021-04-17 04:37:28.000000000 +0000
@@ -1118,7 +1118,7 @@ Sv2C( SV* scalar, const xmlChar *encodin
     dTHX;
 
     xs_warn("SV2C: start!\n");
-    if ( scalar != NULL && scalar != &PL_sv_undef ) {
+    if ( scalar != NULL && SvOK(scalar) ) {
         STRLEN len = 0;
         char * t_pv =SvPV(scalar, len);
         xmlChar* ts = NULL;
diff -pruN 2.0207+dfsg+really+2.0134-6/scripts/bump-version-number.pl 2.0207+dfsg+really+2.0207-0ubuntu7/scripts/bump-version-number.pl
--- 2.0207+dfsg+really+2.0134-6/scripts/bump-version-number.pl	2016-05-30 09:01:59.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/scripts/bump-version-number.pl	2021-04-15 16:38:50.000000000 +0000
@@ -3,14 +3,14 @@
 use strict;
 use warnings;
 
-use File::Find::Object;
-use IO::All;
+use File::Find::Object ();
+use Path::Tiny qw/ path tempdir tempfile cwd /;
 
-my $tree = File::Find::Object->new({}, 'lib/');
+my $tree = File::Find::Object->new( {}, 'lib/' );
 
 my $version_n = shift(@ARGV);
 
-if (!defined($version_n))
+if ( !defined($version_n) )
 {
     die "Specify version number as an argument! bump-version-number.pl '0.0.1'";
 }
@@ -19,27 +19,26 @@ sub process_file
 {
     # The filename.
     my ($r) = @_;
+    my $fh = path($r);
 
-    my @lines = io->file($r)->getlines();
+    my @lines = $fh->lines_utf8;
     foreach (@lines)
     {
-        s#(\$VERSION = "|^Version )\d+\.\d+(?:\.\d+)?("|)#$1 . $version_n . $2#e;
+s#(\$VERSION = "|^Version )\d+\.\d+(?:\.\d+)?("|)#$1 . $version_n . $2#e;
     }
-    io->file($r)->print(
-        @lines
-    );
+    $fh->spew_utf8(@lines);
 }
 
 process_file('LibXML.pm');
 
-while (my $r = $tree->next()) {
-    if ($r =~ m{/\.(?:svn|hg|git)\z})
+while ( my $r = $tree->next() )
+{
+    if ( $r =~ m{/\.(?:svn|hg|git)\z} )
     {
         $tree->prune();
     }
-    elsif ($r =~ m{\.pm\z})
+    elsif ( $r =~ m{\.pm\z} )
     {
         process_file($r);
     }
 }
-
diff -pruN 2.0207+dfsg+really+2.0134-6/scripts/tag-release.pl 2.0207+dfsg+really+2.0207-0ubuntu7/scripts/tag-release.pl
--- 2.0207+dfsg+really+2.0134-6/scripts/tag-release.pl	2016-05-30 09:22:27.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/scripts/tag-release.pl	2021-04-15 16:38:50.000000000 +0000
@@ -3,25 +3,21 @@
 use strict;
 use warnings;
 
-use IO::All;
+use Path::Tiny qw/ path /;
 
 my ($version) =
-    (map { m{\$VERSION *= *"([^"]+)"} ? ($1) : () }
-    io->file('LibXML.pm')->getlines()
-    )
-    ;
+    ( map { m{\$VERSION *= *"([^"]+)"} ? ($1) : () }
+        path('LibXML.pm')->lines_utf8() );
 
-if (!defined ($version))
+if ( !defined($version) )
 {
     die "Version is undefined!";
 }
 
 my @cmd = (
-    "git", "tag", "-m",
-    "Tagging the XML-LibXML release as $version",
+    "git", "tag", "-m", "Tagging the XML-LibXML release as $version",
     "XML-LibXML-$version",
 );
 
-print join(" ", map { /\s/ ? qq{"$_"} : $_ } @cmd), "\n";
+print join( " ", map { /\s/ ? qq{"$_"} : $_ } @cmd ), "\n";
 exec(@cmd);
-
diff -pruN 2.0207+dfsg+really+2.0134-6/t/00-report-prereqs.t 2.0207+dfsg+really+2.0207-0ubuntu7/t/00-report-prereqs.t
--- 2.0207+dfsg+really+2.0134-6/t/00-report-prereqs.t	1970-01-01 00:00:00.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/t/00-report-prereqs.t	2021-04-15 16:38:50.000000000 +0000
@@ -0,0 +1,194 @@
+#!perl
+
+use strict;
+use warnings;
+
+# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.027
+
+use Test::More tests => 1;
+
+use ExtUtils::MakeMaker;
+use File::Spec;
+
+# from $version::LAX
+my $lax_version_re =
+    qr/(?: undef | (?: (?:[0-9]+) (?: \. | (?:\.[0-9]+) (?:_[0-9]+)? )?
+            |
+            (?:\.[0-9]+) (?:_[0-9]+)?
+        ) | (?:
+            v (?:[0-9]+) (?: (?:\.[0-9]+)+ (?:_[0-9]+)? )?
+            |
+            (?:[0-9]+)? (?:\.[0-9]+){2,} (?:_[0-9]+)?
+        )
+    )/x;
+
+# hide optional CPAN::Meta modules from prereq scanner
+# and check if they are available
+my $cpan_meta = "CPAN::Meta";
+my $cpan_meta_pre = "CPAN::Meta::Prereqs";
+my $HAS_CPAN_META = eval "require $cpan_meta; $cpan_meta->VERSION('2.120900')" && eval "require $cpan_meta_pre"; ## no critic
+
+# Verify requirements?
+my $DO_VERIFY_PREREQS = 1;
+
+sub _max {
+    my $max = shift;
+    $max = ( $_ > $max ) ? $_ : $max for @_;
+    return $max;
+}
+
+sub _merge_prereqs {
+    my ($collector, $prereqs) = @_;
+
+    # CPAN::Meta::Prereqs object
+    if (ref $collector eq $cpan_meta_pre) {
+        return $collector->with_merged_prereqs(
+            CPAN::Meta::Prereqs->new( $prereqs )
+        );
+    }
+
+    # Raw hashrefs
+    for my $phase ( keys %$prereqs ) {
+        for my $type ( keys %{ $prereqs->{$phase} } ) {
+            for my $module ( keys %{ $prereqs->{$phase}{$type} } ) {
+                $collector->{$phase}{$type}{$module} = $prereqs->{$phase}{$type}{$module};
+            }
+        }
+    }
+
+    return $collector;
+}
+
+my @include = qw(
+
+);
+
+my @exclude = qw(
+
+);
+
+# Add static prereqs to the included modules list
+my $static_prereqs = do './t/00-report-prereqs.dd';
+
+# Merge all prereqs (either with ::Prereqs or a hashref)
+my $full_prereqs = _merge_prereqs(
+    ( $HAS_CPAN_META ? $cpan_meta_pre->new : {} ),
+    $static_prereqs
+);
+
+# Add dynamic prereqs to the included modules list (if we can)
+my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
+my $cpan_meta_error;
+if ( $source && $HAS_CPAN_META
+    && (my $meta = eval { CPAN::Meta->load_file($source) } )
+) {
+    $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs);
+}
+else {
+    $cpan_meta_error = $@;    # capture error from CPAN::Meta->load_file($source)
+    $source = 'static metadata';
+}
+
+my @full_reports;
+my @dep_errors;
+my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs;
+
+# Add static includes into a fake section
+for my $mod (@include) {
+    $req_hash->{other}{modules}{$mod} = 0;
+}
+
+for my $phase ( qw(configure build test runtime develop other) ) {
+    next unless $req_hash->{$phase};
+    next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING});
+
+    for my $type ( qw(requires recommends suggests conflicts modules) ) {
+        next unless $req_hash->{$phase}{$type};
+
+        my $title = ucfirst($phase).' '.ucfirst($type);
+        my @reports = [qw/Module Want Have/];
+
+        for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) {
+            next if $mod eq 'perl';
+            next if grep { $_ eq $mod } @exclude;
+
+            my $file = $mod;
+            $file =~ s{::}{/}g;
+            $file .= ".pm";
+            my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC;
+
+            my $want = $req_hash->{$phase}{$type}{$mod};
+            $want = "undef" unless defined $want;
+            $want = "any" if !$want && $want == 0;
+
+            my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required";
+
+            if ($prefix) {
+                my $have = MM->parse_version( File::Spec->catfile($prefix, $file) );
+                $have = "undef" unless defined $have;
+                push @reports, [$mod, $want, $have];
+
+                if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) {
+                    if ( $have !~ /\A$lax_version_re\z/ ) {
+                        push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)";
+                    }
+                    elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) {
+                        push @dep_errors, "$mod version '$have' is not in required range '$want'";
+                    }
+                }
+            }
+            else {
+                push @reports, [$mod, $want, "missing"];
+
+                if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) {
+                    push @dep_errors, "$mod is not installed ($req_string)";
+                }
+            }
+        }
+
+        if ( @reports ) {
+            push @full_reports, "=== $title ===\n\n";
+
+            my $ml = _max( map { length $_->[0] } @reports );
+            my $wl = _max( map { length $_->[1] } @reports );
+            my $hl = _max( map { length $_->[2] } @reports );
+
+            if ($type eq 'modules') {
+                splice @reports, 1, 0, ["-" x $ml, "", "-" x $hl];
+                push @full_reports, map { sprintf("    %*s %*s\n", -$ml, $_->[0], $hl, $_->[2]) } @reports;
+            }
+            else {
+                splice @reports, 1, 0, ["-" x $ml, "-" x $wl, "-" x $hl];
+                push @full_reports, map { sprintf("    %*s %*s %*s\n", -$ml, $_->[0], $wl, $_->[1], $hl, $_->[2]) } @reports;
+            }
+
+            push @full_reports, "\n";
+        }
+    }
+}
+
+if ( @full_reports ) {
+    diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports;
+}
+
+if ( $cpan_meta_error || @dep_errors ) {
+    diag "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n";
+}
+
+if ( $cpan_meta_error ) {
+    my ($orig_source) = grep { -f } 'MYMETA.json', 'MYMETA.yml';
+    diag "\nCPAN::Meta->load_file('$orig_source') failed with: $cpan_meta_error\n";
+}
+
+if ( @dep_errors ) {
+    diag join("\n",
+        "\nThe following REQUIRED prerequisites were not satisfied:\n",
+        @dep_errors,
+        "\n"
+    );
+}
+
+# TEST
+pass;
+
+# vim: ts=4 sts=4 sw=4 et:
diff -pruN 2.0207+dfsg+really+2.0134-6/t/02parse.t 2.0207+dfsg+really+2.0207-0ubuntu7/t/02parse.t
--- 2.0207+dfsg+really+2.0134-6/t/02parse.t	2016-05-30 09:01:59.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/t/02parse.t	2021-04-15 16:38:50.000000000 +0000
@@ -25,6 +25,8 @@ use constant XML_DECL => "<?xml version=
 
 use Errno qw(ENOENT);
 
+# TEST*533
+
 ##
 # test values
 my @goodWFStrings = (
@@ -720,7 +722,7 @@ my $badXInclude = q{
     my %badstrings = (
                     SIMPLE => '<?xml version="1.0"?>'."\n<A/>\n",
                   );
-    my $parser = XML::LibXML->new;
+    my $parser = XML::LibXML->new(expand_entities => 1);
 
     $parser->validation(1);
     my $doc;
@@ -745,7 +747,7 @@ EOXML
 <bar/>
 EOXML
 
-    my $parser = XML::LibXML->new;
+    my $parser = XML::LibXML->new(expand_entities => 1);
     $parser->validation(1);
 
     eval { $parser->parse_string( $badxml ); };
diff -pruN 2.0207+dfsg+really+2.0134-6/t/13dtd.t 2.0207+dfsg+really+2.0207-0ubuntu7/t/13dtd.t
--- 2.0207+dfsg+really+2.0134-6/t/13dtd.t	2016-05-30 09:01:59.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/t/13dtd.t	2021-04-15 16:38:50.000000000 +0000
@@ -69,7 +69,7 @@ ok($dtdstr, "DTD String read");
     # TEST
     ok ($@, '->validate throws an exception');
 
-    my $parser = XML::LibXML->new();
+    my $parser = XML::LibXML->new(load_ext_dtd => 1);
     # TEST
     ok ($parser->validation(1), '->validation returns 1');
     # this one is OK as it's well formed (no DTD)
diff -pruN 2.0207+dfsg+really+2.0134-6/t/17callbacks.t 2.0207+dfsg+really+2.0207-0ubuntu7/t/17callbacks.t
--- 2.0207+dfsg+really+2.0134-6/t/17callbacks.t	2016-05-30 09:01:59.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/t/17callbacks.t	2021-04-15 16:38:50.000000000 +0000
@@ -276,7 +276,7 @@ $XML::LibXML::close_cb = $close1_global_
 
 {
     # tests if global callbacks are working
-    my $parser = XML::LibXML->new();
+    my $parser = XML::LibXML->new(load_ext_dtd => 1);
     # TEST
     ok($parser, '$parser was init');
 
diff -pruN 2.0207+dfsg+really+2.0134-6/t/18docfree.t 2.0207+dfsg+really+2.0207-0ubuntu7/t/18docfree.t
--- 2.0207+dfsg+really+2.0134-6/t/18docfree.t	2016-05-30 09:01:59.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/t/18docfree.t	2021-04-15 16:38:50.000000000 +0000
@@ -9,5 +9,6 @@ use XML::LibXML;
   $doc = XML::LibXML::Document->new();
 }
 # used to get "Attempt to free unreferenced scalar" here
-ok(1, 'docfree Out of scope is OK - no "Attempt to free unreferenced scalar"');
+# TEST
+pass('docfree Out of scope is OK - no "Attempt to free unreferenced scalar"');
 
diff -pruN 2.0207+dfsg+really+2.0134-6/t/25relaxng.t 2.0207+dfsg+really+2.0207-0ubuntu7/t/25relaxng.t
--- 2.0207+dfsg+really+2.0134-6/t/25relaxng.t	2016-05-30 09:01:59.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/t/25relaxng.t	2021-04-15 16:38:50.000000000 +0000
@@ -16,7 +16,7 @@ BEGIN {
     use XML::LibXML;
 
     if ( XML::LibXML::LIBXML_VERSION >= 20510 ) {
-        plan tests => 13;
+        plan tests => 17;
     }
     else {
         plan skip_all => 'Skip No RNG Support compiled';
@@ -32,6 +32,7 @@ my $badfile      = "test/relaxng/badsche
 my $validfile    = "test/relaxng/demo.xml";
 my $invalidfile  = "test/relaxng/invaliddemo.xml";
 my $demo4        = "test/relaxng/demo4.rng";
+my $netfile      = "test/relaxng/net.rng";
 
 print "# 1 parse schema from a file\n";
 {
@@ -127,5 +128,34 @@ EOXML
 
 }
 
+print "# 6 check that no_network => 1 works\n";
+{
+    my $rng = eval { XML::LibXML::RelaxNG->new( location => $netfile, no_network => 1 ) };
+    # TEST
+    like( $@, qr{I/O error : Attempt to load network entity}, 'RNG from file location with external import and no_network => 1 throws an exception.' );
+    # TEST
+    ok( !defined $rng, 'RNG from file location with external import and no_network => 1 is not loaded.' );
+}
+{
+    my $rng = eval { XML::LibXML::RelaxNG->new( string => <<'EOF', no_network => 1 ) };
+<?xml version="1.0" encoding="iso-8859-1"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+  <include href="http://example.com/xml.rng"/>
+  <start>
+    <ref name="include"/>
+  </start>
+  <define name="include">
+    <element name="include">
+      <text/>
+    </element>
+  </define>
+</grammar>
+EOF
+    # TEST
+    like( $@, qr{I/O error : Attempt to load network entity}, 'RNG from buffer with external import and no_network => 1 throws an exception.' );
+    # TEST
+    ok( !defined $rng, 'RNG from buffer with external import and no_network => 1 is not loaded.' );
+}
+
 
 } # Version >= 20510 test
diff -pruN 2.0207+dfsg+really+2.0134-6/t/26schema.t 2.0207+dfsg+really+2.0207-0ubuntu7/t/26schema.t
--- 2.0207+dfsg+really+2.0134-6/t/26schema.t	2016-05-30 09:01:59.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/t/26schema.t	2021-04-15 16:38:50.000000000 +0000
@@ -15,7 +15,7 @@ use Test::More;
 use XML::LibXML;
 
 if ( XML::LibXML::LIBXML_VERSION >= 20510 ) {
-    plan tests => 8;
+    plan tests => 12;
 }
 else {
     plan skip_all => 'No Schema Support compiled.';
@@ -27,6 +27,7 @@ my $file         = "test/schema/schema.x
 my $badfile      = "test/schema/badschema.xsd";
 my $validfile    = "test/schema/demo.xml";
 my $invalidfile  = "test/schema/invaliddemo.xml";
+my $netfile      = "test/schema/net.xsd";
 
 
 # 1 parse schema from a file
@@ -112,3 +113,23 @@ EOF
     is( $result, 0, 'validate() with element returns 0' );
 }
 
+# 5 check that no_network => 1 works
+{
+    my $schema = eval { XML::LibXML::Schema->new( location => $netfile, no_network => 1 ) };
+    # TEST
+    like( $@, qr{I/O error : Attempt to load network entity}, 'Schema from file location with external import and no_network => 1 throws an exception.' );
+    # TEST
+    ok( !defined $schema, 'Schema from file location with external import and no_network => 1 is not loaded.' );
+}
+{
+    my $schema = eval { XML::LibXML::Schema->new( string => <<'EOF', no_network => 1 ) };
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <xsd:import namespace="http://example.com/namespace" schemaLocation="http://example.com/xml.xsd"/>
+</xsd:schema>
+EOF
+    # TEST
+    like( $@, qr{I/O error : Attempt to load network entity}, 'Schema from buffer with external import and no_network => 1 throws an exception.' );
+    # TEST
+    ok( !defined $schema, 'Schema from buffer with external import and no_network => 1 is not loaded.' );
+}
diff -pruN 2.0207+dfsg+really+2.0134-6/t/35huge_mode.t 2.0207+dfsg+really+2.0207-0ubuntu7/t/35huge_mode.t
--- 2.0207+dfsg+really+2.0134-6/t/35huge_mode.t	2016-05-30 09:01:59.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/t/35huge_mode.t	2021-04-15 16:38:50.000000000 +0000
@@ -49,11 +49,14 @@ my($parser, $doc);
 
 $parser = XML::LibXML->new;
 #$parser->set_option(huge => 0);
+# TEST
 ok(!$parser->get_option('huge'), "huge mode disabled by default");
 
 $doc = eval { $parser->parse_string($evil_xml); };
 
+# TEST
 isnt("$@", "", "exception thrown during parse");
+# TEST
 like($@, qr/entity.*loop/si, "exception refers to entity reference loop");
 
 
@@ -61,9 +64,11 @@ $parser = XML::LibXML->new;
 
 $doc = eval { $parser->parse_string($benign_xml); };
 
+# TEST
 is("$@", "", "no exception thrown during parse");
 
 my $body = $doc->findvalue( '/lolz' );
+# TEST
 is($body, 'haha', 'entity was parsed and expanded correctly');
 
 exit;
diff -pruN 2.0207+dfsg+really+2.0134-6/t/40reader.t 2.0207+dfsg+really+2.0207-0ubuntu7/t/40reader.t
--- 2.0207+dfsg+really+2.0134-6/t/40reader.t	2016-06-24 16:01:53.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/t/40reader.t	2021-04-15 16:38:50.000000000 +0000
@@ -19,6 +19,7 @@ BEGIN{
   use_ok('XML::LibXML::Reader');
 };
 
+# TEST*100
 my $file = "test/textReader/countries.xml";
 {
   my $reader = XML::LibXML::Reader->new(location => $file, {expand_entities => 1});
diff -pruN 2.0207+dfsg+really+2.0134-6/t/43options.t 2.0207+dfsg+really+2.0207-0ubuntu7/t/43options.t
--- 2.0207+dfsg+really+2.0134-6/t/43options.t	2016-05-30 09:01:59.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/t/43options.t	2021-04-15 16:38:50.000000000 +0000
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 290;
+use Test::More tests => 291;
 
 use XML::LibXML;
 
@@ -50,7 +50,7 @@ no_network
 {
   my $p = XML::LibXML->new();
   for my $opt (@all) {
-    my $ret = (($opt =~ /^(?:load_ext_dtd|expand_entities)$/) ? 1 : 0);
+    my $ret = 0;
     # TEST*$all
     ok(
         ($p->get_option($opt)||0) == $ret
@@ -110,18 +110,21 @@ no_network
   ok( $p->get_option('recover') == 2, ' TODO : Add test name' );
 
   # TEST
-  ok( $p->expand_entities() == 1, ' TODO : Add test name' );
+  ok( $p->expand_entities() == 0, 'expand_entities should default to false' );
   # TEST
-  ok( $p->load_ext_dtd() == 1, ' TODO : Add test name' );
+  ok( $p->load_ext_dtd() == 0, 'load_ext_dtd should default to false' );
+  $p->load_ext_dtd(1);
+  # TEST
+  ok( $p->load_ext_dtd() == 1, 'load_ext_dtd should be true after being set to true' );
   $p->load_ext_dtd(0);
+  $p->expand_entities(1);
   # TEST
-  ok( $p->load_ext_dtd() == 0, ' TODO : Add test name' );
-  $p->expand_entities(0);
+  ok( $p->expand_entities() == 1, 'expand_entities should be true after being set to true' );
   # TEST
-  ok( $p->expand_entities() == 0, ' TODO : Add test name' );
-  $p->expand_entities(1);
+  ok( $p->load_ext_dtd() == 1, 'load_ext_dtd should be true after expand_entities is set to true' );
+  $p->expand_entities(0);
   # TEST
-  ok( $p->expand_entities() == 1, ' TODO : Add test name' );
+  ok( $p->expand_entities() == 0, 'expand_entities should be false after being set to false' );
 }
 
 {
diff -pruN 2.0207+dfsg+really+2.0134-6/t/48_SAX_Builder_rt_91433.t 2.0207+dfsg+really+2.0207-0ubuntu7/t/48_SAX_Builder_rt_91433.t
--- 2.0207+dfsg+really+2.0134-6/t/48_SAX_Builder_rt_91433.t	2016-05-30 09:01:59.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/t/48_SAX_Builder_rt_91433.t	2021-04-15 16:38:50.000000000 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/usr/bin/env perl
 
 use strict;
 use warnings;
@@ -50,6 +50,7 @@ $parser->parse_string(<<'END_OF_XML');
 </rdf:RDF></metadata></record></GetRecord></OAI-PMH>
 END_OF_XML
 
+# TEST
 eq_or_diff(
     \@got_warnings,
     [],
diff -pruN 2.0207+dfsg+really+2.0134-6/t/48_gh_pr63_detect_undef_values.t 2.0207+dfsg+really+2.0207-0ubuntu7/t/48_gh_pr63_detect_undef_values.t
--- 2.0207+dfsg+really+2.0134-6/t/48_gh_pr63_detect_undef_values.t	1970-01-01 00:00:00.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/t/48_gh_pr63_detect_undef_values.t	2021-04-17 04:34:16.000000000 +0000
@@ -0,0 +1,34 @@
+
+use strict;
+use warnings;
+
+=head1 DESCRIPTION
+
+L<https://github.com/shlomif/perl-XML-LibXML/pull/63>
+
+This test program
+
+    use warnings;
+    use XML::LibXML;
+
+    my $test = XML::LibXML::Text->new({}->{bar});
+
+produces the following warning:
+
+    $ perl ~/test.pl
+    Use of uninitialized value in subroutine entry at /home/sven/test.pl line 4.
+
+This apparently happens, because Sv2C tries to catch undef values by comparing the memory location of the scalar in question to &PL_sv_undef. While PL_sv_undef certainly is an undef value, not all undef values share its memory location. The added commit fixes this, by using SvOK to correctly detect all undef values.
+
+=cut
+
+use Test::More tests => 1;
+
+use XML::LibXML;
+
+$SIG{__WARN__} = sub { die "warning " . shift . "!"; };
+
+my $test = XML::LibXML::Text->new( {}->{bar} );
+
+# TEST
+pass("success");
diff -pruN 2.0207+dfsg+really+2.0134-6/t/48_rt123379_setNamespace.t 2.0207+dfsg+really+2.0207-0ubuntu7/t/48_rt123379_setNamespace.t
--- 2.0207+dfsg+really+2.0134-6/t/48_rt123379_setNamespace.t	2017-10-28 17:46:46.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/t/48_rt123379_setNamespace.t	2021-04-15 16:38:50.000000000 +0000
@@ -4,12 +4,20 @@ use warnings;
 use XML::LibXML;
 use Test::More tests => 8;
 
+# TEST
 ok(my $doc = XML::LibXML::Document->new(), 'new document');
+# TEST
 ok(my $elm = $doc->createElement('D:element'), 'create element');
+# TEST
 ok($elm->setAttribute('xmlns:D', 'attribute'), 'set attribute');
 $doc->setDocumentElement($elm); # XXX does not return true if successful
+# TEST
 ok(my $str = $doc->toString(0), 'to string');
+# TEST
 ok(my $par = XML::LibXML->new(), 'new parser');
+# TEST
 ok( eval { $par->parse_string($str) } , 'parse string');
+# TEST
 is($@, "", 'parse error');
+# TEST
 like($str, qr{<D:element xmlns:D="attribute"/>}, 'xml element');
diff -pruN 2.0207+dfsg+really+2.0134-6/t/48_rt93429_recover_2_in_html_parsing.t 2.0207+dfsg+really+2.0207-0ubuntu7/t/48_rt93429_recover_2_in_html_parsing.t
--- 2.0207+dfsg+really+2.0134-6/t/48_rt93429_recover_2_in_html_parsing.t	2016-05-30 09:01:59.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/t/48_rt93429_recover_2_in_html_parsing.t	2021-04-15 16:38:50.000000000 +0000
@@ -27,6 +27,7 @@ use XML::LibXML;
 
     close($fh);
 
+    # TEST
     is($buf, '', 'No warning emitted on load_html with recover => 2.');
 }
 
diff -pruN 2.0207+dfsg+really+2.0134-6/t/62overload.t 2.0207+dfsg+really+2.0207-0ubuntu7/t/62overload.t
--- 2.0207+dfsg+really+2.0134-6/t/62overload.t	2016-05-30 09:01:59.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/t/62overload.t	2021-04-15 16:38:50.000000000 +0000
@@ -16,23 +16,35 @@ $e2->setAttribute('attr' => 'value2');
 my $h1 = \%{ $e1 };
 my $h2 = \%{ $e2 };
 
+# TEST
 isnt $h1,$h2, 'different references';
 
+# TEST
 is $h1->{attr}, 'value1', 'affr for el 1';
+# TEST
 is $h2->{attr}, 'value2', 'affr for el 2';
 
+# TEST
 is "$e1", '<test1 attr="value1"/>', 'stringify for el 1';
+# TEST
 is "$e2", '<test2 attr="value2"/>', 'stringify for el 2';
 
+# TEST
 cmp_ok 0+$e1, '>', 1, 'num for el 1';
+# TEST
 cmp_ok 0+$e2, '>', 1, 'num for el 2';
 
+# TEST
 isnt 0+$e1,0+$e2, 'num for e1 and e2 differs';
 
 my $e3 = $e1;
 
+# TEST
 ok $e3 eq $e1, 'eq';
+# TEST
 ok $e3 == $e1, '==';
 
+# TEST
 ok $e1 ne $e2, 'ne';
+# TEST
 ok $e1 != $e2, '!=';
diff -pruN 2.0207+dfsg+really+2.0134-6/t/91unique_key.t 2.0207+dfsg+really+2.0207-0ubuntu7/t/91unique_key.t
--- 2.0207+dfsg+really+2.0134-6/t/91unique_key.t	2016-05-30 09:01:59.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/t/91unique_key.t	2021-04-15 16:38:50.000000000 +0000
@@ -23,6 +23,7 @@ my $foo = $doc->documentElement;
 my @children_1 = $foo->childNodes;
 my @children_2 = $foo->childNodes;
 
+# TEST
 ok($children_1[0]->can('unique_key'), 'unique_key method available')
     or exit -1;
 
diff -pruN 2.0207+dfsg+really+2.0134-6/t/pod-files-presence.t 2.0207+dfsg+really+2.0207-0ubuntu7/t/pod-files-presence.t
--- 2.0207+dfsg+really+2.0134-6/t/pod-files-presence.t	2017-10-28 17:44:51.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/t/pod-files-presence.t	2021-04-15 17:09:16.000000000 +0000
@@ -3,9 +3,15 @@
 use strict;
 use warnings;
 
-use Test::More tests => 3;
+use Test::More;
 use File::Spec;
 
+if ( ! $ENV{AUTHOR_TESTING} ) {
+    plan skip_all => "only for AUTHORS";
+} else {
+    plan tests => 3;
+}
+
 sub _is_present
 {
     my $path = shift;
@@ -29,4 +35,3 @@ sub _is_present
         }
     }
 }
-
diff -pruN 2.0207+dfsg+really+2.0134-6/test/relaxng/net.rng 2.0207+dfsg+really+2.0207-0ubuntu7/test/relaxng/net.rng
--- 2.0207+dfsg+really+2.0134-6/test/relaxng/net.rng	1970-01-01 00:00:00.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/test/relaxng/net.rng	2021-04-15 16:38:50.000000000 +0000
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+  <include href="http://example.com/xml.rng"/>
+  <start>
+    <ref name="include"/>
+  </start>
+  <define name="include">
+    <element name="include">
+      <text/>
+    </element>
+  </define>
+</grammar>
diff -pruN 2.0207+dfsg+really+2.0134-6/test/schema/net.xsd 2.0207+dfsg+really+2.0207-0ubuntu7/test/schema/net.xsd
--- 2.0207+dfsg+really+2.0134-6/test/schema/net.xsd	1970-01-01 00:00:00.000000000 +0000
+++ 2.0207+dfsg+really+2.0207-0ubuntu7/test/schema/net.xsd	2021-04-15 16:38:50.000000000 +0000
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <xsd:import namespace="http://example.com/namespace" schemaLocation="http://example.com/xml.xsd"/>
+</xsd:schema>
