我正在编写XML架构(XSD)来描述我们的合作伙伴应该向我们发送数据的格式。
我很难找到一个可以验证我写过的XSD架构文件的工具。
到目前为止,我发现的最好方法是首先编写示例输入XML文件,然后尝试使用XSD验证 。但这并不是一种最佳操作策略。
那么,我该如何验证XML模式呢?
答案 0 :(得分:13)
W3C在http://www.w3.org/2001/03/webdata/xsv有一个针对XML Schema的在线验证器。由于W3C是XML Schema规范的源代码,因此它们的验证器应该值得信赖。
答案 1 :(得分:12)
如果这是短期的事情,您可以使用Stylus Studio等工具的评估副本。
如果是长期维护,您可能需要考虑购买像Stylus或Oxygen或Altova这样的XML架构编辑器。
您没有指定源语言,但在Java或.Net中编写模式验证器只需几行代码。
答案 2 :(得分:7)
Java SDK附带了一个名为xjc的标准工具。此工具生成解析模式的类。您可以使用此代码验证合作伙伴的意见。
另请参阅:http://www.java2s.com/Tutorial/Java/0440__XML/ThexjcTool.htm
答案 3 :(得分:2)
cd /the/dir/with/your/schema
curl -O https://www.w3.org/2012/04/XMLSchema.xsd
xmllint.exe --noout --schema XMLSchema.xsd <your schema>
在* nix中(包括Windows上的git-bash或类似内容),如果架构有效,则$? == 0
否则$? == 1
。我确信有一些PowerShell等同......
这来自@AlexanderKjäll对@lavinio在其他地方的回答。我添加自己的评论说@AlexanderKjäll应该添加这个作为答案。但是(对我来说至少),它不太正确,因为它无法使用远程文件URI。因此我的答案。如果你支持这个,请你赞成他们的评论。
答案 4 :(得分:1)
那么,我该如何验证XML架构(XSD)?
你问的问题很好。只是&#34;翼翼&#34;可能会让你陷入困境。来自维基百科的文章XML Schema Editor (强调我的):
[W3C XML Schema]标准是通用的,允许编程 继承和类型创建等概念,但它很复杂。 标准本身是高度技术性的,并在3个不同的部分发布,使得难以理解 承诺大量时间。
因此,考虑到W3C XML Schema标准的复杂性,您如何确保您创建的架构符合该标准?来自同一篇维基百科的文章:
使用XSD标准时用户可能遇到的问题 通过使用图形编辑工具减轻了影响。任何 基于文本的编辑器可用于编辑XML Schema,一种图形化 编辑提供优势;允许文档的结构 以图形方式查看并使用验证支持编辑,输入帮助程序 和其他有用的功能。
在维基百科文章的底部,您将找到一个XML模式编辑器列表,其中一些编辑器被许可为免费软件。&#34;