2

次のようにスキーマ名を含むカスタム外部 XJB ファイルがあります。

jxb:bindings schemaLocation="completeCheck.xsd" node="/xs:schema"

ANTを使用して(ANT XJCを使用して)XJBファイル内で実行時にスキーマ名を置き換える方法があるか、スキーマ名をハードコードする必要がないようにxjbバインディングファイルを作成する方法はありますか?基本的に、単一の xjb ファイルを複数の XSD に使用できるかどうかを確認しようとしています。

現在、同じ xjb ファイルがいたるところにあり、build.xml のいたるところで異なるハードコーディングされたスキーマ名が参照されています。どんな指針も高く評価されます。JAXB 2.x を使用しています

4

2 に答える 2

0

通常、XJC の最新バージョンでは、スキーマ コンポーネント指定子を使用できます。詳細はこちら: https://jaxb.java.net/nonav/2.2.1/docs/vendorCustomizations.html#scdおよびhttps://jaxb.java.net/guide/Using_SCD_for_customizations.html

于 2014-03-12T08:26:03.737 に答える
0

schemaLocation 属性の値をある種のマーカー (例: !!!) に置き換えて xjb ファイルからテンプレートを作成し、別の名前/拡張子を使用して保存します。ant の置換を使用してテンプレート ファイル内のマーカーをスキーマ名に変更する schema-name などの属性を持つマクロを定義し、それをバインディング ファイルとして保存して、後で xjc で使用します。

于 2011-08-19T22:35:06.530 に答える