Hello community, here is the log from the commit of package perl-XML-LibXML for openSUSE:Factory checked in at 2017-03-18 20:47:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-XML-LibXML (Old) and /work/SRC/openSUSE:Factory/.perl-XML-LibXML.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-XML-LibXML" Sat Mar 18 20:47:34 2017 rev:44 rq:479454 version:2.0129 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-XML-LibXML/perl-XML-LibXML.changes 2016-08-03 11:39:03.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-XML-LibXML.new/perl-XML-LibXML.changes 2017-03-18 20:47:36.734854226 +0100 @@ -1,0 +2,15 @@ +Wed Mar 15 08:23:30 UTC 2017 - [email protected] + +- updated to 2.0129 + see /usr/share/doc/packages/perl-XML-LibXML/Changes + + 2.0129 2017-03-14 + - Add example/create-sample-html-document.pl . + - https://rt.cpan.org/Ticket/Display.html?id=117923 + - Add support for the set_document_locator() SAX method . + - Thanks to Alexander Batyrshin for the pull-request. + - Make parsing of large perl strings much faster. + - https://github.com/shlomif/perl-XML-LibXML/pull/5 + - Thanks to Cedric Cellier for the pull-request. + +------------------------------------------------------------------- Old: ---- XML-LibXML-2.0128.tar.gz New: ---- XML-LibXML-2.0129.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-XML-LibXML.spec ++++++ --- /var/tmp/diff_new_pack.M3Xkcj/_old 2017-03-18 20:47:38.650582825 +0100 +++ /var/tmp/diff_new_pack.M3Xkcj/_new 2017-03-18 20:47:38.650582825 +0100 @@ -1,7 +1,7 @@ # # spec file for package perl-XML-LibXML # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,14 +17,14 @@ Name: perl-XML-LibXML -Version: 2.0128 +Version: 2.0129 Release: 0 %define cpan_name XML-LibXML Summary: Perl Binding for libxml2 License: Artistic-1.0 or GPL-1.0+ Group: Development/Libraries/Perl Url: http://search.cpan.org/dist/XML-LibXML/ -Source0: http://www.cpan.org/authors/id/S/SH/SHLOMIF/%{cpan_name}-%{version}.tar.gz +Source0: https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl @@ -70,6 +70,7 @@ %files -f %{name}.files %defattr(-,root,root,755) -%doc Changes docs example HACKING.txt LICENSE README TODO +%doc Changes docs example HACKING.txt README TODO +%license LICENSE %changelog ++++++ XML-LibXML-2.0128.tar.gz -> XML-LibXML-2.0129.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/Changes new/XML-LibXML-2.0129/Changes --- old/XML-LibXML-2.0128/Changes 2016-07-24 11:05:01.000000000 +0200 +++ new/XML-LibXML-2.0129/Changes 2017-03-14 14:25:23.000000000 +0100 @@ -1,5 +1,14 @@ Revision history for Perl extension XML::LibXML +2.0129 2017-03-14 + - Add example/create-sample-html-document.pl . + - https://rt.cpan.org/Ticket/Display.html?id=117923 + - Add support for the set_document_locator() SAX method . + - Thanks to Alexander Batyrshin for the pull-request. + - Make parsing of large perl strings much faster. + - https://github.com/shlomif/perl-XML-LibXML/pull/5 + - Thanks to Cedric Cellier for the pull-request. + 2.0128 2016-07-24 - Hopefully add the .pod files again as they were missing from 2.0127. - https://github.com/shlomif/perl-XML-LibXML/issues/3 @@ -29,7 +38,7 @@ 2.0125 2016-05-30 - Moved the repository from Mercurial and BitBucket to Git and GitHub: - https://github.com/shlomif/perl-XML-LibXML - - This was done to better encourage contributions to XML::LiBXML and + - This was done to better encourage contributions to XML::LibXML and to be able to use the better Continuous Integration options that are available for GitHub projects. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/LibXML.pm new/XML-LibXML-2.0129/LibXML.pm --- old/XML-LibXML-2.0128/LibXML.pm 2016-07-24 11:00:40.000000000 +0200 +++ new/XML-LibXML-2.0129/LibXML.pm 2017-03-14 14:25:51.000000000 +0100 @@ -29,7 +29,7 @@ use IO::Handle; # for FH reads called as methods BEGIN { -$VERSION = "2.0128"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0129"; # VERSION TEMPLATE: DO NOT CHANGE $ABI_VERSION = 2; require Exporter; require DynaLoader; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/LibXML.pod new/XML-LibXML-2.0129/LibXML.pod --- old/XML-LibXML-2.0128/LibXML.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/LibXML.pod 2017-03-14 14:26:51.000000000 +0100 @@ -505,7 +505,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/MANIFEST new/XML-LibXML-2.0129/MANIFEST --- old/XML-LibXML-2.0128/MANIFEST 2016-07-24 11:12:51.000000000 +0200 +++ new/XML-LibXML-2.0129/MANIFEST 2017-03-14 14:35:40.000000000 +0100 @@ -39,6 +39,7 @@ example/complex/complex2.xml example/complex/dtd/f.dtd example/complex/dtd/g.dtd +example/create-sample-html-document.pl example/dromeds.xml example/dtd.xml example/enc2_latin2.html diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/META.json new/XML-LibXML-2.0129/META.json --- old/XML-LibXML-2.0128/META.json 2016-07-24 11:12:51.000000000 +0200 +++ new/XML-LibXML-2.0129/META.json 2017-03-14 14:35:39.000000000 +0100 @@ -4,7 +4,7 @@ "Petr Pajas" ], "dynamic_config" : 1, - "generated_by" : "ExtUtils::MakeMaker version 7.16, CPAN::Meta::Converter version 2.150005", + "generated_by" : "ExtUtils::MakeMaker version 7.0402, CPAN::Meta::Converter version 2.150001", "keywords" : [ "dom", "html", @@ -70,6 +70,5 @@ "url" : "https://github.com/shlomif/perl-XML-LibXML" } }, - "version" : "2.0128", - "x_serialization_backend" : "JSON::PP version 2.27300" + "version" : "2.0129" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/META.yml new/XML-LibXML-2.0129/META.yml --- old/XML-LibXML-2.0128/META.yml 2016-07-24 11:12:51.000000000 +0200 +++ new/XML-LibXML-2.0129/META.yml 2017-03-14 14:35:39.000000000 +0100 @@ -7,7 +7,7 @@ configure_requires: ExtUtils::MakeMaker: '0' dynamic_config: 1 -generated_by: 'ExtUtils::MakeMaker version 7.16, CPAN::Meta::Converter version 2.150005' +generated_by: 'ExtUtils::MakeMaker version 7.0402, CPAN::Meta::Converter version 2.150001' keywords: - dom - html @@ -48,5 +48,4 @@ resources: homepage: https://github.com/shlomif/perl-XML-LibXML repository: https://github.com/shlomif/perl-XML-LibXML -version: '2.0128' -x_serialization_backend: 'CPAN::Meta::YAML version 0.012' +version: '2.0129' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/docs/libxml.dbk new/XML-LibXML-2.0129/docs/libxml.dbk --- old/XML-LibXML-2.0128/docs/libxml.dbk 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/docs/libxml.dbk 2017-03-14 14:26:50.000000000 +0100 @@ -22,7 +22,7 @@ </authorgroup> - <edition>2.0128</edition> + <edition>2.0129</edition> <copyright> <year>2001-2007</year> <holder>AxKit.com Ltd</holder> @@ -2080,23 +2080,23 @@ <titleabbrev>XML::LibXML::DOM</titleabbrev> <sect1> <title>Description</title> - <para>XML::LibXML provides an light-wight interface to + <para>XML::LibXML provides a lightweight interface to <emphasis>modify</emphasis> a node of the document tree generated by the XML::LibXML parser. This interface follows as far as possible the DOM Level 3 - specification. Additionally to the specified functions the + specification. In addition to the specified functions, XML::LibXML supports some functions that are more handy to use in the perl environment.</para> <para>One also has to remember, that XML::LibXML is an interface to libxml2 nodes which actually reside on the C-Level of XML::LibXML. This means each node is a - reference to a structure different than a perl hash or - array. The only way to access these structure's values is + reference to a structure which is different from a perl hash or + array. The only way to access these structures' values is through the DOM interface provided by XML::LibXML. This also means, that one <emphasis>can't</emphasis> simply inherit an XML::LibXML node and add new member variables as - they were hash keys.</para> + if they were hash keys.</para> <para>The DOM interface of XML::LibXML does not intend to implement a full DOM interface as it is done by XML::GDOME @@ -2111,16 +2111,16 @@ C-Level that most perl users don't have.</para> <para>One of the most important parts of the XML::LibXML - DOM interface is, that the interfaces try do follow the + DOM interface is that the interfaces try to follow the <ulink url="http://www.w3.org/TR/DOM-Level-3-Core/">DOM Level 3 specification</ulink> rather strictly. This means the interface functions are named as the DOM specification says and not what widespread Java interfaces claim to be - standard. Although there are several functions that have + the standard. Although there are several functions that have only a singular interface that conforms to the DOM spec XML::LibXML provides an additional Java style alias interface.</para> - <para>Also there are some function interfaces left over + <para>Moreover, there are some function interfaces left over from early stages of XML::LibXML for compatibility reasons. These interfaces are for compatibility reasons <emphasis>only</emphasis>. They might disappear in one of diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/example/create-sample-html-document.pl new/XML-LibXML-2.0129/example/create-sample-html-document.pl --- old/XML-LibXML-2.0128/example/create-sample-html-document.pl 1970-01-01 01:00:00.000000000 +0100 +++ new/XML-LibXML-2.0129/example/create-sample-html-document.pl 2016-10-16 10:06:21.000000000 +0200 @@ -0,0 +1,167 @@ +#!/usr/bin/perl + +=head1 ABOUT + +This is a sample program to generate an HTML document using XML::LibXML's +DOM routines. It was written to resolve +L<https://rt.cpan.org/Ticket/Display.html?id=117923> . Thanks to Dan Jacobson. + +=cut + +use strict; +use warnings; + +use XML::LibXML; + +{ + my $doc = XML::LibXML->createDocument; + + # A small Domain-Specific-Language for generating DOM: + my $_text = sub { + my ($content) = @_; + + return $doc->createTextNode($content); + }; + + # Short for element. + my $_el = sub { + my $name = shift; + my $param = shift; + my $attrs = {}; + if (ref($param) eq 'HASH') + { + $attrs = $param; + $param = shift; + } + my $childs = $param; + + my $elem = $doc->createElementNS("", $name); + + while (my ($k, $v) = each %$attrs) + { + $elem->setAttribute($k, $v); + } + + foreach my $child (@$childs) + { + $elem->appendChild($child); + } + + return $elem; + }; + + my $html = $_el->( + 'html', + [ + $_el->( + 'head', + [ + $_el->( + 'title', + [ + $_text->("Sample HTML document as generated by XML::LibXML"), + ], + ), + $_el->( + 'meta', + { 'http-equiv' => 'Content-Type', + 'content' => 'text/html; charset=utf-8' + }, + [], + ), + ], + ), + $_el->( + 'body', + [ + $_el->( + 'p', + [ + $_text->("Introducing a link - "), + $_el->( + 'a', + { 'href' => 'http://www.wikipedia.org/', }, + [ + $_text->("Link to Wikipedia"), + ], + ), + $_text->(". We hope you enjoyed it."), + ], + ), + $_el->( + 'p', + [ + $_el->( + 'img', + { 'src' => 'http://example.com/non-exist.png', + 'alt' => 'non-existing image', + }, + [], + ), + ], + ), + $_el->( + 'ol', + [ + $_el->( + 'li', + [ + $_el->( + 'p', + [ + $_text->("First item."), + ], + ), + ], + ), + $_el->( + 'li', + [ + $_el->( + 'p', + [ + $_text->("Second item."), + ], + ), + ], + ), + ], + ), + ], + ), + ], + ); + $doc->setDocumentElement( $html ); + + print $doc->toStringHTML(); +} + +=head1 COPYRIGHT & LICENSE + +Copyright 2016 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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Attr.pod new/XML-LibXML-2.0129/lib/XML/LibXML/Attr.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/Attr.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Attr.pod 2017-03-14 14:26:51.000000000 +0100 @@ -121,7 +121,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/AttributeHash.pm new/XML-LibXML-2.0129/lib/XML/LibXML/AttributeHash.pm --- old/XML-LibXML-2.0128/lib/XML/LibXML/AttributeHash.pm 2016-07-24 11:00:40.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/AttributeHash.pm 2017-03-14 14:25:51.000000000 +0100 @@ -7,7 +7,7 @@ our @ISA = qw/Tie::Hash/; use vars qw($VERSION); -$VERSION = "2.0128"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0129"; # VERSION TEMPLATE: DO NOT CHANGE BEGIN { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Boolean.pm new/XML-LibXML-2.0129/lib/XML/LibXML/Boolean.pm --- old/XML-LibXML-2.0128/lib/XML/LibXML/Boolean.pm 2016-07-24 11:00:40.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Boolean.pm 2017-03-14 14:25:51.000000000 +0100 @@ -16,7 +16,7 @@ use vars qw ($VERSION); -$VERSION = "2.0128"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0129"; # VERSION TEMPLATE: DO NOT CHANGE use overload '""' => \&value, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/CDATASection.pod new/XML-LibXML-2.0129/lib/XML/LibXML/CDATASection.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/CDATASection.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/CDATASection.pod 2017-03-14 14:26:51.000000000 +0100 @@ -45,7 +45,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Comment.pod new/XML-LibXML-2.0129/lib/XML/LibXML/Comment.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/Comment.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Comment.pod 2017-03-14 14:26:51.000000000 +0100 @@ -46,7 +46,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Common.pm new/XML-LibXML-2.0129/lib/XML/LibXML/Common.pm --- old/XML-LibXML-2.0128/lib/XML/LibXML/Common.pm 2016-07-24 11:00:40.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Common.pm 2017-03-14 14:25:51.000000000 +0100 @@ -24,7 +24,7 @@ @ISA = qw(Exporter); -$VERSION = "2.0128"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0129"; # VERSION TEMPLATE: DO NOT CHANGE use XML::LibXML qw(:libxml); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Common.pod new/XML-LibXML-2.0129/lib/XML/LibXML/Common.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/Common.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Common.pod 2017-03-14 14:26:52.000000000 +0100 @@ -116,7 +116,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/DOM.pod new/XML-LibXML-2.0129/lib/XML/LibXML/DOM.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/DOM.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/DOM.pod 2017-03-14 14:26:51.000000000 +0100 @@ -4,16 +4,16 @@ =head1 DESCRIPTION -XML::LibXML provides an light-wight interface to I<<<<<< modify >>>>>> a node of the document tree generated by the XML::LibXML parser. This interface -follows as far as possible the DOM Level 3 specification. Additionally to the -specified functions the XML::LibXML supports some functions that are more handy -to use in the perl environment. +XML::LibXML provides a lightweight interface to I<<<<<< modify >>>>>> a node of the document tree generated by the XML::LibXML parser. This interface +follows as far as possible the DOM Level 3 specification. In addition to the +specified functions, XML::LibXML supports some functions that are more handy to +use in the perl environment. One also has to remember, that XML::LibXML is an interface to libxml2 nodes which actually reside on the C-Level of XML::LibXML. This means each node is a -reference to a structure different than a perl hash or array. The only way to -access these structure's values is through the DOM interface provided by -XML::LibXML. This also means, that one I<<<<<< can't >>>>>> simply inherit an XML::LibXML node and add new member variables as they were +reference to a structure which is different from a perl hash or array. The only +way to access these structures' values is through the DOM interface provided by +XML::LibXML. This also means, that one I<<<<<< can't >>>>>> simply inherit an XML::LibXML node and add new member variables as if they were hash keys. The DOM interface of XML::LibXML does not intend to implement a full DOM @@ -26,14 +26,14 @@ some features where libxml2 assumes more control over the C-Level that most perl users don't have. -One of the most important parts of the XML::LibXML DOM interface is, that the -interfaces try do follow the DOM Level 3 specification (L<<<<<< http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>) rather strictly. This means the interface functions are named as the DOM -specification says and not what widespread Java interfaces claim to be +One of the most important parts of the XML::LibXML DOM interface is that the +interfaces try to follow the DOM Level 3 specification (L<<<<<< http://www.w3.org/TR/DOM-Level-3-Core/ >>>>>>) rather strictly. This means the interface functions are named as the DOM +specification says and not what widespread Java interfaces claim to be the standard. Although there are several functions that have only a singular interface that conforms to the DOM spec XML::LibXML provides an additional Java style alias interface. -Also there are some function interfaces left over from early stages of +Moreover, there are some function interfaces left over from early stages of XML::LibXML for compatibility reasons. These interfaces are for compatibility reasons I<<<<<< only >>>>>>. They might disappear in one of the future versions of XML::LibXML, so a user is requested to switch over to the official functions. @@ -129,7 +129,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Devel.pm new/XML-LibXML-2.0129/lib/XML/LibXML/Devel.pm --- old/XML-LibXML-2.0128/lib/XML/LibXML/Devel.pm 2016-07-24 11:00:40.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Devel.pm 2017-03-14 14:25:51.000000000 +0100 @@ -12,7 +12,7 @@ use XML::LibXML; use vars qw ($VERSION); -$VERSION = "2.0128"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0129"; # VERSION TEMPLATE: DO NOT CHANGE use 5.008_000; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Document.pod new/XML-LibXML-2.0129/lib/XML/LibXML/Document.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/Document.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Document.pod 2017-03-14 14:26:51.000000000 +0100 @@ -683,7 +683,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/DocumentFragment.pod new/XML-LibXML-2.0129/lib/XML/LibXML/DocumentFragment.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/DocumentFragment.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/DocumentFragment.pod 2017-03-14 14:26:51.000000000 +0100 @@ -27,7 +27,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Dtd.pod new/XML-LibXML-2.0129/lib/XML/LibXML/Dtd.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/Dtd.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Dtd.pod 2017-03-14 14:26:51.000000000 +0100 @@ -89,7 +89,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Element.pod new/XML-LibXML-2.0129/lib/XML/LibXML/Element.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/Element.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Element.pod 2017-03-14 14:26:51.000000000 +0100 @@ -382,7 +382,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/ErrNo.pm new/XML-LibXML-2.0129/lib/XML/LibXML/ErrNo.pm --- old/XML-LibXML-2.0128/lib/XML/LibXML/ErrNo.pm 2016-07-24 11:00:40.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/ErrNo.pm 2017-03-14 14:25:51.000000000 +0100 @@ -14,7 +14,7 @@ use warnings; use vars qw($VERSION); -$VERSION = "2.0128"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0129"; # VERSION TEMPLATE: DO NOT CHANGE use constant ERR_OK => 0; use constant ERR_INTERNAL_ERROR => 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/ErrNo.pod new/XML-LibXML-2.0129/lib/XML/LibXML/ErrNo.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/ErrNo.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/ErrNo.pod 2017-03-14 14:26:52.000000000 +0100 @@ -14,7 +14,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Error.pm new/XML-LibXML-2.0129/lib/XML/LibXML/Error.pm --- old/XML-LibXML-2.0128/lib/XML/LibXML/Error.pm 2016-07-24 11:00:40.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Error.pm 2017-03-14 14:25:51.000000000 +0100 @@ -29,7 +29,7 @@ fallback => 1; $WARNINGS = 0; # 0: suppress, 1: report via warn, 2: report via die -$VERSION = "2.0128"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0129"; # VERSION TEMPLATE: DO NOT CHANGE use constant XML_ERR_NONE => 0; use constant XML_ERR_WARNING => 1; # A simple warning diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Error.pod new/XML-LibXML-2.0129/lib/XML/LibXML/Error.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/Error.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Error.pod 2017-03-14 14:26:52.000000000 +0100 @@ -244,7 +244,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/InputCallback.pod new/XML-LibXML-2.0129/lib/XML/LibXML/InputCallback.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/InputCallback.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/InputCallback.pod 2017-03-14 14:26:51.000000000 +0100 @@ -280,7 +280,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Literal.pm new/XML-LibXML-2.0129/lib/XML/LibXML/Literal.pm --- old/XML-LibXML-2.0128/lib/XML/LibXML/Literal.pm 2016-07-24 11:00:40.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Literal.pm 2017-03-14 14:25:51.000000000 +0100 @@ -16,7 +16,7 @@ use warnings; use vars qw ($VERSION); -$VERSION = "2.0128"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0129"; # VERSION TEMPLATE: DO NOT CHANGE use overload '""' => \&value, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Namespace.pod new/XML-LibXML-2.0129/lib/XML/LibXML/Namespace.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/Namespace.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Namespace.pod 2017-03-14 14:26:51.000000000 +0100 @@ -141,7 +141,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Node.pod new/XML-LibXML-2.0129/lib/XML/LibXML/Node.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/Node.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Node.pod 2017-03-14 14:26:51.000000000 +0100 @@ -763,7 +763,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/NodeList.pm new/XML-LibXML-2.0129/lib/XML/LibXML/NodeList.pm --- old/XML-LibXML-2.0128/lib/XML/LibXML/NodeList.pm 2016-07-24 11:00:40.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/NodeList.pm 2017-03-14 14:25:51.000000000 +0100 @@ -17,7 +17,7 @@ use XML::LibXML::Number; use vars qw($VERSION); -$VERSION = "2.0128"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0129"; # VERSION TEMPLATE: DO NOT CHANGE use overload '""' => \&to_literal, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Number.pm new/XML-LibXML-2.0129/lib/XML/LibXML/Number.pm --- old/XML-LibXML-2.0128/lib/XML/LibXML/Number.pm 2016-07-24 11:00:40.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Number.pm 2017-03-14 14:25:51.000000000 +0100 @@ -14,7 +14,7 @@ use warnings; use vars qw ($VERSION); -$VERSION = "2.0128"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0129"; # VERSION TEMPLATE: DO NOT CHANGE use overload '""' => \&value, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/PI.pod new/XML-LibXML-2.0129/lib/XML/LibXML/PI.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/PI.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/PI.pod 2017-03-14 14:26:51.000000000 +0100 @@ -74,7 +74,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Parser.pod new/XML-LibXML-2.0129/lib/XML/LibXML/Parser.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/Parser.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Parser.pod 2017-03-14 14:26:51.000000000 +0100 @@ -984,7 +984,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Pattern.pod new/XML-LibXML-2.0129/lib/XML/LibXML/Pattern.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/Pattern.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Pattern.pod 2017-03-14 14:26:52.000000000 +0100 @@ -94,7 +94,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Reader.pm new/XML-LibXML-2.0129/lib/XML/LibXML/Reader.pm --- old/XML-LibXML-2.0128/lib/XML/LibXML/Reader.pm 2016-07-24 11:00:40.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Reader.pm 2017-03-14 14:25:51.000000000 +0100 @@ -14,7 +14,7 @@ use warnings; use vars qw ($VERSION); -$VERSION = "2.0128"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0129"; # VERSION TEMPLATE: DO NOT CHANGE use 5.008_000; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Reader.pod new/XML-LibXML-2.0129/lib/XML/LibXML/Reader.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/Reader.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Reader.pod 2017-03-14 14:26:52.000000000 +0100 @@ -657,7 +657,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/RegExp.pod new/XML-LibXML-2.0129/lib/XML/LibXML/RegExp.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/RegExp.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/RegExp.pod 2017-03-14 14:26:52.000000000 +0100 @@ -58,7 +58,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/RelaxNG.pod new/XML-LibXML-2.0129/lib/XML/LibXML/RelaxNG.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/RelaxNG.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/RelaxNG.pod 2017-03-14 14:26:51.000000000 +0100 @@ -70,7 +70,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/SAX/Builder.pm new/XML-LibXML-2.0129/lib/XML/LibXML/SAX/Builder.pm --- old/XML-LibXML-2.0128/lib/XML/LibXML/SAX/Builder.pm 2016-07-24 11:00:40.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/SAX/Builder.pm 2017-03-14 14:25:51.000000000 +0100 @@ -21,7 +21,7 @@ return $XML::LibXML::__threads_shared ? 0 : 1; } -$VERSION = "2.0128"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0129"; # VERSION TEMPLATE: DO NOT CHANGE sub new { my $class = shift; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/SAX/Builder.pod new/XML-LibXML-2.0129/lib/XML/LibXML/SAX/Builder.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/SAX/Builder.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/SAX/Builder.pod 2017-03-14 14:26:51.000000000 +0100 @@ -38,7 +38,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/SAX/Generator.pm new/XML-LibXML-2.0129/lib/XML/LibXML/SAX/Generator.pm --- old/XML-LibXML-2.0128/lib/XML/LibXML/SAX/Generator.pm 2016-07-24 11:00:40.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/SAX/Generator.pm 2017-03-14 14:25:51.000000000 +0100 @@ -15,7 +15,7 @@ use XML::LibXML; use vars qw ($VERSION); -$VERSION = "2.0128"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0129"; # VERSION TEMPLATE: DO NOT CHANGE sub CLONE_SKIP { return $XML::LibXML::__threads_shared ? 0 : 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/SAX/Parser.pm new/XML-LibXML-2.0129/lib/XML/LibXML/SAX/Parser.pm --- old/XML-LibXML-2.0128/lib/XML/LibXML/SAX/Parser.pm 2016-07-24 11:00:40.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/SAX/Parser.pm 2017-03-14 14:25:51.000000000 +0100 @@ -18,7 +18,7 @@ use XML::SAX::Base; use XML::SAX::DocumentLocator; -$VERSION = "2.0128"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0129"; # VERSION TEMPLATE: DO NOT CHANGE @ISA = ('XML::SAX::Base'); sub CLONE_SKIP { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/SAX.pm new/XML-LibXML-2.0129/lib/XML/LibXML/SAX.pm --- old/XML-LibXML-2.0128/lib/XML/LibXML/SAX.pm 2016-07-24 11:00:40.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/SAX.pm 2017-03-14 14:25:51.000000000 +0100 @@ -14,7 +14,7 @@ use vars qw($VERSION @ISA); -$VERSION = "2.0128"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0129"; # VERSION TEMPLATE: DO NOT CHANGE use XML::LibXML; use XML::SAX::Base; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/SAX.pod new/XML-LibXML-2.0129/lib/XML/LibXML/SAX.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/SAX.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/SAX.pod 2017-03-14 14:26:51.000000000 +0100 @@ -47,7 +47,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Schema.pod new/XML-LibXML-2.0129/lib/XML/LibXML/Schema.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/Schema.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Schema.pod 2017-03-14 14:26:51.000000000 +0100 @@ -66,7 +66,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/Text.pod new/XML-LibXML-2.0129/lib/XML/LibXML/Text.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/Text.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/Text.pod 2017-03-14 14:26:51.000000000 +0100 @@ -170,7 +170,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/XPathContext.pm new/XML-LibXML-2.0129/lib/XML/LibXML/XPathContext.pm --- old/XML-LibXML-2.0128/lib/XML/LibXML/XPathContext.pm 2016-07-24 11:00:40.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/XPathContext.pm 2017-03-14 14:25:51.000000000 +0100 @@ -17,7 +17,7 @@ use XML::LibXML; use XML::LibXML::NodeList; -$VERSION = "2.0128"; # VERSION TEMPLATE: DO NOT CHANGE +$VERSION = "2.0129"; # VERSION TEMPLATE: DO NOT CHANGE # should LibXML XPath data types be used for simple objects # when passing parameters to extension functions (default: no) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/XPathContext.pod new/XML-LibXML-2.0129/lib/XML/LibXML/XPathContext.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/XPathContext.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/XPathContext.pod 2017-03-14 14:26:51.000000000 +0100 @@ -359,7 +359,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/lib/XML/LibXML/XPathExpression.pod new/XML-LibXML-2.0129/lib/XML/LibXML/XPathExpression.pod --- old/XML-LibXML-2.0128/lib/XML/LibXML/XPathExpression.pod 2016-07-24 11:05:45.000000000 +0200 +++ new/XML-LibXML-2.0129/lib/XML/LibXML/XPathExpression.pod 2017-03-14 14:26:52.000000000 +0100 @@ -52,7 +52,7 @@ =head1 VERSION -2.0128 +2.0129 =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/perl-libxml-sax.c new/XML-LibXML-2.0129/perl-libxml-sax.c --- old/XML-LibXML-2.0128/perl-libxml-sax.c 2016-05-30 11:01:59.000000000 +0200 +++ new/XML-LibXML-2.0129/perl-libxml-sax.c 2017-03-13 14:40:51.000000000 +0100 @@ -52,7 +52,7 @@ typedef struct { SV * parser; xmlNodePtr ns_stack; - xmlSAXLocator * locator; + HV * locator; xmlDocPtr ns_stack_root; SV * handler; SV * saved_error; @@ -364,6 +364,12 @@ xmlFreeDoc( vec->ns_stack_root ); vec->ns_stack_root = NULL; + + if ( vec->locator != NULL ) { + SvREFCNT_dec( vec->locator ); + vec->locator = NULL; + } + xmlFree( vec ); ctxt->_private = NULL; } @@ -563,6 +569,8 @@ PSaxStartPrefix( sax, name, href, handler ); } +#define XML_STR_NOT_EMPTY(s) ((s)[0] != 0) + HV * PmmGenElementSV( pTHX_ PmmSAXVectorPtr sax, const xmlChar * name ) { @@ -572,7 +580,7 @@ xmlNsPtr ns = NULL; - if ( name != NULL && xmlStrlen( name ) ) { + if ( name != NULL && XML_STR_NOT_EMPTY( name ) ) { (void) hv_store(retval, "Name", 4, _C2Sv(name, NULL), NameHash); @@ -659,7 +667,7 @@ name = *ta; ta++; value = *ta; ta++; - if ( name != NULL && xmlStrlen( name ) ) { + if ( name != NULL && XML_STR_NOT_EMPTY( name ) ) { localname = xmlSplitQName(NULL, name, &prefix); (void) hv_store(atV, "Name", 4, @@ -757,7 +765,7 @@ { HV * retval = newHV(); - if ( data != NULL && xmlStrlen( data ) ) { + if ( data != NULL && XML_STR_NOT_EMPTY( data ) ) { (void) hv_store(retval, "Data", 4, _C2Sv_len(data, len), DataHash); } @@ -772,11 +780,11 @@ { HV * retval = newHV(); - if ( target != NULL && xmlStrlen( target ) ) { + if ( target != NULL && XML_STR_NOT_EMPTY( target ) ) { (void) hv_store(retval, "Target", 6, _C2Sv(target, NULL), TargetHash); - if ( data != NULL && xmlStrlen( data ) ) { + if ( data != NULL && XML_STR_NOT_EMPTY( data ) ) { (void) hv_store(retval, "Data", 4, _C2Sv(data, NULL), DataHash); } @@ -796,21 +804,119 @@ const xmlChar * systemId ) { HV * retval = newHV(); - if ( name != NULL && xmlStrlen( name ) ) { + if ( name != NULL && XML_STR_NOT_EMPTY( name ) ) { (void) hv_store(retval, "Name", 4, _C2Sv(name, NULL), NameHash); } - if ( publicId != NULL && xmlStrlen( publicId ) ) { + if ( publicId != NULL && XML_STR_NOT_EMPTY( publicId ) ) { (void) hv_store(retval, "PublicId", 8, _C2Sv(publicId, NULL), PublicIdHash); } - if ( systemId != NULL && xmlStrlen( systemId ) ) { + if ( systemId != NULL && XML_STR_NOT_EMPTY( systemId ) ) { (void) hv_store(retval, "SystemId", 8, _C2Sv(systemId, NULL), SystemIdHash); } return retval; } +HV * +PmmGenLocator( xmlSAXLocatorPtr loc) +{ + dTHX; + HV * locator = newHV(); + + const xmlChar * PublicId = loc->getPublicId(NULL); + const xmlChar * SystemId = loc->getSystemId(NULL); + + if ( PublicId != NULL && XML_STR_NOT_EMPTY( PublicId ) ) { + (void) hv_store(locator, "PublicId", 8, + newSVpv((char *)PublicId, 0), 0); + } + + if ( SystemId != NULL && XML_STR_NOT_EMPTY( SystemId ) ) { + (void) hv_store(locator, "SystemId", 8, + newSVpv((char *)SystemId, 0), 0); + } + + return locator; +} + + +void +PmmUpdateLocator( xmlParserCtxtPtr ctxt ) +{ + PmmSAXVectorPtr sax = (PmmSAXVectorPtr)ctxt->_private; + + if (sax->locator == NULL) { + return; + } + + dTHX; + + (void) hv_store(sax->locator, "LineNumber", 10, + newSViv(ctxt->input->line), 0); + + (void) hv_store(sax->locator, "ColumnNumber", 12, + newSViv(ctxt->input->col), 0); + + const xmlChar * encoding = ctxt->input->encoding; + const xmlChar * version = ctxt->input->version; + + if ( encoding != NULL && XML_STR_NOT_EMPTY( encoding ) ) { + (void) hv_store(sax->locator, "Encoding", 8, + newSVpv((char *)encoding, 0), 0); + } + + if ( version != NULL && XML_STR_NOT_EMPTY( version ) ) { + (void) hv_store(sax->locator, "XMLVersion", 10, + newSVpv((char *)version, 0), 0); + } +} + +int +PSaxSetDocumentLocator(void *ctx, xmlSAXLocatorPtr loc) +{ + xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctx; + PmmSAXVectorPtr sax = (PmmSAXVectorPtr)ctxt->_private; + dTHX; + HV* empty; + SV * handler = sax->handler; + SV * rv; + + dSP; + + if (sax->joinchars) + { + PSaxCharactersFlush(ctxt, sax->charbuf); + } + + ENTER; + SAVETMPS; + + PUSHMARK(SP) ; + + XPUSHs(handler); + + sax->locator = PmmGenLocator(loc); + + rv = newRV_inc((SV*)sax->locator); + XPUSHs( rv); + + PUTBACK; + + call_method( "set_document_locator", G_SCALAR | G_EVAL | G_DISCARD ); + sv_2mortal(rv) ; + + if (SvTRUE(ERRSV)) { + croak_obj; + } + + FREETMPS ; + LEAVE ; + CLEAR_SERROR_HANDLER + return 1; +} + int PSaxStartDocument(void * ctx) { @@ -823,6 +929,8 @@ SV * rv; if ( handler != NULL ) { + PmmUpdateLocator(ctx); + dSP; ENTER; @@ -889,6 +997,8 @@ dTHX; dSP; + PmmUpdateLocator(ctx); + if (sax->joinchars) { PSaxCharactersFlush(ctxt, sax->charbuf); @@ -927,6 +1037,8 @@ dSP; + PmmUpdateLocator(ctx); + if (sax->joinchars) { PSaxCharactersFlush(ctxt, sax->charbuf); @@ -978,6 +1090,8 @@ dSP; + PmmUpdateLocator(ctx); + if (sax->joinchars) { PSaxCharactersFlush(ctxt, sax->charbuf); @@ -1079,6 +1193,8 @@ xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctx; PmmSAXVectorPtr sax = (PmmSAXVectorPtr)ctxt->_private; + PmmUpdateLocator(ctx); + if (sax->joinchars) { struct CBuffer *buffer = sax->charbuf; CBufferAppend(buffer, ch, len); @@ -1096,6 +1212,8 @@ HV* element; SV * handler = sax->handler; + PmmUpdateLocator(ctx); + SV * rv = NULL; if ( ch != NULL && handler != NULL ) { @@ -1139,6 +1257,8 @@ PmmSAXVectorPtr sax = (PmmSAXVectorPtr)ctxt->_private; dTHX; + PmmUpdateLocator(ctx); + HV* element; SV * handler = sax->handler; @@ -1209,6 +1329,8 @@ dTHX; SV * handler = sax->handler; + PmmUpdateLocator(ctx); + SV * element; SV * rv = NULL; @@ -1253,6 +1375,8 @@ { xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr)ctx; PmmSAXVectorPtr sax = (PmmSAXVectorPtr)ctxt->_private; + PmmUpdateLocator(ctx); + dTHX; SV * handler = sax->handler; @@ -1524,6 +1648,8 @@ xmlSAXHandlerPtr retval = (xmlSAXHandlerPtr)xmlMalloc(sizeof(xmlSAXHandler)); memset(retval, 0, sizeof(xmlSAXHandler)); + retval->setDocumentLocator = (setDocumentLocatorSAXFunc)&PSaxSetDocumentLocator; + retval->startDocument = (startDocumentSAXFunc)&PSaxStartDocument; /* libxml2 will not handle perls returnvalue correctly, so we have diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/XML-LibXML-2.0128/t/14sax.t new/XML-LibXML-2.0129/t/14sax.t --- old/XML-LibXML-2.0128/t/14sax.t 2016-05-30 11:01:59.000000000 +0200 +++ new/XML-LibXML-2.0129/t/14sax.t 2016-12-23 15:26:25.000000000 +0100 @@ -6,8 +6,8 @@ use Counter; use Stacker; -# should be 31. -use Test::More tests => 31; +# should be 33. +use Test::More tests => 33; # BEGIN { plan tests => 55 } @@ -230,6 +230,51 @@ ); } +{ + local $XML::SAX::ParserPackage = 'XML::LibXML::SAX'; + + my @stack; + my $sax = SAXLocatorTester->new( sub { + my ($self, $method, @args) = @_; + push( @stack, $method => [ + $self->{locator}->{LineNumber}, + $self->{locator}->{ColumnNumber} + ] ); + } ); + + # TEST + ok($sax, 'Created SAX handler with document locator'); + + my $parser = XML::SAX::ParserFactory->parser(Handler => $sax); + + $parser->parse_string(<<EOT); +<?xml version="1.0" encoding="UTF-8"?> +<root> +1 +<!-- comment --> +<![CDATA[ a < b ]]> +</root> +EOT + + my $expecting = [ + start_document => [ 2, 1 ], + start_element => [ 2, 6 ], + characters => [ 4, 1 ], + comment => [ 4, 17 ], + characters => [ 5, 1 ], + start_cdata => [ 5, 20 ], + characters => [ 5, 20 ], + end_cdata => [ 5, 20 ], + characters => [ 6, 1 ], + end_element => [ 6, 8 ], + end_document => [ 6, 8 ], + ]; + + # TEST + is_deeply( \@stack, $expecting, "Check locator positions" ); +} + + ########### Namespace test ( empty namespaces ) ######## { @@ -427,6 +472,34 @@ return; } + +package SAXLocatorTester; +use Test::More; + +sub new { + my ($class, $cb) = @_; + my $self = bless {}, $class; + + for my $method ( qw( + start_document end_document + start_element end_element + start_cdata end_cdata + start_dtd end_dtd + characters + comment + ) ) { + no strict 'refs'; + *$method = sub { $cb->( $_[0], $method, @_[1..$#_]) }; + } + + return $self; +} + +sub set_document_locator { + my ($self, $locator) = @_; + $self->{locator} = $locator; +} + 1; package SAXErrorTester;
