I'd like to use Saxon (9HE) for XSLT processing in Apache Cocoon (2.2). I've followed the instructions for using Saxon from http://wiki.apache.org/cocoon/Saxon. These instructions describe the process using an .xconf file, which is no longer the preferred method of Cocoon configuration (as described at http://cocoon.apache.org/2.2/core-modules/core/2.2/1259_1_1.html), though that page also notes that legacy .xconf configuration is still supported.
I've tried placing the core.xslt-processor
configuration at WEB-INF/cocoon.xconf
(as described in the Saxon instructions), at WEB-INF/cocoon/xconf/saxon-xslt.xconf
(as described in the Cocoon config page linked above), and at META-INF/cocoon/saxon-xslt.xconf
. In each case, I get the error:
org.apache.avalon.framework.service.ServiceException: Component with \
'org.apache.excalibur.xml.xslt.XSLTProcessor/saxon' is not defined in \
this service manager. (Key='AvalonServiceManager')
I've placed saxon9he.jar
in WEB-INF/lib
, and have tried removing its META-INF
directory as described in the Saxon instructions. I have restarted my servlet container (Jetty) for each case.
I'm a Java amateur, so it's certainly possible I'm missing some basic step. I should also note that I'm using Cocoon in the context of the DSpace system, so it's possible that DSpace is configured to ignore my .xconf files.
However, it seems like there should be a way to specify the Saxon processor using Spring config or a .properties file, but I haven't found any instructions for doing so online (they all specify the .xconf configuration process).
Any thoughts? Thanks!