in reply to Re^3: XML::SAX::ParserFactory policy and differences between parser implementations
in thread XML::SAX::ParserFactory policy and differences between parser implementations

with your code and my data.xml:
XML::SAX::PurePerl doc () XML::SAX::Expat doc ("Standalone", "", "Encoding", "UTF-8", "Version", "1.0") XML::SAX::ExpatXS doc () decl ("Encoding", "UTF-8", "Version", "1.0", "Standalone", undef) XML::LibXML::SAX::Parser doc () decl ("Version", "1.0", "Encoding", "UTF-8") XML::LibXML::SAX doc () decl ("Version", "1.0")
It agrees with my own test: XML::LibXML::SAX does not get the encoding while XML:LibXML::SAX::Parser does.
It seems that the parser must be carefully and explicitly selected to get consistent results, rather than letting the factory pass a broken parser.

Update: indeed it seems that XML::LibXML::SAX fails to give the encoding of an utf-8 encoded file while it succeeds with an iso-8859-1. I have no other encoding from xml file right available for another test.
  • Comment on Re^4: XML::SAX::ParserFactory policy and differences between parser implementations
  • Download Code