On 20/10/2025 12:41, Mukul Gandhi wrote:
Xalan's XSLT 3.0 implementation has been written using JDK 1.8
(synonym, for Java version 8) features. Therefore, as of now Xalan can
be deployed on class path.
Does it implement the service provider interfaces, e.g.
javax.xml.transform.TransformerFactory, so that users can use the
standard API but use the new implementation?
To use Xalan's XSLT 3.0 implementation as an API, JVM's system
property javax.xml.transform.TransformerFactory needs to be set to
org.apache.xalan.processor.XSL3TransformerFactoryImpl which implements
javax.xml.transform.TransformerFactory.
Have you tested with JDK 25 to make sure that someone using a new modern
JDK release can use this version of XSLT if they wish?
Also have you looked into providing a service provider configuration so
it can be loaded with ServiceLoader. Going further, having a module-info
with `provides javax.ml.transform.TransformerFactory` could allow for it
to be included in a custom run-time image created with the jlink too.
-Alan