在以下代码中:
private Document transformDoc(Source source) throws TransformerException, IOException {
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer =
factory.newTransformer(new StreamSource(xsltResource.getInputStream()));
JDOMResult result = new JDOMResult();
transformer.transform(source, result);
return result.getDocument();
}我得到了这个例外:
java.io.IOException: Server returned HTTP response code: 503 for URL: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd我通过xsl转换的XHTML是:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>Terms and Conditions</title>
</head>
<body>
<div>Test Content</div>
</body>
</html>我如何阻止xalan变压器给家里打电话?
发布于 2010-03-24 02:35:54
This post from the Xalan-J mailing list建议,“正确的方法”是您自己配置底层的Source/Reader来禁用验证。
发布于 2010-03-24 02:38:51
在解析器中禁用DTD解析(特定于解析器)或设置空的实体解析器。
从http://www.jdom.org/docs/faq.html#a0350复制
public class NoOpEntityResolver implements EntityResolver {
public InputSource resolveEntity(String publicId, String systemId) {
return new InputSource(new StringBufferInputStream(""));
}
}
// Then in the builder...
builder.setEntityResolver(new NoOpEntityResolver());https://stackoverflow.com/questions/2502581
复制相似问题