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?
Open a command prompt. Run the JAXB schema compiler, xjc command from the directory where the schema file is located. The xjc schema compiler tool is located in the app_server_root \bin\ directory. Use the generated JAXB objects within a Java application to manipulate XML content through the generated JAXB classes.
JAXB is an XML-to-Java binding technology that enables transformation between schema and Java objects and between XML instance documents and Java object instances. JAXB technology consists of a runtime API and accompanying tools that simplify access to XML documents.
Compiles an XML schema file into fully annotated Java classes.
XJC is a Java SE tool that compiles an XML schema file into fully annotated Java classes. It is distributed within the JDK package and is located at /bin/xjc path.
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(...) {}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With