// find a TRAX factory that works
final String[] traxFactories = getPreferredTransformerFactories();
for (int i = 0; traxFactories != null && i < traxFactories.length; i++) {
// if (DEBUG) System.err.println("trying TRAX=" + traxFactories[i]);
try {
TransformerFactory factory = (TransformerFactory) ClassLoaderUtil.newInstance(traxFactories[i]);
initFactory(factory);
if (DEBUG) System.err.println("using TRAX TransformerFactory=" + factory.getClass().getName());
return factory;
} catch (ClassNotFoundException e) {
continue; // keep on trying
} catch (NoClassDefFoundError err) {
continue; // keep on trying
} catch (Throwable e) {
continue; // keep on trying
}
}
// try default TRAX initialization
// if (DEBUG) System.err.println("trying default TRAX");
TransformerFactory factory = TransformerFactory.newInstance();
initFactory(factory);
if (DEBUG) System.err.println("using default TRAX TransformerFactory=" + factory.getClass().getName());
return factory;
}
};
}