5

フォーム生成のためにいくつかの異なるアプリケーションによって読み取られるスキーマがあります。それらの1つは、JAXB/XJCを使用してクラス構造をコンパイルします。スキーマには、フィールドのフレンドリ名のappinfo情報が含まれています。例:

<xs:element name="HomeAddress" type="xs:string">
  <xs:annotation>
    <xs:appinfo>Home address</xs:appinfo>
  </xs:annotation>
</xs:element>

XJCにこの情報をコンパイルさせる方法はありますか?

4

2 に答える 2

6

Annotateプラグインを使用して、スキーマから派生したクラスに任意のJavaアノテーションを追加できます。このプラグインを使用すると、次のような構文を管理できます。

<xs:element name="HomeAddress" type="xs:string">
  <xs:annotation>
    <xs:appinfo>
      <ann:annotate xmlns:ann="http://annox.dev.java.net/com.acme.foo">
        <my:Label value="Home address"/>
      </ann:annotate>
    </xs:appinfo>
  </xs:annotation>
</xs:element>

次のようなものが得られます:

@Label("Home address") // FQCN is com.acme.foo.Label
public String getHomeAddress(...) {}
于 2010-09-21T15:04:53.983 に答える
0

JAXBリファレンス実装に付属しているXJCツールを使用してこれを行う方法を知りません。ただし、XJCでは、次のことが必要になる可能性のあるカスタムプラグインを作成できます。

于 2010-09-17T16:36:43.697 に答える