ヘッダーをスキップ
Oracle Fusion Middleware Oracle TopLink開発者ガイド
11gリリース1(11.1.1)
B56246-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

48 XMLプロジェクトの作成

この章では、XMLプロジェクトを作成するために構成する必要のある様々なコンポーネントについて説明します。

この章の内容は次のとおりです。

複数のタイプのTopLinkプロジェクトの作成方法の詳細は、第116章「プロジェクトの作成」を参照してください。

48.1 XMLプロジェクト作成の概要

プロジェクトは、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プロジェクトの概要」を参照してください。

48.2XMLスキーマからの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章「統合開発環境の使用」を参照してください。

詳細は、次を参照してください。

48.2.1 TopLink Workbenchを使用したXMLスキーマからのXMLプロジェクトの作成方法

JAXBを使用してXMLスキーマから新規のマップされたTopLink Workbenchを作成するには、次の手順を実行します。

  1. TopLink Workbenchから、「ファイル」「新規」「プロジェクト」「XMLスキーマ(JAXB)から」の順に選択します。

    図48-1 「JAXBを使用してMapping Workbenchプロジェクトを生成」ダイアログ・ボックス

    図48-1の説明が続きます
    「図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固有ファイルを生成します。

48.2.2 コマンドラインを使用したXMLスキーマからのXMLプロジェクトの作成方法

コマンドラインからJAXBを使用して、XMLスキーマから新規のマップされたOracle TopLink Workbenchプロジェクトを作成するには、tljaxb.cmdまたはtljaxb.shファイル(<TOPLINK_HOME>/binディレクトリ内にある)を次のように使用します。

  1. テキスト・エディタを使用して、tljaxb.cmdまたはtljaxb.shファイルを編集し、プロキシ設定を行います(必要な場合)。

    URLによって別のスキーマをインポートするスキーマを使用し、プロキシの背後で操作している場合、例48-1または例48-2に示されているラインを編集してコメントを外し、プロキシ・ホスト(名前またはIPアドレス)およびポートを設定します。

    例48-1 tljaxb.cmdによるプロキシ設定

    @REM set JVM_ARGS=%JVM_ARGS% -DproxySet=true -Dhttp.proxyHost= -Dhttp.proxyPort=
    

    例48-2 tljaxb.shによるプロキシ設定

    # JVM_ARGS="${JVM_ARGS} -DproxySet=true -Dhttp.proxyHost= -Dhttp.proxyPort="
    
  2. 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バインド・コンパイラの引数

    引数 説明 オプションか

    -help

    使用方法(この情報)を出力します。

    -version

    TopLink JAXBコンパイラのリリースのバージョンを出力します。

    -sourceDir

    生成されたインタフェース、実装クラスおよびデプロイ・ファイルが書き込まれるディレクトリのパス。

    デフォルト: 指定された出力ディレクトリの下位に生成されるsourceという名前のディレクトリ。

    -generateWorkbench

    TopLink Workbenchプロジェクトと必要なプロジェクト・ファイルを生成します。省略すると、ランタイム情報のみ生成されます。

    -workbenchDir

    TopLink Workbenchプロジェクト・ファイルが書き込まれるディレクトリのパス。この引数には-generateWorkbench引数が必要です。

    デフォルト: 指定された出力ディレクトリの下位に生成されるmwという名前のディレクトリ。

    -schema

    XSDファイルの完全修飾パス。

    ×

    -targetPkg

    生成されたインタフェースおよびクラスの両方が属するパッケージの名前。これによりコンテキスト・パスが定義されます。実装クラスに別のパッケージを指定するには、-implClassPkg引数を設定します。

    デフォルト: jaxbderived.<schema name>というパッケージ名。ただし、<schema name>-schema引数によって指定されたスキーマの名前です。

    -implClassPkg

    生成された実装クラスが属するパッケージの名前。このオプションが設定される場合、インタフェースは-targetPkg引数によって指定されたパッケージに属します。これによりコンテキスト・パスが定義されます。

    -interface

    インタフェースのみを生成します。この引数はオプションです。

    デフォルト: インタフェースおよび実装クラスを両方とも生成します。

    -verbose

    生成されたインタフェースおよびクラスの名前を出力します。この引数はオプションです。

    デフォルト: 生成されたインタフェースおよびクラスの名前を出力しません。

    -customize

    JAXBコンパイラのデフォルト動作をオーバーライドするために使用できる標準JAXBカスタマイズ・ファイルの完全修飾パスおよびファイル名。