378.8. 使用 Saxon 扩展功能
由于 Saxon 9.2,编写扩展功能已被一个新的机制补充,称为 集成 扩展功能,您现在可以轻松使用 camel,如下例所示:
SimpleRegistry registry = new SimpleRegistry(); registry.put("function1", new MyExtensionFunction1()); registry.put("function2", new MyExtensionFunction2()); CamelContext context = new DefaultCamelContext(registry); context.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { from("direct:start") .to("xslt:org/apache/camel/component/xslt/extensions/extensions.xslt?saxonExtensionFunctions=#function1,#function2"); } });
使用 Spring XML:
<bean id="function1" class="org.apache.camel.component.xslt.extensions.MyExtensionFunction1"/> <bean id="function2" class="org.apache.camel.component.xslt.extensions.MyExtensionFunction2"/> <camelContext xmlns="http://camel.apache.org/schema/spring"> <route> <from uri="direct:extensions"/> <to uri="xslt:org/apache/camel/component/xslt/extensions/extensions.xslt?saxonExtensionFunctions=#function1,#function2"/> </route> </camelContext>