[英]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的錯誤記錄。
所以,當心。 最好僅將這些工具用作起點。 而且,它們往往會產生冗長而冗長的模式,因為它們無法像人類一樣找出模式。
您可以使用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項目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.