【问题标题】:XSD validation toolXSD 验证工具
【发布时间】:2014-05-12 09:18:54
【问题描述】:

我是 XSD 的新手,所以如果这个问题很愚蠢,请原谅我。我正在 Eclipse (Kepler) 中编写我的 XML 模式。特别是,我可以通过简单地右键单击项目中的 .xsd 文件并选择“验证”来直接验证我的 .xsd 文件。一切都很顺利,直到我意识到我想使用 Eclipse 不支持的 XSD 1.1(特别是断言)。我做了一些谷歌搜索,发现 Notepad++ 有这个很好的“XML 工具”插件,可以用来根据现有模式 (XSD) 验证 XML 文件。我的问题是(暂时)我不想验证 XML,而是验证我的 XSD 本身,因此我没有要验证的架构。那么,如何验证实际的 xml 架构 1.1 文件?有什么工具吗?我可以为此使用“XML 工具”插件吗?

补充说明:通过验证(我可能使用不正确),我了解对语法(?)正确性的各种检查。

非常感谢任何帮助。

【问题讨论】:

  • XSD 模式是一个 XML 文件,与其他任何文件一样。验证 XSD 文件是什么意思?如果不遵循 Schema 规范规定的规则,任何验证工具都会输出有关您的架构的警告和错误。
  • 验证一个文件是没有意义的,您必须对照其他文件进行验证。如果您的意图确实是验证您的 XSD 架构,是的,有来自 W3C 的架构和 DTD。
  • 感谢您的评论,我编辑了我的问题。如前所述,我对此很陌生,所以可能错误地使用了“验证”这个词。

标签: xml eclipse validation xsd notepad++


【解决方案1】:

根据您的 XML 架构文档验证任意 XML 文件与根据另一个架构验证您的 XML 架构没有区别。

这是因为 XML 模式本身就是一个常规的 XML 文件。因此,它必须格式正确且有效(这两个标准都适用于所有 XML 文档)。如果它遵循XML specification,则它是格式良好的,如果它遵循XML Schema specification,则它是有效的。

现在,我假设 all sorts of checks for syntactical correctness 的意思是应该确保格式正确(单个根元素、所有标签正确关闭等),并且文档应该是正确的 XML 模式。

您有多种选择:

  • 查找在线服务来检查您的 XML 架构的有效性
  • 找一个类似于 Eclipse,但支持 XML Schema 1.1 的 IDE
  • 继续使用您正在使用的工具,但将您的 XML 架构视为您通常会针对架构进行验证的 XML 文件。根据official W3C XML Schema for Schema documents(或official DTD)对其进行验证。

我不会详细说明前两个选项,因为在 Stackoverflow 上询问工具是题外话。

【讨论】:

  • 除了“无法解析模式文件”之外,您还有其他信息吗?这太神秘了,没有用。您引用的链接是关于处理(即解释)XML 模式,而不是检查其格式正确和有效性。确定您没有反转流程(根据您自己的验证 W3C 架构)?
  • 是的,绝对确定我没有颠倒这个过程。我删除了评论,因为它可能只与 Notepad++ 而不是 XSD 本身有关。不过,一个重要的问题可以让我更全面地理解这些事情:这些处理器的作用是什么?也就是说,如果我将为 Eclipse/Notepad++ 提供 2009 年的链接(规范)模式(其中提到了断言)作为我想要检查/验证我的(新)模式的模式,我是否仍然依赖于Eclipse/Notepad++“版本”?
  • 也就是说,我应该担心我的 IDE 是“旧”的吗?或者,更确切地说,通过仅提供链接中的“最新”规范模式,我可以确定我开发的模式中包含的 XSD1.1 中的一些解决方案将通过所有正确性测试。
  • 很难说您的 IDE 是否会接受 Schema 1.1 的功能 - 也许它不仅仅是针对 XML Schema 1.0 的元模式验证它。找出答案的唯一可靠方法是尝试使用 1.1 元素(例如断言)验证模式文档。
  • Eclipse 仍然不支持 Mars 中的 XSD 1.1。我为 Eclipse 使用了一个专有的 XML 插件,但这是一种可悲的状况。 XSD 1.1 于 2012 年推出。
猜你喜欢
  • 2010-09-12
  • 2013-09-17
  • 2011-06-18
  • 2012-06-11
  • 2018-05-24
  • 2012-05-29
  • 2010-11-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多