【问题标题】:Validate XML against XSD 1.1 schema / XSD (using Saxon-B / saxon 9.1.0.8) on command line (Linux)在命令行 (Linux) 上针对 XSD 1.1 架构 / XSD(使用 Saxon-B / saxon 9.1.0.8)验证 XML
【发布时间】:2016-08-20 00:07:32
【问题描述】:

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

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

  • 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)

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

谢谢,

e

【问题讨论】:

    标签: xml validation saxon xmllint xsd-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 实现。

    【讨论】:

    • 谢谢迈克尔,我目前正在评估 Saxon-EE,到目前为止看起来不错。现在我只需要将 XPATH-2.0 表达式设置为我想要它执行的操作...
    猜你喜欢
    • 2012-03-30
    • 2013-09-17
    • 2020-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    • 2011-06-18
    相关资源
    最近更新 更多