1 .'" t 2 ." Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. 3 ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 ." 5 ." This code is free software; you can redistribute it and/or modify it 6 ." under the terms of the GNU General Public License version 2 only, as 7 ." published by the Free Software Foundation. 8 ." 9 ." This code is distributed in the hope that it will be useful, but WITHOUT 10 ." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 ." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 ." version 2 for more details (a copy is included in the LICENSE file that 13 ." accompanied this code). 14 ." 15 ." You should have received a copy of the GNU General Public License version 16 ." 2 along with this work; if not, write to the Free Software Foundation, 17 ." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 ." 19 ." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 ." or visit www.oracle.com if you need additional information or have any 21 ." questions. 22 ." ` 23 .TH xjc 1 "05 Jul 2012" 24 ." Generated by html2roff 25 26 .LP 27 .ad c 28 .SH 名前 29 XML バインドのための Java(TM) アーキテクチャ 30 .br 31 バインドコンパイラ (xjc) \f3仕様のバージョン:\fP 2.0 32 .br 33 \f3リファレンス実装 (Reference Implementation、RI) のバージョン:\fP 2.0 ea3 34 .br 35 JAXB 2.0: リリースノート | XJC | XJCTask | SchemaGen | schemagenTask | サンプルアプリケーション | Changelog 36 .br 37 JAXB 1.0.x: リリースノート | Changelog 38 .br 39 JAXB RI 拡張: 実行時プロパティ | XJC カスタマイズ | プラグイン開発 40 .br 41 JAXB RI スキーマ言語: W3C XML スキーマ | RELAX NG | DTD 42 .br 43 JAXB コミュニティ: 44 .na 45 \f2Java.net ホームページ\fP @ 46 .fi 47 http://jaxb.dev.java.net | Developer interest list | FAQ 48 .br 49 .ad l 50 51 .LP 52 .SS 53 xjc の起動 54 .LP 55 .LP 56 バインディングコンパイラを起動するには、使用するプラットフォームに応じた \f2bin\fP ディレクトリ内の \f2xjc\fP シェルスクリプトを使用します。また、バインディングコンパイラを実行するための Ant タスクも用意されています。xjc を Ant とともに使用するための手順を参照してください。 57 .LP 58 .RS 3 59 60 .LP 61 \f3Solaris/Linux の場合\fP 62 .LP 63 64 .LP 65 .LP 66 \f2% /path/to/jaxb/bin/xjc.sh \-help\fP 67 .LP 68 \f3WindowsNT/2000/XP の場合\fP 69 .LP 70 71 .LP 72 .LP 73 \f2> c:\\path\\to\\jaxb\\bin\\xjc.bat \-help\fP 74 .LP 75 .RE 76 .RS 3 77 78 .LP 79 \f3出力\fP 80 .LP 81 82 .LP 83 .nf 84 \f3 85 .fl 86 Usage: xjc [\-options ...] <schema_file/URL/dir> ... [\-b <bindinfo>] ... 87 .fl 88 Options: 89 .fl 90 \-nv : do not perform strict validation of the input schema(s) 91 .fl 92 \-extension : allow vendor extensions \- do not strictly follow the 93 .fl 94 Compatibility Rules and App E.2 from the JAXB Spec 95 .fl 96 \-b <file> : specify external bindings files (each <file> must have its own \-b) 97 .fl 98 \-d <dir> : generated files will go into this directory 99 .fl 100 \-p <pkg> : specifies the target package 101 .fl 102 \-httpproxy <proxy> : set HTTP/HTTPS proxy. Format is [user[:password]@]proxyHost:proxyPort 103 .fl 104 \-httpproxyfile <file>: set the proxy string (same format as above). 105 .fl 106 \-classpath <arg> : specify where to find user class files 107 .fl 108 \-catalog <file> : specify catalog files to resolve external entity references 109 .fl 110 support TR9401, XCatalog, and OASIS XML Catalog format. 111 .fl 112 \-readOnly : generated files will be in read\-only mode 113 .fl 114 \-npa : suppress generation of package level annotations (**/package\-info.java) 115 .fl 116 \-xmlschema : treat input as W3C XML Schema (default) 117 .fl 118 \-relaxng : treat input as RELAX NG (experimental,unsupported) 119 .fl 120 \-relaxng\-compact : treat input as RELAX NG compact syntax (experimental,unsupported) 121 .fl 122 \-dtd : treat input as XML DTD (experimental,unsupported) 123 .fl 124 \-wsdl : treat input as WSDL and compile schemas inside it (experimental,unsupported) 125 .fl 126 \-verbose : be extra verbose 127 .fl 128 \-quiet : suppress compiler output 129 .fl 130 \-help : display this help message 131 .fl 132 \-version : display version information 133 .fl 134 \fP 135 .fi 136 137 .LP 138 .RE 139 .RS 3 140 141 .LP 142 \f3jaxb\-xjc.jar JAR ファイルの実行\fP 143 .LP 144 145 .LP 146 .LP 147 ほかの方法がすべて失敗した場合でも、\f2jaxb\-xjc.jar\fP ファイルの実行は行えるはずです。 148 .LP 149 .RS 3 150 151 .LP 152 .TP 3 153 Solaris/Linux の場合: 154 \f2% java \-jar $JAXB_HOME/lib/jaxb\-xjc.jar \-help\fP 155 .TP 3 156 Windows の場合: 157 \f2> java \-jar %JAXB_HOME%\\lib\\jaxb\-xjc.jar \-help\fP 158 .LP 159 .RE 160 .LP 161 これは「xjc.sh」や「xjc.bat」を実行するのと同じです。また、この場合、JVM パラメータを設定できます。 162 .LP 163 .RE 164 .SS 165 コマンド行オプションの概要 166 .LP 167 168 .LP 169 .TP 3 170 \-nv 171 デフォルトでは、XJC バインディングコンパイラは、ソーススキーマを処理する前に厳密な検証を実行します。このオプションを使用すると、厳密なスキーマ検証を無効にします。これは、バインディングコンパイラが検証を一切実行しないということではありません。より厳密でない検証を実行するということです。 172 .TP 3 173 \-extension 174 デフォルトでは、XJC バインディングコンパイラは、JAXB 仕様の「Compatibility」の章で説明されている規則を厳密に強制します。付録 E.2 には、JAXB v1.0 で完全にはサポートされていない一連の W3C XML スキーマ機能が定義されています。場合によっては、このスイッチで有効になる「\-extension」モードでそれらの機能が使用できるかもしれません。また、デフォルトの厳密なモードでは、仕様に定義されているバインディングカスタマイズのみが使用できます。「\-extension」スイッチを指定すれば、JAXB Vendor Extension を使用できます。 175 .TP 3 176 \-b <file> 177 処理する外部バインディングファイルを 1 つまたは複数指定します。(バインディングファイルごとに\f2「\-b」\fPスイッチを指定する必要があります。) 外部バインディングファイルの構文は非常に柔軟です。複数のスキーマのカスタマイズが含まれる 178 1 つのバインディングファイルを使用したり、それらのカスタマイズを複数のバインディングファイルに分割したりできます。次に例を示します。 179 .RS 3 180 181 .LP 182 \f2xjc schema1.xsd schema2.xsd schema3.xsd \-b bindings123.xjb\fP 183 .br 184 \f2xjc schema1.xsd schema2.xsd schema3.xsd \-b bindings1.xjb \-b bindings2.xjb \-b bindings3.xjb\fP 185 .RE 186 また、コマンド行にスキーマファイルとバインディングファイルを指定する順番は任意です。 187 .TP 3 188 \-d <dir> 189 デフォルトでは、XJC バインディングコンパイラは、Java コンテンツクラスを現在のディレクトリに生成します。このオプションを使用すると、代替出力ディレクトリを指定できます。出力ディレクトリはあらかじめ存在している必要があります。XJC バインディングコンパイラは、このディレクトリを自動的に作成しません。 190 .TP 3 191 \-p <pkg> 192 このコマンド行オプション経由でターゲットパッケージを指定した場合、その指定内容は、パッケージ名に対するすべてのバインディングカスタマイズや、仕様で規定されているデフォルトのパッケージ名アルゴリズムよりも優先されます。 193 .TP 3 194 \-httpproxy <proxy> 195 HTTP/HTTPS プロキシを指定します。形式は [user[:password]@]proxyHost[:proxyPort] です。従来の \f2\-host\fP および \f2\-port\fP は、下位互換性のためにリファレンス実装でもサポートされていますが、推奨されなくなりました。このオプションで指定されたパスワードは、\f2top\fP コマンドを使用するユーザーなど、ほかのユーザーが表示できる引数であることに注意してください。セキュリティを高めるには、次の \f2\-httpproxyfile\fP を使用してください。 196 .TP 3 197 \-httpproxyfile <file> 198 HTTP/HTTPS プロキシをファイル経由で指定します。形式は上記と同じですが、このファイル内に指定されたパスワードをほかのユーザーが表示することはできません。 199 .TP 3 200 \-classpath <arg> 201 \f2<jxb:javaType>\fP および \f2<xjc:superClass>\fP カスタマイズが使用するクライアントアプリケーションのクラスファイルの検索場所を指定します。 202 .TP 3 203 \-catalog <file> 204 外部エンティティー参照を解決するカタログファイルを指定します。 205 TR9401、XCatalog、および OASIS XML Catalog 形式がサポートされます。 206 詳細は、『XML Entity and URI Resolvers』ドキュメントを参照するか、 207 カタログリゾルバのサンプルアプリケーションを調べてください。 208 .TP 3 209 \-readOnly 210 デフォルトでは、XJC バインディングコンパイラは、生成する Java ソースファイルを書き込みから保護しません。このオプションを使用すると、XJC バインディングコンパイラは生成される Java ソースを強制的に読み取り専用にします。 211 .TP 3 212 \-npa 213 パッケージレベルの注釈を 214 .B **/package-info.java 215 に生成することを抑制します。 216 このスイッチを使用して生成するコードでは、これらの注釈が 217 ほかの生成済みクラスに内部化されます。 218 .TP 3 219 \-xmlschema 220 入力スキーマを W3C XML スキーマ (デフォルト) と見なします。 221 このスイッチを指定しなくても、入力スキーマは 222 W3C XML スキーマと見なされます。 223 .TP 3 224 \-relaxng 225 入力スキーマを RELAX NG として扱います (試験的、未サポート)。RELAX NG スキーマのサポートは JAXB Vendor Extension として提供されています。 226 .TP 3 227 \-relaxng\-compact 228 入力スキーマを RELAX NG 圧縮構文として処理します (試験的、未サポート)。RELAX NG スキーマのサポートは JAXB Vendor Extension として提供されています。 229 .TP 3 230 \-dtd 231 入力スキーマを XML DTD として扱います (試験的、未サポート)。RELAX NG スキーマのサポートは JAXB Vendor Extension として提供されています。 232 .TP 3 233 \-wsdl 234 入力を WSDL として扱い、その内部のスキーマをコンパイルします (試験的、未サポート)。 235 .TP 3 236 \-quiet 237 進捗や警告など、コンパイラの出力を抑制します。 238 .TP 3 239 \-verbose 240 情報メッセージを出力したり特定のエラー発生時にスタックトレースを表示したりするなど、極めて冗長になります。 241 .TP 3 242 \-help 243 コンパイラスイッチの概要を表示します。 244 .TP 3 245 \-version 246 コンパイラのバージョン情報を表示します。 247 .TP 3 248 <schema file/URL/dir> 249 コンパイル対象となる 1 つまたは複数のスキーマファイルを指定します。ユーザーがディレクトリを指定した場合、xjc はそのディレクトリを走査し、そこで見つかったすべてのスキーマファイルをコンパイルします。 250 .SS 251 非推奨コマンド行オプションおよび削除されたコマンド行オプションの概要 252 .LP 253 254 .LP 255 .TP 3 256 \-host & \-port 257 これらのオプションは非推奨となり、\f3\-httpproxy\fP オプションで置き換えられました。これらのオプションは、下位互換性を確保する目的で引き続きサポートされますが、ドキュメントには記載されず、将来のリリースで削除される可能性もあります。 258 .TP 3 259 \-use\-runtime 260 JAXB 2.0 仕様で移植性のあるランタイムが規定されたため、JAXB RI が **/impl/runtime パッケージを生成する必要がなくなりました。このため、このスイッチは不要となり、削除されました。 261 .TP 3 262 \-source 263 \-source 互換性スイッチは、JAXB 2.0 の最初の Early Access 版で導入されました。我々は、JAXB 2.0 の今後のリリースからこのスイッチを削除することにしました。1.0.x コードを生成する必要がある場合には、1.0.x コードベースのインストールを使用してください。 264 .TP 3 265 \-Xlocator & \-Xsync\-methods 266 これらのスイッチは現時点では無効化されています。この機能は将来、個別のダウンロードとして提供される予定です。 267 .LP 268 .SS 269 コンパイラの制限 270 .LP 271 .LP 272 通常は、関連するスキーマは、同じバインディングコンパイラスイッチを指定して 1 つの単位としてコンパイルするのがもっとも安全です。 273 .LP 274 .LP 275 .B xjc 276 を実行するときは、次に示す制限に注意してください。 277 これらの制限のほとんどは、 278 .B xjc 279 を何度か呼び出して複数のスキーマをコンパイルする場合にのみ適用されます。 280 .LP 281 .RS 3 282 .TP 2 283 * 284 複数のスキーマを同時にコンパイルする場合は、 285 ターゲットの Java パッケージ名に次の優先順位の規則が 286 適用されることに注意してください。 287 .RS 3 288 .TP 3 289 1. 290 「\f2\-p\fP」コマンド行オプションがもっとも優先されます。 291 .TP 3 292 2. 293 <\f2jaxb:package\fP> のカスタマイズ 294 .TP 3 295 3. 296 \f2targetNamespace\fP が宣言されている場合は、仕様に定義されている \f2targetNamespace\fP \-> Java パッケージ名のアルゴリズムを適用します。 297 .TP 3 298 4. 299 \f2targetNamespace\fP が宣言されていない場合は、"generated" という名前のハードコードされたパッケージを使用します。 300 .RE 301 .TP 2 302 * 303 名前空間ごとに複数の 304 .B <jaxb:schemaBindings> 305 を持つことは不正です。このため、1 つのターゲット名前空間内の 306 2 つのスキーマを、異なる Java パッケージにコンパイルすることはできません。 307 .TP 2 308 * 309 1 つの Java パッケージにコンパイルされるすべてのスキーマは、 310 XJC バインディングコンパイラに同時に送信する必要があります。 311 個別にコンパイルすることはできず、 予期したとおりに動作しません。 312 .TP 2 313 * 314 複数のスキーマファイルにまたがる要素置換グループは、同時にコンパイルする必要があります。 315 .RE 316 317 .LP 318 319 .LP 320 $Revision: 1.4 $ 321 .br 322 $Date: 2005/10/27 18:53:02 $ 323 .LP 324