我正在尝试了解 XML 和 XSLT 的内容,在我的研究中我偶然发现了不同的 XSLT 处理器。
Xalan 是第一个,它似乎工作得很好并且是免费的,除了我需要/想要使用 2.0 规范中的功能,包括 XML 模式。为此,我必须使用扩展程序和 Xalan,或者切换到另一个。
所以我又搜索了一些,有人向我推荐了 Saxon,它既不支持 XML 模式,又不免费,这本身并不引人注目,但有点悲伤。
这几乎就是我现在的处境,我正在寻求可用于实现我的目标的工具的指导,即使用 2.0 规范。
我不介意语言,但我更喜欢 Java、Python 或 Ruby(或其他免费且跨平台的语言)。
子问题,为了额外的业力:我可以使用免费的 Saxon 版本结合 Xerces 来实现我想要的吗?
您到底需要用 XML Schema 做什么? 如果您只想在转换文档之前/之后验证文档,Saxon 的开源版本也可以做到这一点。 但如果您想要开源,请使用 Saxon 9.1。
最新的开源版本 Saxon-HE 9.2 包含的功能少于之前的开源版本 Saxon-B 9.1。 Michael Kay 重新命名了 saxon,以期将 saxon 的商业用途货币化,我不能说我责怪他。 Saxon-PE 的定价对于它为您提供的功能而言非常合理。
如果您想根据声明的模式类型转换文档,您需要 Saxon-SA,它已更名为 Saxon-EE。
您的 XML 架构要求到底是什么?
最后,如果您想要 XSLT 2.0,Saxon 几乎是城里唯一开源的游戏。 还有其他处理器,但它们是
Kernow 提供了一个很好的界面,可以与 Saxon/Xerces2 配合使用,以实现 XSLT 2.0 的卓越性能。它也是开源的。
Altova 的产品支持 XSLT 2.0,包括免费的 AltovaXML 命令行处理器。
XSLT 2.0 和 XQuery 中提供的强大功能可让您更快地完成更多工作。
XQSharp 与 .NET 良好集成,可以轻松合并到您的应用程序中