[英]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>
元素是必需的?是true
和false
是<required>
?的唯一有效值)。
如果你真的想使用一個工具(如果你沒有設計XML並且真的無法獲得真正的XSD,我只會建議使用它 - 或者如果你設計了它,請仔細檢查生成的XSD),你可以試試董里 。 它可以從許多示例XML中推斷出XSD Schema。
您必須考慮到,如果XML樣本不夠具有代表性,工具可以推斷您可能不完整或不准確的XSD。
java -jar trang.jar sampleXML.xml inferredXSD.xsd
您可以嘗試使用名為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.