繁体   English   中英

如何从XML元素生成XSD

[英]How to generate XSD from elements of XML

我有一个XML输入

<field>
  <name>id</name>
  <dataType>string</dataType>
  <maxlength>42</maxlength>
  <required>false</required>
</field>

我正在寻找一个库或工具,它将采用XML实例文档并输出相应的XSD架构。

我正在寻找一些java库,我可以使用它生成上述XML结构的XSD

如果您想要的只是一个XSD,以便您提供的XML符合它,那么您自己制作它而不是使用工具会更好。

没有人比你更了解模式的特殊性,例如哪些有效值(例如, <maxlength>元素是必需的?是truefalse<required> ?的唯一有效值)。

如果你真的想使用一个工具(如果你没有设计XML并且真的无法获得真正的XSD,我只会建议使用它 - 或者如果你设计了它,请仔细检查生成的XSD),你可以试试董里 它可以从许多示例XML中推断出XSD Schema。

您必须考虑到,如果XML样本不够具有代表性,工具可以推断您可能不完整或不准确的XSD。

java -jar trang.jar sampleXML.xml inferredXSD.xsd

您可以在此处找到Trang用法示例

您可以尝试使用名为XMLGrid的在线工具: http ://xmlgrid.net/xml2xsd.html

你可以编写一个XSLT来做类似的事情 但问题是,单独的单个文档不足以生成模式。 这些元素是否可选? 该文档中是否有任何遗漏,可能出现在其他情况中? 有多少特定元素可以存在? 他们必须按顺序吗? 在模式中可以表达大量的东西,这些东西在符合该模式的文档的一个实例中并不是立即显而易见的。

对于真正希望将其包含在Java代码中以生成XSD并了解危险的人,请查看使用Java以编程方式从XML生成XSD

试试xmlbeans它有一些工具,其中一个是ins2xsd你可以在这里找到具体的内容: http ://xmlbeans.apache.org/docs/2.0.0/guide/tools.html祝你好运

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM