我已经尝试了好几天来获得针对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?
谢谢,
ë
答案 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实现。