この章では、XMLプロジェクトを作成するために構成する必要のある様々なコンポーネントについて説明します。
この章の内容は次のとおりです。
複数のタイプのTopLinkプロジェクトの作成方法の詳細は、第116章「プロジェクトの作成」を参照してください。
プロジェクトは、Oracle JDeveloper、TopLink WorkbenchまたはJavaコードを使用して作成できます。
Oracle JDeveloperまたはTopLink Workbenchを使用してプロジェクトを作成し、実行時に使用するプロジェクトのデプロイXMLまたはJavaソース・バージョンを生成することをお薦めします。TopLink Workbenchを使用したプロジェクトの作成方法の詳細は、116.1.2項「TopLink Workbenchを使用したプロジェクトの作成方法」を参照してください。Javaを使用したプロジェクトの作成方法の詳細は、116.1.3項「Javaを使用したプロジェクトの作成方法」を参照してください。
XMLスキーマ(XSD)文書はあるがオブジェクトモデルがない場合には、TopLinkを使用してXMLプロジェクトを作成できます(48.2項「XMLスキーマからのXMLプロジェクトの作成」を参照)。XSDおよびオブジェクト・モデル・クラスが両方ともある場合、116.1.2項「TopLink Workbenchを使用したプロジェクトの作成方法」で説明している手順を使用して、XMLプロジェクトを作成できます。
詳細は、第47章「XMLプロジェクトの概要」を参照してください。
既存のデータ・モデル(XMLスキーマ文書)はあるが、対応するオブジェクト・モデル(ドメイン・オブジェクトに対するJavaクラス)がない場合は、次の手順を使用してTopLinkプロジェクトを作成し、対応するオブジェクト・モデルを自動生成します。
注意: XSDおよびオブジェクト・モデル・クラスが両方ともある場合、116.1.2項「TopLink Workbenchを使用したプロジェクトの作成方法」で説明している手順を使用して、XMLプロジェクトを作成できます。 |
TopLink JAXBコンパイラでは、必要なJAXBファイルおよびTopLinkファイルがともにXMLスキーマ(XSD)文書から自動生成されるため、TopLinkによるJAXBアプリケーション開発が容易になります。生成後は、JAXBオブジェクト・モデルを再コンパイルしなくても、Oracle JDeveloperまたはTopLink Workbenchプロジェクトを開いてXMLマッピングを微調整できます。
TopLink JAXBコンパイラは、Oracle JDeveloper TopLinkエディタ、TopLink Workbench(48.2.1項「TopLink Workbenchを使用したXMLスキーマからのXMLプロジェクトの作成方法」を参照)、またはコマンドライン(48.2.2項「コマンドラインを使用したXMLスキーマからのXMLプロジェクトの作成方法」を参照)から使用できます。
注意: 生成されたクラスをコンパイルする前に、IDEクラスパスに< ORACLE_HOME >\lib\xml.jar を含むよう構成してください。たとえば、第7章「統合開発環境の使用」を参照してください。 |
詳細は、次を参照してください。
JAXBを使用してXMLスキーマから新規のマップされたTopLink Workbenchを作成するには、次の手順を実行します。
TopLink Workbenchから、「ファイル」→「新規」→「プロジェクト」→「XMLスキーマ(JAXB)から」の順に選択します。
図48-1 「JAXBを使用してMapping Workbenchプロジェクトを生成」ダイアログ・ボックス
次の情報を参照し、このダイアログ・ボックスの各フィールドにデータを入力します。
フィールド | 説明 |
---|---|
作成元 | この領域のフィールドを使用して、既存のJAXB情報を指定します。 |
スキーマ・ファイル | 「参照」をクリックし、XSDファイルの完全修飾パスを選択します。 |
JAXBカスタマイズ・ファイル(オプション) | これはオプション設定です。JAXBコンパイラのデフォルト動作をオーバーライドするために使用する標準JAXB構成ファイルがある場合に、このオプションを使用できます。JAXBカスタマイズ・ファイルには、XSDコンポーネントとそのJava表現の間のデフォルト・バインドをカスタマイズするためのバインド宣言が含まれています。 |
作成先 | この領域のフィールドを使用して、TopLink Workbenchプロジェクトの場所およびオプションを指定します。 |
出力ディレクトリ | 「参照」をクリックして、生成されたファイルが書き込まれるディレクトリのパスを選択します。プロジェクトで使用されるすべてのパスは、このディレクトリからの相対パスです。 |
出力ソース・ディレクトリ | 「参照」をクリックして、生成されたインタフェース、実装クラスおよびデプロイ・ファイルが書き込まれるディレクトリのパス(「出力ディレクトリ」からの相対パス)を選択します。デフォルト: 指定された出力ディレクトリの下位に生成されるsource という名前のディレクトリ。 |
出力Workbenchプロジェクト・ディレクトリ | 「参照」をクリックして、TopLink Workbenchプロジェクト・ファイルが書き込まれるディレクトリのパス(「出力ディレクトリ」からの相対パス)を選択します。デフォルト: 指定された出力ディレクトリの下位に生成されるmw という名前のディレクトリ。 |
生成されたインタフェースのパッケージ名 | 生成されたインタフェースが属するパッケージのオプション名。これによりコンテキスト・パスが定義されます。このオプション名が指定されない場合、jaxbderived.<schema name> というパッケージ名が使用されます。ただし、<schema name> は「スキーマ・ファイル」フィールドで指定されたスキーマの名前です。 |
生成された実装クラスのパッケージ名 | 生成された実装クラスが属するパッケージのオプション名。これによりコンテキスト・パスが定義されます。このオプション名が指定されない場合、jaxbderived.<schema name> というパッケージ名が使用されます。ただし、<schema name> は「スキーマ・ファイル」フィールドで指定されたスキーマの名前です。 |
TopLink JAXBコンパイラは、JAXB固有ファイル(47.1.1.2項「JAXB固有の生成ファイルの使用」を参照)およびTopLink固有ファイルを生成します。
コマンドラインからJAXBを使用して、XMLスキーマから新規のマップされたOracle TopLink Workbenchプロジェクトを作成するには、tljaxb.cmd
またはtljaxb.sh
ファイル(<TOPLINK_HOME>
/bin
ディレクトリ内にある)を次のように使用します。
テキスト・エディタを使用して、tljaxb.cmd
またはtljaxb.sh
ファイルを編集し、プロキシ設定を行います(必要な場合)。
URLによって別のスキーマをインポートするスキーマを使用し、プロキシの背後で操作している場合、例48-1または例48-2に示されているラインを編集してコメントを外し、プロキシ・ホスト(名前またはIPアドレス)およびポートを設定します。
tljaxb.cmd
またはtljaxb.sh
ファイル(<TOPLINK_HOME>
/bin
ディレクトリ内にある)を実行します。
TopLink JAXBコンパイラは、JAXB固有ファイル(47.1.1.2項「JAXB固有の生成ファイルの使用」を参照)およびTopLink固有ファイルを生成します。
例48-3は、Toplink JAXBコンパイラを使用してスキーマからオブジェクト・モデルを生成する方法を示します。表48-1は、コンパイラの引数を示します。
例48-3 tljaxb.cmdによるスキーマからのオブジェクト・モデルの生成
tljaxb.cmd -sourceDir ./app/src -generateWorkbench -workbenchDir ./app/mw -schema purchaseOrder.xsd -targetPkg examples.ox.model.if -implClassPkg examples.ox.model.impl
表48-1 TopLink JAXBバインド・コンパイラの引数
引数 | 説明 | オプションか |
---|---|---|
|
使用方法(この情報)を出力します。 |
○ |
|
TopLink JAXBコンパイラのリリースのバージョンを出力します。 |
○ |
|
生成されたインタフェース、実装クラスおよびデプロイ・ファイルが書き込まれるディレクトリのパス。 デフォルト: 指定された出力ディレクトリの下位に生成される |
○ |
|
TopLink Workbenchプロジェクトと必要なプロジェクト・ファイルを生成します。省略すると、ランタイム情報のみ生成されます。 |
○ |
|
TopLink Workbenchプロジェクト・ファイルが書き込まれるディレクトリのパス。この引数には デフォルト: 指定された出力ディレクトリの下位に生成される |
○ |
|
XSDファイルの完全修飾パス。 |
× |
|
生成されたインタフェースおよびクラスの両方が属するパッケージの名前。これによりコンテキスト・パスが定義されます。実装クラスに別のパッケージを指定するには、 デフォルト: |
○ |
|
生成された実装クラスが属するパッケージの名前。このオプションが設定される場合、インタフェースは |
○ |
|
インタフェースのみを生成します。この引数はオプションです。 デフォルト: インタフェースおよび実装クラスを両方とも生成します。 |
○ |
|
生成されたインタフェースおよびクラスの名前を出力します。この引数はオプションです。 デフォルト: 生成されたインタフェースおよびクラスの名前を出力しません。 |
○ |
|
JAXBコンパイラのデフォルト動作をオーバーライドするために使用できる標準JAXBカスタマイズ・ファイルの完全修飾パスおよびファイル名。 |
○ |