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 <fflei...@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: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen

Reply via email to