Я нашел это решение:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
// stop the network loading of DTD files
factory.setValidating(false);
factory.setNamespaceAware(true);
factory.setFeature("http://xml.org/sax/features/namespaces", false);
factory.setFeature("http://xml.org/sax/features/validation", false);
factory.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar", false);
factory.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
(см здесь TransformerFactory - avoiding network lookups to verify DTDs)
Поскольку мы знаем, что <int-xml:xslt-transformer>
поддерживает source-factory
и result-factory
, там будет просто нужно предоставить для них свою onw-реализацию, например основанные на существующем DomSourceFactory
и DomResultFactory
, и вводят этот код там в конструкторе.
Конечно, вы можете придать DocumentBuilderFactory
к этому DomSourceFactory
и DomResultFactory
, но вы должны написать некоторые пользовательские FactoryBean<DocumentBuilderFactory>
для инициализации DocumentBuilderFactory
в getObject()
.