JAXBを使用してXMLスキーマからJavaファイルを生成しようとしています。スキーマのデータ型の1つは、約300個の可能な値を持つ文字列です。これは256以上であるため、xjcはデフォルトではこの型の列挙型を生成せず、代わりに文字列を使用します。私は、生成された列挙型を持つようにしたいので、私は、次の内容のbindings.xmlにを作成します。JAXB:bindings.xmlのglobalBindingsは無視されます
<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb">
<globalBindings typesafeEnumMaxMembers="1000" />
</bindings>
これは、未知の理由で動作しません。 xjcは私に何か手がかりを与えません。最初は私はファイルが含まれていないと思ったので、チェックしました。私も意図的にglobalBindings
のような要素名をglobalBinding
に誤植しようとしましたが、無効な要素についてxjcが苦情を言いました。これは明らかにxjcがバインディングファイルを読み込むことを意味します。
しかし、globalBindingsをxsdの中に置くと、完全に機能し、enumが生成されます。
<xs:schema ....>
<xs:annotation>
<xs:appinfo>
<jaxb:globalBindings typesafeEnumMaxMembers="1000" />
</xs:appinfo>
</xs:annotation>
...
...
</xs:schema >
だから私の質問は、(XJCによって読み取られる)bingings.xmlに設定されたオプションは、コンパイルをカスタマイズするために使用されていませんどのように来るのですか?私はここで何を欠場するのですか?
ありがとうございました。
あなたの答えは、いくつかの参考文献および/または例を追加することによって非常に強化される可能性があります。 – mathielo