Hello,
In the past I was able to compile DTDs using JAXB. I also specified a
custom binding that made each implementation class Serializable. The
version of JAXB I was using created interfaces for all XML content as
well as impls of those interfaces
The binding file contained the following content:
<?xml version="1.0" ?>
<xml-java-binding-schema xmlns:xjc="
http://java.sun.com/xml/ns/jaxb/xjc">
<xjc:serializable uid="1" />
</xml-java-binding-schema>
And I invoked the JAXB compiler using the xjc task like so:
<xjc schema="${ts.home}/lib/dtds/sun-application_5_0-0.dtd"
binding="${ts.home}/src/${porting.package.dir}/jaxb-cust.xml"
target="${ts.home}/src"
package="${porting.package}.app">
<arg value="-dtd"/>
<depends dir="${ts.home}/lib/dtds"
includes="sun-application_6_0-0.dtd"/>
<produces dir="${ts.home}/src/${porting.package.dir}/app"
includes="**/*"/>
</xjc>
At some point I upgraded to JAXB 2.x and I noticed interfaces were no
longer generated just plain Java classes, and I also noticed my classes
did not implement Serializable. I have tried many variations of binding
file and I can't seem to make it work. This binding file seems like it
should work:
<?xml version="1.0" encoding="UTF-8"?>
<jaxb:bindings xmlns:jaxb="
http://java.sun.com/xml/ns/jaxb"
version="2.0">
<jaxb:globalBindings>
<jaxb:serializable/>
</jaxb:globalBindings>
</jaxb:bindings>
but I keep getting the following error:
[xjc] [ERROR] cvc-elt.1: Cannot find the declaration of element
'jaxb:globalBindings'.
[xjc] line 3 of
file:/Users/ryanoconnell/Documents/workspace/spider/src/com/sun/ts/lib/implementation/sun/javaee/runtime/jaxb-cust.xml
Can anyone tell me where I fell off the beam?
Thanks in advance.
--ryano