我想在 Apache Cocoon (2.2) 中使用 Saxon (9HE) 进行 XSLT 处理。我已按照http://wiki.apache.org/cocoon/Saxon中的使用 Saxon 的说明进行操作。这些说明使用 .xconf 文件描述了该过程,该文件不再是 Cocoon 配置的首选方法(如http://cocoon.apache.org/2.2/core-modules/core/2.2/1259_1_1.html中所述),尽管该页面还指出仍然支持旧版 .xconf 配置。
我尝试将core.xslt-processor
配置放置在WEB-INF/cocoon.xconf
(如撒克逊说明中所述)、WEB-INF/cocoon/xconf/saxon-xslt.xconf
(如上面链接的 Cocoon 配置页面中所述)和META-INF/cocoon/saxon-xslt.xconf
. 在每种情况下,我都会收到错误:
org.apache.avalon.framework.service.ServiceException: Component with \
'org.apache.excalibur.xml.xslt.XSLTProcessor/saxon' is not defined in \
this service manager. (Key='AvalonServiceManager')
我已放入saxon9he.jar
,WEB-INF/lib
并尝试META-INF
按照撒克逊说明中的说明删除其目录。我已经为每种情况重新启动了我的 servlet 容器(Jetty)。
我是一名 Java 业余爱好者,所以我肯定有可能遗漏了一些基本步骤。我还应该注意,我在 DSpace 系统的上下文中使用 Cocoon,因此 DSpace 可能被配置为忽略我的 .xconf 文件。
但是,似乎应该有一种方法可以使用 Spring config 或 .properties 文件来指定 Saxon 处理器,但我没有在网上找到任何这样做的说明(它们都指定了 .xconf 配置过程)。
有什么想法吗?谢谢!