我有一些以编程方式执行 XSLT 转换的现有 Java 代码 - 最初使用 Xalan。我已经对其进行了重构,以便能够使用另一个(外部配置的)TransformerFactory。
我曾尝试使用 Saxon(v6.5.3 和 v8.7)工厂,但没有看到任何性能改进 - 如果有的话,Saxon 比 Xalan 更慢并且使用更多内存。
我知道我可以使用 Saxon TinyTree 获得一些性能优势,但无法弄清楚如何使用此代码来做到这一点。
我的代码是这样的;
TransformerFactory tf = (TransformerFactory) transformerFactoryClass.newInstance();
Transformer t = tf.newTransformer(pTransformFile);
t.transform(new StreamSource(pSourceFile), new StreamResult(pTargetFile));
其中 'transformerFactoryClass' 是配置的 TransformerFactory 类的实例
- Xalan 的 org.apache.xalan.processor.TransformerFactoryImpl
- Saxon 8.7 的
net.sf.saxon.TransformerFactoryImpl 和 Saxon 6.5.3 的 com.icl.saxon.TransformerFactoryImpl
有什么建议么?