I'd like to override package for my schema via binding .xjb
file.
It is done with:
<schemaBindings>
<package name="com.schema.common" />
</schemaBindings>
JXC compiler expects context for above code, defined via schemaLocation
.
I store .xsd
and .xjb
files in separate directories and this looks ugly (like all Java EE):
<bindings schemaLocation="../../../../wsdl/common_v47_0/CommonReqRsp.xsd">
<schemaBindings>
<package name="com.schema.common" />
</schemaBindings>
</bindings>
It is possible to define bindings
context without relative path in schemaLocation
?
I dread XML Catalogs, we are in WEB 2.0 (or may be 4.0?) world.
I've seen SCD ("schema component designator"). It looks promising but I can't find reference for this syntax...
Here is the magic of SCD:
All parts are important. SCD was introduced in
version='2.1'
.I found reference at https://github.com/highsource/maven-jaxb2-plugin/wiki/Configure-Target-Packages-in-Binding-Files
SCD is extension of JAXB standard and implementation can be investigated in JAXB RI source tree: