从Proto转换为XSD

时间:2014-07-17 17:18:50

标签: java protocol-buffers protobuf-net

我需要能够从proto转换为xsd,我知道有一些工具可以从XSD转换为PROTO,但我需要相反的。

可以是.NET或Java

由于

2 个答案:

答案 0 :(得分:0)

我必须分别使用Proto to JSON转换工具和JSON to XSD转换工具来解决不同的问题。在您的情况下可能会有帮助..

答案 1 :(得分:0)

您没有指定最终要收到的XSD示例。实际上,有多种方法可以在XSD中表示Protobuf消息。

可能会出现一些问题:

  • 您希望如何存储PROTO字段:作为属性或元素(对于string/bool/int等简单类型)?
  • 您是否希望修改XML元素的顺序? (换句话说,您想在xs:sequence定义中使用xs:allxs:complexType吗?)

到目前为止我还有同样的问题。我解决了我的任务并将其描述为in blog post

我的任务的解决方案是:

  • 使用protogen.exe将PROTO序列化为XML表示
  • 然后运行自定义编写的XSLT以生成XSD架构

实际上,protogen.exe <meta>生成XSD。使用它,I wrote XSLT将转换为this PROTO

您可以根据需要自定义此XSLT。希望这有帮助!