xpath式を評価するコードは以下のとおりです。xpathを評価している間にDTDを許可しない
String inputXml = "<?xml version=\"1.0\"?><!DOCTYPE document SYSTEM \"test.dtd\"><Request><Header><Version>1.0</Version></Header></Request>";
String xpath="/Request/Header/Version";
XPathFactory xpf = new net.sf.saxon.xpath.XPathFactoryImpl();
final InputSource is = new InputSource(new StringReader(inputXml));
String version = xpf.newXPath().evaluate(xpath, is);
xpf.newXPath().evaluate
test.dtd couldn't be found
としてスローエラーが発生します。私はDTDを完全に禁止したい。私はSAXParserの機能 "http://apache.org/xml/features/disallow-doctype-decl"の設定について読んできましたが、この場合にはどのように適用するのか、またはDTDを許可しない/無視する方法はありません。
saxonで質問にタグを付けると、これはSaxon構成の問題のようです。 – chrisis