我必须根据输入XML中设置的某些基础调用2个不同的XSL。
我不想为此任务编写2个单独的变换器。目前的代码是这样编写的
<int:router input-channel="inputchannel"
default-output-channel="outputChannel" expression="headers.get('someValue')">
<int:mapping value="x" channel="xChannel" />
<int:mapping value="y" channel="yChannel" />
</int:router>
<int-xml:xslt-transformer inputChannel="xChannel" output-channel= "output"
xsl-resource="xRelated.xsl" />
<int-xml:xslt-transformer inputChannel="yChannel" output-channel="output"
xsl-resource="yRelated.xsl" />
然而,这似乎是一个肮脏的解决方案,因为这只是一个样本。我将有14种不同类型的XSL。有没有人有想法,我怎么能重新考虑这一点。
答案 0 :(得分:0)
Spring Integration XsltPayloadTransformer
依赖于TransformerFactory
抽象,它基于来自基础XSTL的Templates
来生成Source
。
因此,看起来没有选择只有一个组件可以同时处理多个XSLT。
如果知道可以提供所需解决方案的其他XSLT引擎,那就太棒了,但它不能基于标准TransformerFactory
。