Résolution des chemins relatifs lors du chargement des fichiers XSLT

J'ai besoin de faire une transformation XSL à l'aide d'Apache FOP et j'ai eu un code comme ceci:

//Setup FOP
Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, out);
//Setup Transformer
Source xsltSrc = new StreamSource(new File(xslPath));
Transformer transformer = tFactory.newTransformer(xsltSrc);

//Make sure the XSL transformation's result is piped through to FOP
Result res = new SAXResult(fop.getDefaultHandler());
//Setup input
Source src = new StreamSource(new File(xmlPath));
//Start the transformation and rendering process
transformer.transform(src, res);

xslPath est le chemin où mon fichier XSLT est stockée.

J'ai confirmé qu'il fonctionne lorsque je n'ai qu'un fichier XSLT, mais dans mon projet, j'ai divisé les choses en plusieurs fichiers XSLT et s'est joint à eux avec la <xsl:import /> tag. Avec cette configuration, j'obtiens une exception NullPointerException parce qu'il ne comprend pas toutes les informations stockées dans XSLT parce qu'il est distribué dans différents fichiers.

Je me demande si il y a moyen de charger tous ces fichiers dans le Source xsltSrc variable de sorte que tout le XSL information est disponible.

Mise à JOUR

J'ai modifié le code en fonction de la réponse donnée par Mads Hansen, mais cela ne fonctionne toujours pas. - Je inclure le XSLT slt les fichiers dans le chemin de la classe, donc je charge le fichier XSLT avec chargeur de classe. J'ai vérifié que l'URL a le chemin d'accès correct lors de l'exécution de url.toExternalForm(). Ceci est mon nouveau morceau de code:

ClassLoader cl = this.getClass().getClassLoader();
String systemID = "resources/xslt/myfile.xslt";
InputStream in = cl.getResourceAsStream(systemID);
URL url = cl.getResource(systemID);
Source source = new StreamSource(in);
source.setSystemId(url.toExternalForm());
transformer = tFactory.newTransformer(source);

Il détecte et charge myfile.xslt mais ça ne fonctionne toujours pas résoudre les chemins relatifs pour les autres fichiers XSLT.

Ce que je fais mal?

source d'informationauteur Javi