【问题标题】:Xerces2 XML parser and Xalan XSLT processor -- state and replacement?Xerces2 XML 解析器和 Xalan XSLT 处理器——状态和替换?
【发布时间】:2018-09-19 21:02:18
【问题描述】:

现在是 2018 年。Java 的 Xerces2 XML parserXalan XSLT processor 库的状态如何?他们的最新版本似乎分别是2.11.0 in 20132.7.2 in 2014

  • 它们还在维护吗?

  • 它们是否完美到不需要偶尔发布补丁?

  • 是否可以使用来自不同供应商的替代库?这些替代品和这两个一样免费吗?

  • 如果只使用 JDK 提供的功能,通常可以不用这些吗?

【问题讨论】:

  • 我更喜欢 Saxon 作为 XSLT 处理器。
  • Saxon 9.8 HE 是 XSLT 3.0 处理器,可在 SourceForge sourceforge.net/projects/saxon/files/latest/… 和 Maven 上以开源形式提供,因此它可以被视为 Xalan 的替代品,因为 Xalan 从 1999 年开始实现 XSLT 和 XPath 1.0,而 Saxon 9.8支持 2017 年最新的 XSLT 3.0 和 XPath 3.1。

标签: java xml xslt xalan xerces2-j


【解决方案1】:

Xerces 和 Xalan 的积极开发比这些最新版本更早停止。在这两者之间有大量的补丁版本来修复错误。很自然,仅仅发布了几年的错误修复,没有新的开发,软件变得非常稳定,不需要进一步的维护版本。

多年来,我一直建议使用 Xerces 的 Apache 版本,因为它比 JDK 中的版本更可靠:JDK 版本有一些令人讨厌的错误,而 Sun/Oracle 似乎并不急于修复它们。我认为现在已经改变了; JDK 版本现在完全可用。

如果您需要超过 1.0 级别的 XSLT 功能,请从 Xalan 切换到 Saxon。

【讨论】:

  • 恕我直言,请公开您的隶属关系。
  • JDK 版本具有limited 必不可少且非常有用的库功能
【解决方案2】:

基本上,这些是由不同公司捐赠给 Apache 的 jaxp 实现。 Crimson 是 SUN 捐赠的另一款。如今,jaxp 实现与 JDK 捆绑在一起,因此几乎没有理由使用替代实现。回想起来,以前在做 j2ee 应用程序时,通常会引入 xerces 或 xalan 作为依赖项。

check the unoffical jaxp faq

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-06
    • 1970-01-01
    • 2012-03-03
    • 1970-01-01
    • 2014-03-02
    • 2016-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多