2011-08-09 9 views
1

ここに私の問題があります:HyperJaxb - インクルードされたスキーマでインポートされたxmlスキーマを除外する方法はありますか?

私は2つの.xsdファイルを持っています、それらをa.xsdとb.xsdと呼ぶことにしましょう。私が達成したいのは、a.xsdからb.xsdのクラスを除くすべてのクラスを生成することです。今問題は、a.xsdが(aを介して)b.xsdの型を参照するため、除外されてもb.xsdのクラスが構築されることです。これを回避する方法はありますか?

答えて

1

スキーマを除外することはできませんが、スキーマ派生パッケージは除外できます。

Ignoring packagesを参照してください。

<jaxb:bindings schemaLocation="schema-ignored.xsd" node="/xsd:schema"> 
    <jaxb:schemaBindings> 
     <jaxb:package name="org.jvnet.hyperjaxb3.ejb.tests.issuesignored"/> 
    </jaxb:schemaBindings> 
    <hj:ignored-package name="org.jvnet.hyperjaxb3.ejb.tests.issuesignored"/> 
</jaxb:bindings> 

あなたが実際にb.xsdから型への参照を持っているので、どこかa.xsdで、あなたがこの参照を分割する必要があります。 hj:ignoredを使用してこのプロパティを無視するか、xjc:domでカスタマイズして、JavaクラスのDOM要素にすることができます。

ps。私は[email protected]にSOの質問よりも速く応答しています。

+0

+1ご協力いただきありがとうございました。 – helpermethod

関連する問題