Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the XML-LibXML-SAX-ChunkParser CPAN distribution.

Report information
The Basics
Id: 38526
Status: open
Priority: 0/
Queue: XML-LibXML-SAX-ChunkParser

People
Owner: Nobody in particular
Requestors: SREZIC [...] cpan.org
Cc: blom [...] cpan.org
martijn [...] cpan.org
AdminCc:

Bug Information
Severity: Critical
Broken in: 0.00001
Fixed in: (no value)



Subject: "No _parse_* routine defined on this driver"
It seems that XML::LibXML::SAX::ChunkParser causes other SAX-using modules to fail. For example, all Google-SAML-Response-0.05 tests fail with No _parse_* routine defined on this driver (If it is a filter, remember to set the Parent property. If you call the parse() method, make sure to set a Source. You may want to call parse_uri, parse_string or parse_file instead.) [XML::LibXML::SAX::ChunkParser=HASH(0x85273e4)] at /usr/perl5.8.8@33662/lib/site_perl/5.8.8/XML/SAX/Base.pm line 2616. I saw the same failure for Parse-CPAN-Whois-0.01. If the XML::LibXML::SAX::ChunkParser entry is removed from XML/SAX/ParserDetails.ini, then all Google-SAML-Response tests pass. I am not sure what the correct fix is. Maybe you have to implement the missing methods, maybe you must not let the module install into the ParserDetails.ini file. Regards, Slaven
Since I don't know the "correct" fix yet, but this seems rather critical, I'm just going to /not/ install it on ParserDetails.ini. I'll see if I can implment a better workaround when I have tuits. thanks!
hmm, yes got bitten by this too. Sounds to me like the only solution other than not putting it in ParserDetails.ini is to implement the non-chunked methods. What is the use of this module though? You can just as easily use the regular XML::LibXML parser to do chunked parsing (I've been doing that in POE::Filter::SAXBuilder for quite a while now). What would be interesting is defining a custom sax feature that says the parser can do chunked parsing, and getting that added to XML::LibXML and Expat, both of which do chunked parsing (but slightly differently), and defining a generic API for XML::SAX so that you don't have to specifically require one of the two to do chunked parsing.
I've been bitten by this module as well (http://www.nntp.perl.org/group/perl.cpan.testers/2008/10/msg2397324.html). Now that the module isn't added to ParserDetail.ini by default anymore, wouldn't it be nice to _remove_ any previous instances in the Makefile.PL (where found, of course) also? This way, installing the new version would remove the bug. This would do the trick: my $mod = 'XML::LibXML::SAX::ChunkParser'; XML::SAX->remove_parser($mod)->save_parsers() if( grep {$_->{'Name'} eq $mod} @{XML::SAX->parsers()} ); Granted the user has enough permissions to alter ParserDetail.ini, of course. -- B10m