I just got it, a late answer(tested on FOP 1.0) ——
All you need is to set an uri resolver for your factory, as following works for me:
TransformerFactory transFact = TransformerFactory.newInstance();
StreamSource xsltSource = new StreamSource(xsl);
// XXX for 'xsl:import' to load other xsls from class path
transFact.setURIResolver(new ClasspathResourceURIResolver());
Templates cachedXSLT = transFact.newTemplates(xsltSource);
Transformer transformer = cachedXSLT.newTransformer();
class ClasspathResourceURIResolver implements URIResolver {
@Override
public Source resolve(String href, String base) throws TransformerException {
return new StreamSource(XXX.getClassLoader().getResourceAsStream(href));
}
}
and my importing xsl(so the ‘imported.xsl’ should be in the classpath):
<xsl:import href="https://stackoverflow.com/questions/3699860/META-INF/companybusinesscredit/imported.xsl"/>