Since Saxon is perfectly able to find the associated stylesheet, with the registered custom entity resolver, therefore whenever transformation is happening with XalanJ, we are using Saxon for getting the associated Stylesheet.
And once we get the associated stylesheet, we pass the input file, and the stylesheet to Xalan for transformation.