1

「-」文字を含む XSD 要素を含むファイルがあります。これは XSD ファイルに対する最近の変更であり、ファイルをコンパイルした後、Java コードで使用されているアクセサ メソッドに変更は見られません。さらに、Java コードでこの要素を呼び出そうとすると、null ポインター例外がスローされます。xsd ファイルのコンパイルでエラーは発生しません。プロジェクトを何度も再起動してクリーンアップしました。

XMLBeans が「-」文字の追加をどのように処理しているか、またはこの状況をより適切に処理するにはどうすればよいか、誰か説明してもらえますか?

例:

年:

<xs:element minOccurs="0" maxOccurs="1" name="FooBoo">

古いアクセサ メソッド:

getFooBoo();

新しい:

<xs:element minOccurs="0" maxOccurs="1" name="Foo-Boo">

新しいアクセサ メソッド:

getFooBoo();

予想される新しいアクセサ メソッド: getFoo_Boo();

4

1 に答える 1

0

XmlBeans は、XSD プロパティ名を単語部分に分割し、各部分を大文字にし、単語を結合することによって、getter および setter メソッド名を生成します。単語以外の文字は単語部分の境界と見なされ、スキップされます。

アルゴリズムの正確な詳細は、StscJavaizer.pickJavaPropertyName()およびNameUtil.upperCamelCase()にあります。

于 2012-09-23T21:34:01.193 に答える