我最近搬到了一个项目,我注意到有一个特定的要求将一些数据存储为 XML。
之前的团队使用 Castor 生成的类来对数据进行编组和解组。
我现在有一个新要求,要求我向这个 XML 添加一些额外的(但可选的)字段。然而,我意识到之前的团队据说根本没有检查过 XSD,我也无法联系到他们。
XSD 肯定是庞大而复杂的,因为它负责生成大约 50 个类。因此,再次编写 XSD 将很容易出错,并且还存在我现在可能最终创建与旧 XML 兼容的 XML 的风险。
我想到的另一种选择是使用 XML Spy 之类的工具并尝试从 XML 逆向工程 XSD,但这听起来也有点困难,因为我需要对 20 个奇怪的 XML 进行逆向工程以生成 XSD,然后合并所有这些 XSD合二为一,因为 XML 有几个可选部分。这种方法仍然可能存在错误因素。
我能想到的最佳选择是将类逆向工程为 XSD - 但是 Castor 据说不支持此功能。所以我没有办法将这些 Castor 生成的类转换回 XSD!虽然 Castor 生成的类确实有一些 Castor 特定的方法,但如果忽略 Castor 特定的方法,它们本质上就是 Pojos!
我们对从 java 类获取或生成 XSD 有什么建议吗?我们还有其他建议来解决我讨论的问题吗?
谢谢你。