変化し続けるxmlスキーマ(trangを使用して自動的に生成された)があります。これらの変更はそれほど複雑ではありません。一部の要素のみがこのスキーマに追加または削除されます。このスキーマから、(cxfを使用して)Javaクラスを生成し、それによってxmlドキュメントをアンマーシャリングします。
スキーマが変更されると、自動生成されたJavaクラスも変更されます。繰り返しますが、スキーマと同様に、Javaクラスの変更はそれほど大きくありません。たとえば、要素sayelemA
がスキーマに追加された場合。いくつかの関連する関数はgetElemA()
、setElemA()
自動生成されたJavaクラスに追加されます。
これらの自動生成されたクラスに特定の関数が存在することをどのように確認しますか?1つの解決策は、xmlのすべての可能な要素がカバーされるようにスキーマを手書きすることです。これが私が最終的に行うことです。しかし、今のところ、xmlファイルの形式は修正していません。
アップデート :
getElemA()
自動生成されたクラスでメソッドが定義される可能性があります。これらのクラスの自動生成を制御することはできません。しかし、私のメインクラスでは、次のコードがある場合、
If method getElemA exists then
ElemA elemA = getElemA()
このコードは常に私のメインクラスにあります。自動生成されたクラスの1つでメソッドgetElemA()
が生成された場合、問題はありません。ただし、このメソッドが生成されない場合、コンパイラは、このメソッドがどのクラスにも存在しないと文句を言います。
コンパイル時にこの関数について文句を言わないようにコンパイラを作成する方法はありますか?