簡體   English   中英

使用Java將XML轉換為XSD

[英]Convert xml to xsd using java

我正在尋找可以從XML文件生成XSD的工具或Java代碼或類庫/ API。 (類似.NET Framework sdk中的xsd.exe實用程序)

這些工具可以提供一個很好的起點,但是它們不能代替思考實際的模式約束應該是什么。 您將獲得兩種錯誤的機會:(1)允許不應允許的XML,以及(2)禁止應允許的XML。

例如,假設您要從幾千個包含“性別”標簽的患者記錄中推斷出XSD(我曾經在醫療記錄軟件上工作)。 該工具可能會遇到值“ M”和“ F”,並可能推斷出該元素是一個枚舉。 但是,其他有效(盡管很少使用)值是B(均為),U(未知)或N(無)。 當然,這些很少見。 因此,如果您將派生的架構用作輸入驗證器,那么它將可以很好地運行,直到有多個性器官的患者入院為止。

相反,為避免此錯誤,XSD生成器可能不會添加枚舉類型限制(我不記得這些在模式中被稱為什么),並且您的應用程序將運行良好,直到遇到性別= X的錯誤記錄。

所以,當心。 最好僅將這些工具用作起點。 而且,它們往往會產生冗長而冗長的模式,因為它們無法像人類一樣找出模式。

檢查Castor ,我認為它具有您想要的功能。 它們還為您提供了一個從XML文件創建XSD架構的ant任務

PS:我建議您將來添加更多特定的標簽:例如,使用xmlxsdjava將增加獲得答案的可能性。

您可以使用xsd-gen-0.2.0-jar-with-dependencies.jar文件將xml轉換為xsd。 而它的命令是“ java -jar xsd-gen-VERSION-jar-with-dependencies.jar /path/to/xml.xml> /path/to/my.xsd”

嘗試使用Google的xsd-gen項目。

https://code.google.com/p/xsd-gen/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM