验证XSD架构?

时间:2009-07-29 12:36:41

标签: xml validation xsd

我正在编写XML架构(XSD)来描述我们的合作伙伴应该向我们发送数据的格式。

我很难找到一个可以验证我写过的XSD架构文件的工具。

到目前为止,我发现的最好方法是首先编写示例输入XML文件,然后尝试使用XSD验证 。但这并不是一种最佳操作策略。

那么,我该如何验证XML模式呢?

5 个答案:

答案 0 :(得分:13)

W3C在http://www.w3.org/2001/03/webdata/xsv有一个针对XML Schema的在线验证器。由于W3C是XML Schema规范的源代码,因此它们的验证器应该值得信赖。

答案 1 :(得分:12)

如果这是短期的事情,您可以使用Stylus Studio等工具的评估副本。

如果是长期维护,您可能需要考虑购买像Stylus或OxygenAltova这样的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;