JAXB アプリケーション用 schemagen コマンド
Schema Generator ツール schemagen を使用して、Java™ Architecture for XML Binding (JAXB) で XML スキーマを生成します。
JAXB API およびツールを使用して、XML スキーマと Java クラスの間のマッピングを確立します。 XML スキーマは、XML 文書内のデータ・エレメントと関係を記述します。 データ・マッピングまたはバインディングが存在するようになったら、 XML 文書と Java オブジェクトとの間で双方向に変換できます。 XML 文書に保管されているデータには、XML データ構造を理解していなくてもアクセスすることができます。
Java クラスから、schemagen Schema Generator ツールを使用してスキーマ・ファイルを生成して、XML スキーマを作成できます。XML スキーマと Java クラス間のマッピングが存在するようになれば、JAXB バインディング・ランタイム API を使用して、XML インスタンス文書を Java オブジェクトに変換したり、Java オブジェクトを XML インスタンス文書に変換したりできます。その結果として得られる Java クラスには、マーシャルおよびアンマーシャル用の XML を構文解析するために JAXB ランタイムが必要とするすべての情報が含まれます。 JAXB クラスは、Java API for XML Web Services (JAX-WS) アプリケーション内で、 または XML データの処理用の JAX-WS 以外の Java アプリケーション内で使用できます。



- schemagen の呼び出しで package-info.java ソース・ファイルを明示的に指定します。例:
schemagen sample.Address sample\package-info.java
- JavaBeans 内にある @XmlType アノテーションの名前空間属性を使用して、名前空間を指定します。
例:
@XmlType(namespace="http://myNameSpace") public class Address {...}
コマンド行から schemagen ツールを使用する以外にも、 この JAXB ツールを Ant ビルド環境内で起動することができます。 Ant ビルド環境内で com.sun.tools.jxc.SchemaGenTask Ant タスクを使用して schemagen スキーマ・ジェネレーター・ツールを起動します。 この Ant タスクが正しく機能するようにするには、ws_ant スクリプトを使用して Ant を起動する必要があります。
構文
コマンド行構文は次のとおりです。
![[Windows]](../images/windows.gif)
app_server_root¥bin¥schemagen.bat [options] <java_files>
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
![[Linux]](../images/linux.gif)
![[Solaris]](../images/solaris.gif)
app_server_root/bin/schemagen.sh [options] <java_files>
![[IBM i]](../images/iseries.gif)
app_server_root/bin/schemagen [options] <java_files>
パラメーター
以下のパラメーターは、 schemagen コマンドのオプションです。
- -classpath <path>
- Java ソース・ファイルまたはクラス・ファイルの場所を指定します。
- -cp <path>
- Java ソース・ファイルまたはクラス・ファイルの場所を指定します。
- -d <path>
- プロセッサーおよび生成した Java クラス・ファイルの配置場所を指定します。
- -episode<file_name>
- 分割コンパイル用の 1 回分ファイルを生成するよう指定します。
- -encoding <encoding>
- -apt または -javac ツールを起動するときにエンコードを使用するよう指定します。 このプロパティーは、JAXB 2.2 以降に適用できます。
- -help
- ヘルプ・メニューを表示します。
- -version
- バージョン情報を出力します。このオプションを指定した場合、バージョン情報のみが出力され、通常のコマンド処理は行われません。