Apache Camel:如何在将XSLT应用于XML

时间:2017-11-16 10:33:06

标签: spring xslt groovy apache-camel

问题: 我在类路径上有一些XSLT文件。这些有时会被某些同事的IDE无意中重新格式化,以便引入换行符。这会在转换后的XML中引入换行符,从而导致一系列其他问题。

我的问题是: 如何在将XSLT应用于camel路由中的XML文件之前对其进行修改。

请不要就如何解决问题提出其他建议。我想更多地了解骆驼及其内部结构。

我的路线看起来像那样:

@Component
class SomeRouteBuilder extends RouteBuilder {

    @Autowired  
    SomeProcessor someProcessor

    XStream xStream = new XStream()

    @Override
    void configure() {
        xStream.alias("SomeTag", SomeClass.class)

        from("direct:some-endpoint")
            .streaming()
            .to("xslt://xslt/SomeXsltWithLineBreaks.xsl?saxon=true")
            .split(xpath("//SomeTag"))
            .unmarshal(new XStreamDataFormat(xStream))
            .process(someProcessor)
            .end()
    }
}

我尝试了以下内容,但从未触发过:

intercept().when(body().contains("stylesheet"))
        .convertBodyTo(byte[].class, "iso-8859-1")
        .setBody(body().regexReplaceAll("\\r\\n", "\\\n"))

0 个答案:

没有答案