Правильный способ сделать это - указать класс фабрики при получении нового TransformerFactory.
Я не думаю, что вызов конкретной реализации фабрики будет работать - я считаю, что системный преобразователь по умолчанию все еще может быть возвращен (по крайней мере, это то, что произошло, когда у меня были xalan и saxon в classpath).
пример:
TransformerFactory tFactory = TransformerFactory.newInstance("org.apache.xalan.processor.TransformerFactoryImpl",null);
или для саксонской
TransformerFactory tFactory = TransformerFactory.newInstance("net.sf.saxon.TransformerFactoryImpl",null);
Javadocs:
Получить новый экземпляр
TransformerFactory из заводского класса
название. Эта функция полезна, когда
Есть несколько провайдеров в
CLASSPATH. Это дает больше контроля
приложение, как оно может указать
какой провайдер должен быть загружен. однажды
заявка получила
ссылка на TransformerFactory это
можно использовать фабрику для настройки и
получить экземпляры трансформатора.