I'm writing my own JBI component. It requires Saxon B 9.0.0.8 as XSLT engine instead the default one provided with Petals CDK. Saxon B 9.0.0.8 is required to get the feature about reflexive Java functions no more available in Saxon HE (only available in Saxon PE or EE). So I exclude Saxon from the transitive dependencies of Petals CDK and I add my own version of Saxon.
At runtime Saxon B is not used until I replace Saxon HE provided by Petals ESB container (in $PETALS_HOME/lib) by the default XSLT engine of the JVM (renaming Saxon HE jar file, and removing system property javax.xml.transform.TransformerFactory in Petals ESB start-up script.