質問
のパッケージからJavaソースファイルを生成しようとしています *.xsd
を使用して XJC コード生成ツール。
これらの *.xsdファイルで使用される名前空間は次のとおりです。
http://www.domain.com/foo/bar.x
http://www.domain.com/foo/bar.x.y
http://www.domain.com/foo/bar.x.y.z
XJC 次のようにパッケージを生産します。
com.domain.foo.bar.xと場所は、「... x」と「... xy」xsdネームスペースからJavaファイルを生成しました
com.domain.foo.bar.x_yと場所は、「... xyz」xsdネームスペースからJavaファイルを生成しました
ここで達成したいことは適切です:
com.domain.foo.bar.x
com.domain.foo.bar.x.y
com.domain.foo.bar.x.y.z package names
これはどういうわけか可能ですか?多分カスタムを使用しています Jaxb バインディング? JAXBカスタムバインディングドキュメントを勉強しましたが、それが可能かどうかはわかりません。
基本的に私は欲しいです XJC 「/」と「」の両方を扱うため。パッケージセパレーターとして。
どんな助けも感謝しています。
アダルバート
解決
使用する jaxb:package
カスタマイズ:
<jaxb:bindings
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
jaxb:version="2.1">
<jaxb:bindings schemaLocation="schema.xsd" node="/xsd:schema">
<jaxb:schemaBindings>
<jaxb:package name="com.domain.foo.bar.x.y.z"/>
</jaxb:schemaBindings>
</jaxb:bindings>
</jaxb:bindings>
または、名前空間の名前を変更することもできます http://www.domain.com/foo/bar/x/y/z
.
所属していません StackOverflow