私は最近、いくつかのデータを XML として保存するという特定の要件があることに気付いたプロジェクトに移動しました。
以前のチームは、Castor によって生成されたクラスを使用して、データをマーシャリングおよびアンマーシャリングしました。
この XML に追加の (まだオプションの) フィールドを追加する必要がある新しい要件があります。しかし、以前のチームは XSD をまったくチェックインしていなかったと思われ、彼らに連絡する方法がないことに気付きました。
XSD は確かに大規模で複雑で、約 50 のクラスを生成する必要があります。そのため、XSD を再度作成するとエラーが発生しやすくなり、古い XML と互換性のある XML を作成することになるリスクもあります。
私が考えたもう 1 つの方法は、XML Spy のようなツールを使用して、XML から XSD をリバース エンジニアリングしようとすることでしたが、XSD を生成するために 20 個の奇妙な XML をリバース エンジニアリングし、これらすべての XSD をマージする必要があるため、これも少し難しいように思えます。 XML にはいくつかのオプションのセクションがあったため、1 つにまとめられました。このアプローチでは、まだエラーの可能性があります。
私が考えることができる最良のオプションは、クラスを XSD にリバース エンジニアリングすることですが、Castor はおそらくこの機能をサポートしていません。したがって、これらの Castor 生成クラスを XSD に変換する手段がありません! Castor によって生成されたクラスにはいくつかの Castor 固有のメソッドがありますが、Castor 固有のメソッドが無視される場合、本質的にそれらは Pojo です。
Java クラスから XSD を取得または生成するための提案はありますか? 私が議論した問題を解決するための他の提案はありますか?
ありがとうございました。