Ну, после некоторой настройки отладчика и сканирования исходного кода, я нашел указатель в javadocs, который я не нашел в Google.Класс, который делает трюк, это URIResolver , который можно установить на Transformer с помощью:
import javax.xml.transform.Source;
import javax.xml.transform.TransformerException;
import javax.xml.transform.URIResolver;
import javax.xml.transform.stream.StreamSource;
public class CachedURIResolver implements URIResolver
{
@Override
public Source resolve (final String href, final String base)
throws TransformerException
{
// TODO: caching logic
return new StreamSource(href);
}
}
...
final Transformer transformer = transformerFactory.newTransformer(transformation);
transformer.setURIResolver(new CachedURIResolver());
Должна быть более тонкая обработка href и base, я думаю, в случаеотносительных URL, но в моем случае это не нужно.