我正在使用 JAXP XSLT API (javax.xml.transform) 来转换 xml 文件。
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer(xslSource);
transformer.transform(inputSource, outputResult);
Run Code Online (Sandbox Code Playgroud)
TransformerFactory 的 javadoc 说:它使用以下有序查找过程来确定要加载的 TransformerFactory 实现类:
- 使用 javax.xml.transform.TransformerFactory 系统属性。
- 使用 JRE 目录中的属性文件“lib/jaxp.properties”。该配置文件采用标准 java.util.Properties 格式,包含实现类的完全限定名称,其键是上面定义的系统属性。JAXP 实现仅读取 jaxp.properties 文件一次,然后将其值缓存起来以供将来使用。如果第一次尝试读取该文件时该文件不存在,则不会再尝试检查该文件是否存在。第一次读取 jaxp.properties 中的任何属性的值后,就无法更改该值。
- 使用服务 API(如 JAR 规范中详述)(如果可用)来确定类名。服务 API 将在运行时可用的 jar 中的 META-INF/services/javax.xml.transform.TransformerFactory 文件中查找类名。
- 平台默认的 TransformerFactory 实例。
我想知道如何确定哪个是默认的 TransformerFactory 实例?