Camel URIResolver解析外部http服务器上的相对路径

时间:2013-10-23 07:52:58

标签: java xslt apache-camel

我遇到了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,但如果它证明自己是不可能的,也许你对另一个框架有建议吗?

提前感谢所有回复 卢卡斯

0 个答案:

没有答案