(a) 形式
csmxjc [オプション [オプション引数] ] ... 入力スキーマ文書
オプションは省略できます。また,オプションは必ずスキーマ文書より前に指定してください。
(b) 機能
XML SchemaからJavaへバインディングするスキーマコンパイラです。
(c) オプション
- -b <外部バインディングファイル>
- 外部バインディングファイルを一つ指定します。外部バインディングファイル名の指定方法については,「2.5.2 コマンドに指定するファイル名・ディレクトリ名の規則」を参照してください。
- 省略した場合は,外部バインディングファイルを使用しないでjavaクラスを生成します。
- -d <出力先ディレクトリ>
- Javaソースの出力先ディレクトリを指定します。ディレクトリ名の指定方法については,「2.5.2 コマンドに指定するファイル名・ディレクトリ名の規則」を参照してください。
- 省略した場合は,カレントディレクトリが出力先ディレクトリになります。
- -mark-generated
- 生成したJavaソースに@javax.annotation.Generatedアノテーションを追加します。
- 省略した場合は,Javaソースに@javax.annotation.Generatedアノテーションを追加しません。
- Javaソースに追加される@javax.annotation.Generatedアノテーションの書式を次に示します。斜体の文字には,Javaソースを生成するたびに異なる値が入ります。
@Generated(value = "com.cosminexus.jaxb.tools.xjc.Driver", date = "yyyy-MM-ddTHH:mm:ssRFC822タイムゾーン") |
- @javax.annotation.Generated アノテーションの要素とXML Processorで設定される値を次の表に示します。
表2-5 @javax.annotation.Generated アノテーションの要素とXML Processorで設定される値
要素名 | 説明 | 値 |
---|
value | スキーマコンパイラの完全修飾クラス名 | com.cosminexus.jaxb.tools.xjc.Driver |
date | スキーマからJavaソースを生成した日時 | yyyy-MM-ddTHH:mm:ssRFC822タイムゾーン※ |
- 注※
- 出力フォーマットの詳細についてはjava.text.SimpleDateFormatクラスの「日付/時刻パターン」を参照してください。
(d) 入力スキーマ文書
入力スキーマ文書のファイル名を一つ指定できます。ファイル名に指定できる文字,パス区切り文字,パスの指定方法については「2.5.2 コマンドに指定するファイル名・ディレクトリ名の規則」を参照してください。
(e) 出力Javaソース
- 出力Javaソースのフォーマット
- スキーマコンパイラが出力するJavaソースのフォーマットの概要を次の図に示します。
図2-10 スキーマコンパイラが出力するJavaソースのフォーマットの概要
![[図データ]](figure/zu021000.gif)
- 出力Javaソースのフォーマットの詳細を次に示します。
- ヘッダ部
Cosminexus XML Processorで生成されたことを示すヘッダです。次のヘッダが挿入されます。
//
// This file was generated by Cosminexus XML Processor 08-00
// Any modifications to this file will be lost upon recompilation of the source schema.
// |
- package文,import文記述部
ソースに必要なpackage文やimport文が生成されます。生成されるpackage文,import文の内容はスキーマコンパイラに入力されたスキーマ文書に依存します。
- javadoc部
入力スキーマ文書から生成したクラスについてjavadocの内容が自動生成されます。javadocの内容はスキーマコンパイラに入力されたスキーマ文書に依存します。
- Javaクラス本体
入力スキーマ文書から生成したクラスが生成されます。Javaクラス本体の内容はスキーマコンパイラに入力されたスキーマ文書に依存します。
- 出力Javaソースのパッケージと出力先
- 出力Javaソースのパッケージ名と出力先について次に示します。
- 出力Javaソースのパッケージ名は次の優先順位で決定されます。Javaソースの出力先はカレントディレクトリ,または-dオプションで指定されたディレクトリを基準ディレクトリとして,次の規則を順番に適用して決定されます。
- カスタムバインディングによるパッケージ名の指定がある場合
カスタムバインディング(jaxb:package要素)で指定されたパッケージ名が出力Javaソースのパッケージ名になります。パッケージ名をディレクトリ名に変換し,基準ディレクトリの下に作成します。作成したディレクトリにJavaソースを出力します。
- 入力スキーマ文書にtargetNamespace属性が指定されている場合
入力スキーマ文書に記述された対象名前空間から,JAXB仕様書に基づき出力Javaソースのパッケージ名を生成します。生成したパッケージ名をディレクトリ名に変換し,基準ディレクトリの下に作成します。作成したディレクトリにJavaソースを出力します。
- 入力スキーマ文書にカスタムバインディングによるパッケージ名の指定がなく,targetNamespace属性の指定もない場合
Javaソースのパッケージ名は"generated"になります。基準ディレクトリの下に"generated"という名称のディレクトリを作成し,作成したディレクトリにJavaソースを出力します。
- 出力先のディレクトリに同名のJavaソースが存在する場合は上書きされます。
(f) 戻り値
- 0:
- 正常終了しました。
- 0以外の値:
- 異常終了しました。
(a) 形式
csmschemagen [オプション [オプション引数] ] [package-info.java ファイル名] Javaソースファイル名
オプションとpackage-info.javaファイルは省略できます。また,オプションとpackage-info.javaは必ずJavaソースファイル名より前に指定してください。
(b) 機能
JavaからXML Schemaへマッピングするスキーマジェネレータです。
(c) オプション
- -d <出力先ディレクトリ>
- 出力スキーマ文書と中間ファイルの出力先ディレクトリを指定します。出力先ディレクトリ名の指定方法については,「2.5.2 コマンドに指定するファイル名・ディレクトリ名の規則」を参照してください。
- 省略した場合は,カレントディレクトリが出力先ディレクトリになります。
- -encoding <文字エンコーディング>
- 入力するJavaソースの文字エンコーディングを指定します。
- Cosminexus XML Processorで指定できる文字エンコーディングについては,「1.3.2 処理できる文字コード」を参照してください。
- 省略した場合の動作は,使用しているOSによって次のように異なります。
- Windowsの場合
- OSにデフォルトで設定されている文字エンコーディングが適用されます。
- UNIXの場合
- 環境変数LANGに指定されている文字エンコーディングが適用されます。環境変数LANGも指定されていない場合は,OSにデフォルトで設定されている文字エンコーディングが適用されます。
(d) 入力Javaソース
Javaソースファイルを一つ指定できます。ファイル名に指定できる文字,パス区切り文字,パスの指定方法については「2.5.2 コマンドに指定するファイル名・ディレクトリ名の規則」を参照してください。
(e) 出力スキーマ文書
カレントディレクトリまたは-dオプションで指定されたディレクトリにscheman.xsd(nは数字)というファイル名で出力されます。出力先のディレクトリに同名のファイルが存在する場合は上書きされます。
(f) 中間ファイル
- csmschemagenコマンドは,Javaソースファイルをコンパイルして,中間ファイルである.classファイルを生成します。
- Javaソースファイルがpackage文を含む場合は,出力先ディレクトリの下にサブディレクトリを作成して.classファイルを出力します。サブディレクトリ名は,package文に指定したパッケージ名を基に決定します。
- Javaソースファイルがpackage文を含まない場合は,出力先ディレクトリの直下に.classファイルを出力します。
- .classファイルの出力先ディレクトリは,-dオプションで変更できます。
(g) 戻り値
- 0:
- 正常終了しました。
- 0以外の値:
- 異常終了しました。
(h) 注意事項
csmschemagenコマンドに入力するJavaソースファイルが構文的に不正でも,スキーマ文書が出力されます。このスキーマ文書は構文的に不正な可能性があるため,使用しないでください。