加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML模式(XSD)验证工具?

发布时间:2020-12-16 08:21:02 所属栏目:百科 来源:网络整理
导读:在办公室,我们正在编写一个应用程序,将根据我们给出的模式生成XML文件。我们有一个.XSD文件中的模式。 是否有可用于自动测试的工具或库,以检查生成的XML是否与模式匹配? 我们更喜欢适合商业使用的免费工具,尽管我们不会捆绑模式检查器,所以它只需要在
在办公室,我们正在编写一个应用程序,将根据我们给出的模式生成XML文件。我们有一个.XSD文件中的模式。

是否有可用于自动测试的工具或库,以检查生成的XML是否与模式匹配?

我们更喜欢适合商业使用的免费工具,尽管我们不会捆绑模式检查器,所以它只需要在开发期间可供开发人员使用。

我们的开发语言是C,如果这有什么区别,虽然我不认为它应该像我们可以生成xml文件,然后通过调用一个单独的程序在测试中进行验证。

经过一番研究,我认为最好的答案是 Xerces,因为它实现了所有的XSD,是跨平台和广泛使用的。我创建了一个 small Java project on github从命令行使用默认的JRE解析器,这通常是Xerces验证。这可以在Windows / Mac / Linux上使用。

还有一个C++ version of Xerces可用,如果你宁愿使用。 StdInParse utility可以用来从命令行调用它。此外,下面的评论者指向这个more complete wrapper utility。

你也可以使用xmllint,它是libxml的一部分。你可能已经安装了它。用法示例:

xmllint --noout --schema XSD_FILE XML_FILE

一个问题是libxml没有实现所有的规范,所以你可能会遇到问题:

或者,如果你在Windows上,你可以使用msxml,但你需要一些类型的包装器来调用它,例如在这个DDJ article描述的GUI。但是,似乎大多数人在Windows上使用XML编辑器,如记事本(如Nate’s answer中所述)或XML Notepad 2007作为suggested by SteveC(还有几个商业编辑器,我不在这里提到)。

最后,你会发现不同的程序会,不幸的是,给不同的结果。这主要是由于XSD规范的复杂性。你可能想用几个工具测试你的模式。

更新:我在blog post扩展了这个。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读