Parsing XML documents behind a firewall; java makes a connect to the
actual DTD?
Xerces or some seems to make a request to the DTD to use while
validating a XML document.
This is a major bug that even the w3c is complaining about.
Does anyone know how to turn this. Off. I want to do it through some
java setting as opposed to visiting each individual file.?
This is essentially the code:
public static Object [] validateXML(final String url, final String
http_data) {
try {
if ((http_data == null) || (http_data.length() == 0)) {
throw new RuntimeException("Invalid HTTP data argument");
}
final DOMParser parser = new DOMParser();
parser.setFeature("http://xml.org/sax/features/validation", true);
parser.setProperty("http://apache.org/xml/properties/schema/
external-noNamespaceSchemaLocation",
"memory.xsd");
LoadTestXMLDefaultHandler errors = new LoadTestXMLDefaultHandler();
parser.setErrorHandler(errors);
parser.parse(new InputSource(new StringReader(http_data)));
Object tuple [] = { new Boolean(true), "" };
return tuple;
} catch (Exception e) {
final StringBuffer err_msg = new StringBuffer();
err_msg.append("ERR: validateXML() - Error validating HTTP
content.");
err_msg.append("ERR: url=" + url + " error=" + e.getMessage());
Object tuple [] = { new Boolean(false), err_msg.toString() };
return tuple;
}
}