我遇到了Camel xslt转换的问题。我想要服务器http包含xsl文件。使用我的程序中创建的直接路径包含这些文件,如: xml:include href =“http://serverName.com/files/file.xsl”/ 但随后在服务器上,文件应包含其他文件,但使用相对路径。所以它看起来像 xml:include href =“../ directory / file.xsl”/
我写了自己的URIResolver,其中ovverides方法解决了 @覆盖 public source resolve(String href,String base)throws TransformerException { base = testBase; if(href == null || href.equals(“”)) 抛出新的TransformerException();
if (base == null || base.equals(""))
return resolve(href);
String uri = createUri(href, base);
return resolve(uri);
}
但base参数始终为null。我读到这个参数以某种方式连接到systemID但我不知道该怎么做。我只创建了第一个主xsl文件,然后其他所有内容都由Camel Transformer处理。更重要的是,这个变换器在我的应用程序中是单线程的,所以每次开始转换时我都无法加载不同的URIResolver。 Therfore only选项似乎是在xsl文件中存储有关服务器地址的信息(最好是具有服务器直接路径的主文件)。我尝试这样做,但我得到的是URIResolver在href参数中得到类似@ baseDir / directory / file.xml的东西,而base仍然是null。
那么有人知道如何做到这一点吗?最好是使用Camel,但如果它证明自己是不可能的,也许你对另一个框架有建议吗?
提前感谢所有回复 卢卡斯