现在是 2018 年。用于 Java 的Xerces2 XML 解析器和Xalan XSLT 处理器库的状态如何?他们的最新版本似乎分别是2013 年的 2.11.0和2014 年的 2.7.2。
他们还维护吗?
它们是否完美到不需要偶尔发布补丁?
是否可以使用来自不同供应商的替代库?这些替代品和这两个一样免费吗?
仅使用 JDK 提供的功能,通常可以不使用这些吗?
现在是 2018 年。用于 Java 的Xerces2 XML 解析器和Xalan XSLT 处理器库的状态如何?他们的最新版本似乎分别是2013 年的 2.11.0和2014 年的 2.7.2。
他们还维护吗?
它们是否完美到不需要偶尔发布补丁?
是否可以使用来自不同供应商的替代库?这些替代品和这两个一样免费吗?
仅使用 JDK 提供的功能,通常可以不使用这些吗?
Xerces 和 Xalan 的积极开发比这些最新版本更早停止。在这两者之间有大量的补丁版本来修复错误。很自然,仅仅发布了几年的错误修复,没有新的开发,软件变得非常稳定,不需要进一步的维护版本。
多年来,我一直建议使用 Apache 版本的 Xerces,因为它比 JDK 中的版本更可靠:JDK 版本有一些令人讨厌的错误,而 Sun/Oracle 似乎并不急于修复它们。我认为现在已经改变了;JDK 版本现在完全可用。
如果您需要超过 1.0 级别的 XSLT 功能,请从 Xalan 切换到 Saxon。
基本上,这些是由不同公司捐赠给 Apache 的 jaxp 实现。Crimson 是 SUN 捐赠的另一款。如今,jaxp 实现与 JDK 捆绑在一起,因此几乎没有理由使用替代实现。正如我回想起的那样,在这种情况之前,您通常会在执行 j2ee 应用程序时将 xerces 或 xalan 作为依赖项引入。