How to enable extension functions for saxon ?
Issue
- We are currently using saxon for XSLT transforms using the following
javax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl
javax.xml.xpath.XPathFactory=net.sf.saxon.xpath.XPathFactoryImpl
- When performing a transform that contains the
<xsl:result-document></xsl:result>we get an error telling us that the extension functions are disabled. Can you please explain how we can enable them so that our XSLT can work?
13:51:52,469 | INFO | transform/inbox] | transformInbox | Transforming SampleBundle.
| 13:51:52,554 | ERROR | transform/inbox] | XsltErrorListener | xsl:result-document is disabled when extension functions are disabled; SystemID: ; Line#: 621; Column#: 98
| net.sf.saxon.trans.XPathException: xsl:result-document is disabled when extension functions are disabled
at net.sf.saxon.style.StyleElement.compileError(StyleElement.java:1934)[218:org.apache.servicemix.bundles.saxon:9.5.1.2_1]
at net.sf.saxon.style.XSLResultDocument.validate(XSLResultDocument.java:215)[218:org.apache.servicemix.bundles.saxon:9.5.1.2_1]
at net.sf.saxon.style.StyleElement.validateSubtree(StyleElement.java:1361)[218:org.apache.servicemix.bundles.saxon:9.5.1.2_1]
at net.sf.saxon.style.StyleElement.validateChildren(StyleElement.java:1394)[218:org.apache.servicemix.bundles.saxon:9.5.1.2_1]
at net.sf.saxon.style.StyleElement.validateSubtree(StyleElement.java:1365)[218:org.apache.servicemix.bundles.saxon:9.5.1.2_1]
at net.sf.saxon.style.PrincipalStylesheetModule.preprocess(PrincipalStylesheetModule.java:275)[218:org.apache.servicemix.bundles.saxon:9.5.1.2_1]
at net.sf.saxon.PreparedStylesheet.setStylesheetDocument(PreparedStylesheet.java:378)[218:org.apache.servicemix.bundles.saxon:9.5.1.2_1]
at net.sf.saxon.PreparedStylesheet.prepare(PreparedStylesheet.java:236)[218:org.apache.servicemix.bundles.saxon:9.5.1.2_1]
at net.sf.saxon.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:142)[218:org.apache.servicemix.bundles.saxon:9.5.1.2_1]
at org.apache.camel.builder.xml.XsltBuilder.setTransformerSource(XsltBuilder.java:329)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.component.xslt.XsltEndpoint.loadResource(XsltEndpoint.java:112)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.component.xslt.XsltEndpoint.doStart(XsltEndpoint.java:121)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.impl.DefaultCamelContext.startService(DefaultCamelContext.java:1929)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.impl.DefaultCamelContext.doAddService(DefaultCamelContext.java:987)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.impl.DefaultCamelContext.addService(DefaultCamelContext.java:948)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:527)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:71)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.util.ExchangeHelper.resolveEndpoint(ExchangeHelper.java:88)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.processor.RecipientListProcessor.resolveEndpoint(RecipientListProcessor.java:223)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.processor.RecipientListProcessor.createProcessorExchangePairs(RecipientListProcessor.java:163)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:209)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.processor.RecipientList.sendToRecipientList(RecipientList.java:153)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.processor.RecipientList.process(RecipientList.java:112)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:111)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:82)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:105)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:87)[142:org.apache.camel.camel-core:2.12.0.redhat-610379]
at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:103)[206:org.apache.camel.camel-jms:2.12.0.redhat-610379]
at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:562)[184:org.apache.servicemix.bundles.spring-jms:3.2.8.RELEASE_1]
at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:500)[184:org.apache.servicemix.bundles.spring-jms:3.2.8.RELEASE_1]
at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:468)[184:org.apache.servicemix.bundles.spring-jms:3.2.8.RELEASE_1]
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325)[184:org.apache.servicemix.bundles.spring-jms:3.2.8.RELEASE_1]
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)[184:org.apache.servicemix.bundles.spring-jms:3.2.8.RELEASE_1]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1101)[184:org.apache.servicemix.bundles.spring-jms:3.2.8.RELEASE_1]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1093)[184:org.apache.servicemix.bundles.spring-jms:3.2.8.RELEASE_1]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:990)[184:org.apache.servicemix.bundles.spring-jms:3.2.8.RELEASE_1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)[:1.6.0_28]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.6.0_28]
at java.lang.Thread.run(Thread.java:701)[:1.6.0_28]
Environment
- Red Hat JBoss Fuse
- 6.x
- Saxon Transformation
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
