I have a schema which is read by a few different applications for form generation; one of them uses JAXB/XJC to compile its class structure. The schema contains appinfo information for friendly names of fields, eg:
<xs:element name="HomeAddress" type="xs:string">
<xs:annotation>
<xs:appinfo>Home address</xs:appinfo>
</xs:annotation>
</xs:element>
Is there some way to get XJC to compile this information in?
You can use the Annotate plugin to add arbitrary Java annotations into your schema-derived classes. With this plugin you can manage a syntax like:
<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>
An you'll get something like:
@Label("Home address") // FQCN is com.acme.foo.Label
public String getHomeAddress(...) {}