We don’t allow questions seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
免责声明:我是 Jsonix 的作者,这是一个强大的开源 XML<->JSON JavaScript映射库。
今天,我发布了新版本的 Jsonix Schema Compiler,其中包含新的 JSON 模式生成 功能。
我们以 采购订单 架构为例。这是一个片段:
您可以使用提供的命令行工具编译此架构:
编译器生成 Jsonix 映射 以及匹配的 JSON Schema。
结果如下(为简洁起见进行了编辑):
现在,此 JSON 架构源自原始 XML 架构。这并不完全是 1:1 的转换,但非常接近。
生成的 JSON 架构与生成的 Jsonix 映射匹配。因此,如果您使用 Jsonix 进行 XML<->JSON 转换,您应该能够使用生成的 JSON 架构来验证 JSON。它还包含来自原始 XML 模式的所有必需元数据(如元素、属性和类型名称)。
免责声明:目前这是一项新的实验性功能。有某些已知的限制和缺失的功能。但我预计这一点会很快显现并成熟。
链接:
Disclaimer: I am the author of Jsonix, a powerful open-source XML<->JSON JavaScript mapping library.
Today I've released the new version of the Jsonix Schema Compiler, with the new JSON Schema generation feature.
Let's take the Purchase Order schema for example. Here's a fragment:
You can compile this schema using the provided command-line tool:
The compiler generates Jsonix mappings as well the matching JSON Schema.
Here's what the result looks like (edited for brevity):
Now this JSON Schema is derived from the original XML Schema. It is not exactly 1:1 transformation, but very very close.
The generated JSON Schema matches the generatd Jsonix mappings. So if you use Jsonix for XML<->JSON conversion, you should be able to validate JSON with the generated JSON Schema. It also contains all the required metadata from the originating XML Schema (like element, attribute and type names).
Disclaimer: At the moment this is a new and experimental feature. There are certain known limitations and missing functionality. But I'm expecting this to manifest and mature very fast.
Links:
npm install
JSON 模式并不打算与 XML 模式具有等效的功能。其中一个有特征,但另一个没有。
一般来说,您可以创建从 XML 到 JSON 的映射,然后再返回,但 XML 模式和 JSON 模式则不然。
也就是说,如果您已将 XML 文件映射到 JSON,则很有可能创建一个 JSON 架构来验证该 JSON,其方式与 XSD 验证 XML 的方式几乎相同。但这不是直接映射。并且无法保证它验证 JSON 的方式与 XSD 验证 XML 的方式完全相同。
因此,除非这两个规范实现 100% 功能兼容,否则将验证系统从 XML/XSD 迁移到 JSON/JSON 模式将需要人工干预。
JSON Schema is not intended to be feature equivalent with XML Schema. There are features in one but not in the other.
In general you can create a mapping from XML to JSON and back again, but that is not the case for XML schema and JSON schema.
That said, if you have mapped a XML file to JSON, it is quite possible to craft an JSON Schema that validates that JSON in nearly the same way that the XSD validates the XML. But it isn't a direct mapping. And it is not possible to guarantee that it will validate the JSON exactly the same as the XSD validates the XML.
For this reason, and unless the two specs are made to be 100% feature compatible, migrating a validation system from XML/XSD to JSON/JSON Schema will require human intervention.
免责声明:我是 jgeXml 的作者。
jgexml 具有基于 Node.js 的实用程序
xsd2json
,它可以在 XML 模式之间进行转换(XSD) 和 JSON 架构文件。与其他选项一样,它不是 1:1 转换,您可能需要手动编辑输出以改进 JSON 架构验证,但它已用于表示 OpenAPI (swagger) 定义内的复杂 XML 架构。
另一个答案中给出的 buyorder.xsd 示例呈现为:
Disclaimer: I'm the author of jgeXml.
jgexml has Node.js based utility
xsd2json
which does a transformation between an XML schema (XSD) and a JSON schema file.As with other options, it's not a 1:1 conversion, and you may need to hand-edit the output to improve the JSON schema validation, but it has been used to represent a complex XML schema inside an OpenAPI (swagger) definition.
A sample of the purchaseorder.xsd given in another answer is rendered as:
在此处复制您的 XML 架构 &将 JSON 架构代码获取到在线工具,这些工具可用于从 XML 生成 JSON 架构架构。
Copy your XML schema here & get the JSON schema code to the online tools which are available to generate JSON schema from XML schema.
确实如此,但是在使用 xmlspy 将 json 转换为 xml 后,您可以使用 trang 应用程序 (http://www.thaiopensource.com/relaxng/trang.html) 从 xml 文件创建 xsd。
True, but after turning json to xml with xmlspy, you can use trang application (http://www.thaiopensource.com/relaxng/trang.html) to create an xsd from xml file(s).