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);
*.xhtml
ファイルにはDTDがあるため、次のようになります。
<!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をローカルにマッピング)を設定するにはどうすればよいですか?例はありますか?
ありがとう。