JiBX:如何在JiBX的帮助下基于xml文档创建xml架构(xsd)?

时间:2011-09-06 16:28:23

标签: xml xsd translate unmarshalling jibx

目前我有一堆XML文件。不幸的是,没有XSD或任何其他模式文件。在我的程序(Java)中,我使用JiBX来(解)来自/到POJO的XML文件。因此,我的问题是:有没有办法(通过使用JiBX)基于来自示例XML文件的结构创建XSD?我需要自动执行此操作,因为这些XML文件的结构非常复杂。 顺便说一句:我需要XSD才能自动创建POJO。此要求也与复杂性有关。

为什么不使用与JiBX不同的任何其他解决方案?一般来说,我会接受不同的解决方案,但使用JiBX会很棒。这是因为下一步将基于一些自动化(例如Ant作业)来完成它。

然而,只是为了玩,我已经尝试过氧气。它基于一个示例XML文件创建一些XSD架构,而不会遇到错误。此过程的结果(某些方式)与预期不符。例如,当元素标记内部有一个String时,Oxygen会创建更多的XSD子元素规则。因此,当解组XML文件时,这些字符串就会消失。

也许我的解决方案走错了路?请给我帮助/想法,帮助解决问题。

非常感谢你。

1 个答案:

答案 0 :(得分:1)

您无法使用JIBX从示例XML文件生成XSD文档。您可以使用Jibx2Wsdl工具从代码生成XSD(如果您有POJO),也可以使用CodeGen工具从XSD生成代码。

要从XML生成XSD,您必须使用其他工具,例如推荐的hereinst2xsd项目中的Apache XMLBeans工具似乎运行良好。

顺便说一下 - 不要指望这些工具可以很好地处理复杂的结构。我想结构越简单 - 工具就越好用。它越复杂,你就会越多地参与其中。