camel-users mailing list archives

Hi
There is a camel-saxon feature you can install, if using Camel and xslt.
And I think you can see a JVM system property to tell it which xslt
factory to use.
So maybe that can enforce the saxon on a JVM wide level.
On Thu, Jun 21, 2012 at 7:45 PM, weather99 <ffleisha@harris.com> wrote:
> Despite installing servicemix-saxon, and following the instructions on this
> and other threads, I still cannot get xslt 2.0 to work in Servicemix 4.4.1
> or 4.4.2. The converted message shows up with only the prolog <?xml
> version="1.0" encoding="UTF-8"?>, which indicates an xslt 1.0 conversion was
> done.
>
> I'm using this as part of my route:
> <camel:to
> uri="xslt:file:xsl/my.xsl?transformerFactoryClass=net.sf.saxon.TransformerFactoryImpl"
> />
>
> I have also tried this same thing via. a bean, with the same result:
> <to uri="xslt:file:xsl/my.xsl?transformerFactory=tFactory" /> <bean
> id="tFactory" class="net.sf.saxon.TransformerFactoryImpl" />
>
> In order to troubleshoot further, I embedded the entire xslt transformation
> inside a bean, using the saxon9he jar file. It worked in standalone Camel.
> To make sure I had no external dependencies for the conversion, I built it
> with the extracted classes from the saxon jar. When I tried to run it in
> Servicemix, i got this result:
>
> Line #1; Column #473; "xpath-default-namespace" attribute is not allowed on
> the xsl:stylesheet element!
> SystemId Unknown; Line #55; Column #86; Could not find function: upper-case
>
> This also indicates that only an xslt 1.0 conversion was attempted, since
> the processor doesn't know what to do with these tags. This is the bean I
> was using: <bean ref="xslt20" method="map" />
>
> It appears that in Servicemix, the xalan jar in ./lib/endorsed overrides all
> xslt processing no matter what. I tried removing the xalan-2.7.1.jar from
> that directory. My route wouldn't start, and I got this message:
>
> org.springframework.beans.factory.BeanCreationException: Error creating bean
> with name 'xslt20' defined in URL
> [bundle://187.0:0/META-INF/spring/beans-0.0.0.xml]: Instantiation of bean
> failed; nested exception is
> javax.xml.transform.TransformerFactoryConfigurationError: Provider
> *org.apache.xalan.processor*.TransformerFactoryImpl not found
>
> So it seems that it's always looking for xalan no matter what, which is only
> an xslt 1.0 processor.
>
> Please advise as to what I'm doing wrong. We have a lot invested in xslt
> 2.0 in standalone Camel, and I'm now at a dead-stop trying to deploy it to
> Servicemix.
>
> Thanks.
>
>
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/camel-xslt-2-0-support-tp5646214p5714877.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
--
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen