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