378.11. 使用 XSLT 和 Java 版本的备注


以下是来自 Sameer (一个 Camel 用户)的一些观察结果,该用户完全与我们共享:

如果任何人都遇到 XSLT 端点的问题,请查看这些点。

我试图使用 xslt 端点使用简单的 xsl 从一个 xml 到另一个的转换。输出 xml 保持显示(在路由中的 xslt 处理器后),其中最外部的 xml 标签中没有内容。

DEBUG 日志中没有显示任何解释。但是,在 TRACE 日志中发现一些错误/警告表示 XMLConverter bean 无法初始化。

在经过几小时后,我必须进行以下操作才能正常工作(因为用户论坛会给用户论坛给出一些线索):

  1. 使用路由中的 transformerFactory 选项 ("xslt:my-transformer.xsl?transformerFactory=tFactory") 以及 tFactory bean 为 class="org.apache.xalan.xsltc.trax.TransformerFactoryImpl".
  2. 将 Xalan jar 添加到 my maven pom 中。

my guess 是 JDK (我使用 1.6.0_03)提供的默认 xml 解析机制无法在此上下文中正常工作,且不会抛出任何错误。当我通过这种方式切换到 Xalan 时。这不是 Camel 问题,但可能需要在 xslt 组件页面中提到。

另一个备注,jdk 1.6.0_03 附带 JAXB 2.0,而 Camel 需要 2.1。一个临时解决方案是,将 2.1 jar 添加到 jvm 的 jre/lib/endorsed 目录中,或者由容器指定的。

希望此后期可以节省一些时间。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat