- From: Olivier Thereaux via cvs-syncmail <cvsmail@w3.org>
- Date: Thu, 26 Jul 2007 02:10:51 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/validator/httpd/cgi-bin In directory hutz:/tmp/cvs-serv10025 Modified Files: check Log Message: change of strategy for the use of XML::LibXML apparently, even loading a local catalog does not stop it from fetching tons of schema/entities stuff (even in non-validating mode) Using load_ext_dtd(0) solves the issue, but the parser would complain about unknown entities => filtering that at the post-parsing level. Index: check =================================================================== RCS file: /sources/public/validator/httpd/cgi-bin/check,v retrieving revision 1.548 retrieving revision 1.549 diff -u -d -r1.548 -r1.549 --- check 25 Jul 2007 17:41:54 -0000 1.548 +++ check 26 Jul 2007 02:10:48 -0000 1.549 @@ -632,8 +632,10 @@ my $xmlparser = XML::LibXML->new(); $xmlparser->line_numbers(1); - # loading the XML catalog for entities resolution - $xmlparser->load_catalog( File::Spec->catfile($CFG->{Paths}->{SGML}->{Library}, 'xml.soc') ); + $xmlparser->validation(0); + $xmlparser->load_ext_dtd(0); + # [NOT] loading the XML catalog for entities resolution as it seems to cause a lot of unnecessary DTD/entities fetching + #$xmlparser->load_catalog( File::Spec->catfile($CFG->{Paths}->{SGML}->{Library}, 'xml.soc') ); my $xml_string = join"\n",@{$File->{Content}}; # the XML parser will check the value of encoding attribute in XML declaration # so we have to amend it to reflect transcoding. see Bug 4867 @@ -691,7 +693,9 @@ $err->{type} = "E"; $err->{msg} = $xmlwf_error_msg; - # ... + # The validator will sometimes fail to dereference entities files + # we're filtering the bogus resulting error + next if ($err->{msg} =~ /Entity '\w+' not defined/); push (@xmlwf_error_list, $err); $xmlwf_error_line = undef; $xmlwf_error_col = undef; @@ -768,7 +772,6 @@ { name => 'Parse Mode Factor', value => $File->{ModeChoice} }, { name => 'Parser', value => $parser_name }, { name => 'Parser Options', value => join " ", @spopt }, - ], ); $File->{Templates}->{SOAP}->param(opt_debug => $DEBUG);
Received on Thursday, 26 July 2007 02:10:56 UTC