我有一个模式,由一些不同的应用程序读取表单生成; 其中一个使用JAXB/XJC来编译其类结构.该模式包含友好域名的appinfo信息,例如:
<xs:element name="HomeAddress" type="xs:string">
<xs:annotation>
<xs:appinfo>Home address</xs:appinfo>
</xs:annotation>
</xs:element>
Run Code Online (Sandbox Code Playgroud)
有没有办法让XJC编译这些信息?
您可以使用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>
Run Code Online (Sandbox Code Playgroud)
你会得到类似的东西:
@Label("Home address") // FQCN is com.acme.foo.Label
public String getHomeAddress(...) {}
Run Code Online (Sandbox Code Playgroud)