我使用 Saxon(Java) 转换*.xhtml
为*.xml
.
这是我的java代码:
System.setProperty("javax.xml.transform.TransformerFactory","net.sf.saxon.TransformerFactoryImpl");
TransformerFactory tfactory = TransformerFactory.newInstance();
System.out.println("load xslt file");
Templates templates = tfactory.newTemplates(new StreamSource(xsltFile));
Transformer transformer = templates.newTransformer();
Result result = new StreamResult(new File(filtTempXml));
transformer.transform(new StreamSource(xmlFile), result);
因为文件中有DTD *.xhtml
,比如:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
错误:
java.net.SocketException: Unexpected end of file from server
我想知道:
1) 如何简单地禁用 dtd?
2)如果没有,如何在Java程序中为saxon设置目录文件(将dtd映射到本地)?有什么例子吗?
谢谢。