在命令行(Linux)上针对XSD 1.1架构/ XSD(使用Saxon-B / saxon 9.1.0.8)验证XML

时间:2016-04-26 09:05:39

标签: xml validation saxon xmllint xsd-1.1

我已经尝试了好几天来获得针对1.1 Schema / XSD的XML的linux命令行验证。 (我真的不关心这个工具,只要它是一个支持xsd 1.1语句的免费linux工具,比如“assert”)

到目前为止,我已找到/尝试过:

  • xmllint(似乎它不支持XSD 1.1 Schema?)(我以前为xsd 1.0使用了xmllint非常成功)

  • 最新版本的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?

谢谢,

ë

1 个答案:

答案 0 :(得分:0)

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

有一个支持XSD 1.1的Apache Xerces版本但是我不能给你任何帮助,我担心。 Altova还有一个商业XSD 1.1实现。