Subject: | XML::Checker::Parser::map_uri not working ?? |
Hello:
This might not be a bug at all, but I have trouble reading the source properly and I am left wondering if I understand its flow properly.
I am trying to detect an order issue in a J2EE web.xml by validating it against its dtd.
The xml file has a a DTD set to:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
When I run my script I get an error connecting to sun.com to get the dtd file. I do not want to set the LWP to pass through the firewalls but use a local disk copy. So I set in my script:
XML::Checker::Parser::map_uri (
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" => "web-app_2_3.dtd"
);
However, instead of using the local file copy of web-app_2_3.dtd, I still get an error connecting to sun.com.
In the Parser.pm code it appears that if there is a valid:
$URI_MAP{$sysid}
it will take that value .... My testing seems to show that it is ignored.
Could you be so kind and take a couple minute to confirm that it is possible to supersede the dtd location value without editing the original xml file's DOCTYPE.
Your help is greatly appreciated. Many thanks,
Kind Regards - Fred Kubli
Perot Systems Corp., Connecticut