簡體   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