如何解决是否有任何现代、稳定、当前的工具可以将 XSD 转换为 Protobuf?
我有一个来自外部供应商的提要:它是通过 ActiveMQ 提要发送的 XML 文档。供应商为我可能会收到的所有文档类型提供 XSD。
在内部,我们宁愿使用协议缓冲区而不是 XML。如果我可以自动将供应商的 XSD 编译为 proto 对象,那就太好了。如果我有 proto 文件,我应该能够解码每条 XML 消息,然后将其重新编码为 protobuf。
我正在寻找一种可以从 .xsd 文件生成 .proto 文件的工具。我发现了一些声称能够做到这一点的开源工具:
xsd2thrift
- 尽管名称如此,但该工具可以将 XSD 转换为照片文件。这个项目已经有五年没有动过了,所以我不太可能得到太多的支持。我会担心将一个很久以前放弃的项目合并到我自己的项目中。
当我运行这个工具时,我发现它在我的 .proto 文件中创建了冗余定义,例如:
message UnspecifiedType
{
required string baSEObjectType = 1;
required bytes object = 2;
}
不清楚“Unspecified”和“baSEObject”的来源。 XSD 中不存在此类标记。鉴于该项目已长期处于非活动状态,我不太可能从该项目的任何开发人员那里获得支持。
schema2proto
- 一个看起来很有前途的项目,然而,它似乎因莫名其妙的错误而崩溃。我检查了代码并运行了单元测试……它们似乎也没有通过。不完全是鼓舞人心的信心。
这些是完成此类工作的唯一工具吗?我很惊讶似乎没有成熟、稳定的工具将 XSD 转换为 Protos?
通常,当我看到工具中有明显的差距时,这可能意味着以下任何一种情况:
-
我想做的事情很愚蠢或多余。人们不从 XSD 转换为 proto 可能有一个很好的理由,而我这样做的愿望是由于对这两种技术中的一种或两种的误解。
还有其他建议吗?
那么是否有工具可以帮助我解决这个问题,或者是否有其他方法来解决这个问题,这意味着我不需要这种工具?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。