【发布时间】:2015-10-31 19:11:11
【问题描述】:
我正在定义 JSON 文档的结构。我想知道如何根据现有的 XSD、RelaxNG 模式或其他 标准 模式语言模式验证 JSON 文档。我知道 Jsonix,但我没有看到它使用来自 XSD 或 RelaxNG 的正则表达式来验证 JSON 模式(而且我不认为 JSON 模式是标准化的)。
澄清:我们已经有现有的 XML 和 XSD。我们总是可以返回到 XML 进行验证,但是如果我们可以直接验证 JSON 会很酷,并且当我们想要使用 JSON 而不是 XML 时会给我们更多的信心。
更新:这里是有问题的规范:http://www.web3d.org/specifications/x3d-3.4.xsd 注意它在 XML 文档中没有文本节点。
初步答案(仍在进行中,但您可以贡献): 如果您想将 XML 模式转换为 JSON 模式,请尝试下载:XSD2OWL stylesheet,它将 XML 模式转换为 OWL。我像这样将我的模式转换为猫头鹰:
$ xmlsh
$ xslt -f xsd2owl.xsl -cf file.xsd > file.owl
$ exit
然后下载owl2jsonschema.js ** NO LICENSE ** 并修改它,直到它可以运行演示。输出将在 demo/OUTPUT/schema 文件夹/*.json 中作为单独的 JSON 文件。
【问题讨论】:
-
而且我认为我不应该先将 JSON 转换为 XML。