如何解决XML Schema (XSD) 验证工具?
经过一番研究,我认为最好的答案是Xerces,因为它实现了所有 XSD,是跨平台的并且被广泛使用。我在 github 上创建了一个小型 Java 项目,以使用默认的 JRE 解析器(通常是 Xerces)从命令行进行验证。这可以在 Windows/Mac/Linux 上使用。
如果您更愿意使用它,还可以使用Xerces的C++ 版本。StdInParse实用程序可用于从命令行调用它。此外,下面的评论者指出了这个更完整的包装实用程序。
您还可以使用 xmllint,它是libxml的一部分。您可能已经安装了它。示例用法:
xmllint --noout --schema XSD_FILE XML_FILE
一个问题是 libxml 没有实现所有规范,所以你可能会遇到问题:(
或者,如果您在 Windows 上,您可以使用msxml,但您需要某种包装器来调用它,例如此DDJ 文章中描述的 GUI 。但是,Windows 上的大多数人似乎都使用 XML 编辑器,。
最后,不幸的是,您会发现不同的程序会给出不同的结果。这主要是由于 XSD 规范的复杂性。您可能希望使用多种工具来测试您的架构。
:我在一篇博文中对此进行了扩展。
解决方法
在办公室,我们目前正在编写一个应用程序,它将根据给定的模式生成 XML 文件。我们在 .XSD 文件中有架构。
是否有可用于自动化测试的工具或库来检查生成的 XML 是否与架构匹配?
我们更喜欢适合商业用途的免费工具,尽管我们不会捆绑模式检查器,因此它只需要开发人员在开发期间使用。
如果这有什么不同的话,我们的开发语言是 C++,尽管我认为它不应该,因为我们可以生成 xml 文件,然后通过在测试中调用单独的程序来进行验证。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。