diff -up validator-1.1/httpd/cgi-bin/check~ validator-1.1/httpd/cgi-bin/check --- validator-1.1/httpd/cgi-bin/check~ 2010-07-12 20:37:06.000000000 +0300 +++ validator-1.1/httpd/cgi-bin/check 2010-11-28 11:45:07.219577192 +0200 @@ -215,7 +215,7 @@ EOF # SGML open catalogs but they don't seem to work (again as of 1.70 and # 2.7.7); if we use xml.soc here, no entities seem to end up being resolved # from it - so we use a (redundant) XML catalog which works. - local $ENV{XML_CATALOG_FILES} = + local $ENV{XML_CATALOG_FILES} = "/etc/xml/catalog " . catfile($CFG->{Paths}->{SGML}->{Library}, 'catalog.xml'); require XML::LibXML; XML::LibXML->VERSION(1.70); # Need 1.70 for (working) structured errors @@ -1213,7 +1213,8 @@ sub dtd_validate (\$) # # Parser configuration - $opensp->search_dirs($CFG->{Paths}->{SGML}->{Library}); + $opensp->search_dirs($CFG->{Paths}->{SGML}->{Library}, + '/usr/share/xml', '/usr/share/sgml'); $opensp->catalogs($catalog); $opensp->show_error_numbers(1); $opensp->warnings(@spopt); @@ -2072,6 +2073,7 @@ sub xml_jail_match # Do not trap file URIs within our jail. for my $dir ($CFG->{Paths}->{SGML}->{Library}, + '/etc/xml', '/usr/share/xml', '/usr/share/sgml', split(/\Q$Config{path_sep}\E/o, $ENV{SGML_SEARCH_PATH} || '')) { next unless $dir;