1

几天来,我一直在尝试针对 1.1 Schema/XSD 对 XML 进行 linux 命令行验证以使其正常工作。(我并不关心这个工具,只要它是一个支持 xsd 1.1 语句的免费 linux 工具,如“assert”)

到目前为止,我发现/尝试过:

  • xmllint(似乎它不支持 XSD 1.1 Schema?)(我过去曾非常成功地将 xmllint 用于 xsd 1.0)

  • Saxon 的最新版本仅支持企业版 (EE) 的 XSD 验证——我没有。

  • stackoverflow 上有许多线程,包括其中一个提供的工具

  • 据说就像打电话一样简单java com.saxonica.Validate [options] source.xml...

  • -xsdversion:1.1调用验证器时我必须使用

  • 许多人声称它适用于 Saxon-B,但没有具体的例子

  • 我已经从 SF 下载了 Saxon-B / saxon 9.1.0.8 的源代码,但没有找到“com.saxonica.Validate”类(不应该是 net.sf.saxon....)

  • 例如调用:

./java -cp "<path to saxon libs>/lib/saxon-9.1.0.8.jar" com.saxonica.Validate /home/<myuser>/test.xml Fehler: Hauptklasse com.saxonica.Validate konnte nicht gefunden oder geladen werden

(“找不到主类”)(显然我需要提供更多选项来验证模式,但由于找不到类,...)

运行 Java 1.7 build 71

bin$ ./java -version java version "1.7.0_71" Java(TM) SE Runtime Environment (build 1.7.0_71-b14) Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

有没有人有一个工具(最好是 saxon-B)的工作示例,我可以在 linux 命令行上针对 XSD 1.1 验证 XML?

谢谢,

e

4

1 回答 1

1

要使用 Saxon 模式验证器,您需要 Saxon Enterprise Edition;所需的最低许可证是 EEV,费用为 90 英镑。您可以从 www.saxonica.com 获得免费的 30 天评估许可证。模式处理在 Saxon 的开源版本(Saxon-B、Saxon-HE)中不可用,而且从来没有。

有一个支持 XSD 1.1 的 Apache Xerces 版本,但恐怕我无法为您提供任何帮助。Altova 还有一个商业 XSD 1.1 实现。

于 2016-04-26T10:34:28.570 回答