XMLMapper を使用する

提供: RAD Studio
移動先: 案内検索

データベース アプリケーションでの XML の利用:インデックス への移動

XML Mapper ユーティリティ xmlmapper.exe を使用し,以下の方法でマッピングを定義できます。

  • 既存の XML スキーマ(またはドキュメント)から定義するクライアントデータセットへ。これは,すでに XML スキーマが用意されているデータを操作するためにデータベースアプリケーションを作成するときに使用します。
  • 既存のデータパケットから定義している新しい XML スキーマへ。これは,XML で既存のデータベース情報を公開するときに使用します。たとえば,新しいビジネス間通信システムを作成する場合です。
  • 既存の XML スキーマと既存のデータパケットの間で。これは,XML スキーマとデータベースがあり,両方とも同じ情報を記述しており,同時に機能させたい場合に使用します。

メモ:  XML マッパーを使用するには,2 つの .DLL(midas.dll および msxml.dll)が正常に動作している必要があります。xmlmapper.exe を使用する前に,これらの .DLL が両方ともインストールされていることを確認してください。さらに,msxml.dll を COM サーバーとして登録しなければなりません。登録するには,Regsvr32.exe を使用します。

XML スキーマまたはデータパケットをロードする

マッピングを定義し,変換ファイルを生成する前に,まず,XML ドキュメントの記述と,マッピングするデータパケットをロードする必要があります。

XML ドキュメントまたはスキーマをロードするには,[ファイル > 開く]を選択して,表示されるダイアログでドキュメントまたはスキーマを選択します。

データパケットをロードするには,[ファイル > 開く]を選択して,表示されるダイアログでデータパケットファイルを選択します(データパケットは,クライアントデータセットの SaveToFile メソッドを呼び出すときに生成される単なるファイルにすぎません)。データパケットをディスクに保存していない場合,データパケットペインで右クリックし,[リモートサーバーに接続]を選択して,多層アプリケーションのアプリケーションサーバーから直接,データパケットを取得できます。

XML ドキュメントまたはスキーマだけをロードしたり,データパケットだけをロードしたり,またはその両方をロードしたりできます。マッピングの片側だけをロードする場合,XML マッパーは他方の側の自然なマッピングを生成できます。

マッピングを定義する

XML ドキュメントとデータパケットとの間のマッピングに,データパケット内のすべての項目または XML ドキュメント内のすべてのタグ付き要素が含まれている必要はありません。したがって,まず,マッピングされる要素を指定しなければなりません。これらの要素を指定するには,最初に,ダイアログの中央のペイン内の[マッピング]ページを選択してください。

データパケット内の項目にマッピングする XML ドキュメントまたはスキーマの要素を指定するには,XML ドキュメントペインの[ドキュメント表示]タブまたは[スキーマ表示]タブを選択して,データパケット項目にマッピングされる要素のノードをダブルクリックします。

XML ドキュメント内のタグ付き要素または属性にマッピングされるデータパケットの項目を指定するには,データパケットペイン内の項目のノードをダブルクリックします。

マッピングの片側だけをロードした場合(XML ドキュメントまたはデータパケット),マッピングされるノードを選択した後,他方の側を生成できます。

  • XML ドキュメントからデータパケットを生成する場合,まずデータパケット内で対応する項目の種類を決定する選択されているノードの属性を定義します。中央のペインで,[ノードリポジトリ]ペインを選択します。マッピングに加わっているそれぞれのノードを選択し,対応する項目の属性を示します。マッピングが簡単でない場合(たとえば,ある項目に対応するサブノードを持つノードで,その項目の値がサブノードから構築される場合),[ユーザー定義の変換]チェックボックスにチェックマークを付けます。ユーザー定義ノードに対し変換を実行するため,後でイベントハンドラを作成する必要があります。ノードをマッピングする方法を指定した後,[作成 > データパケットから XML]を選択します。対応するデータパケットが自動的に生成され,データパケットペインに表示されます。
  • データパケットから XML ドキュメントを生成する場合には,[作成 > XML からデータパケット]を選択します。データパケット内の項目,レコード,およびデータセットに対応する XML ドキュメント内のタグおよび属性の名前を指定するためのダイアログが表示されます。項目値では名前を付ける方法について,値をタグ付き要素にマッピングするのか,属性にマッピングするのかを指定します。@ 記号で始まる名前はレコードに対応するタグの属性にマッピングされますが,@ 記号で始まらない名前は値を持ち,レコードの要素内でネストされているタグ付き要素にマッピングされます。
  • XML ドキュメントとデータパケット(クライアントデータセットファイル)の両方をロードしている場合,同じ順序で対応するノードを選択するようにしてください。対応するノードが[マッピング]ページの最上段のテーブル内に隣合って表示されます。

XML ドキュメントとデータパケットの両方をロードまたは生成し,マッピング内に現れるノードを選択した後,[マッピング]ページの最上段のテーブルに定義済みのマッピングが表示されます。

変換ファイルを生成する

マッピングを定義した後,XML ドキュメントをデータパケットに変換し,データパケットを XML ドキュメントに変換するための変換ファイルを生成できます。変換ファイルだけが双方向であることに注意してください。つまり,単一のマッピングを使用して,XML からデータパケットへ,データパケットから XML への両方の変換を生成できるということです。

変換ファイルを生成するには

  1. まず,変換の作成内容を示すラジオボタンを選択します。
    • データパケットから XML ドキュメントへのマッピングの場合,[データパケットから XML]ボタンを選択します。
    • XML ドキュメントからデータパケットへのマッピングの場合,[XML からデータパケット]ボタンを選択します。
  2. データパケットを生成する場合は,[形式を指定してデータパケットを作成]セクションのラジオボタンも使用することになります。これらのボタンで,データパケットを使用する方法(データセットとして,更新を適用するデルタパケットとして,またはデータを取得する前にプロバイダに渡すパラメータとして)を指定します。
  3. [変換の作成とテスト]をクリックして,変換のメモリ内バージョンを生成します。XML マッパーは,データパケットペイン内のデータパケットに対し生成する XML ドキュメント,または XML ドキュメントペイン内で XML ドキュメントに対して生成するデータパケットを表示します。
  4. 最後に,[ファイル > 保存 > 変換]を選択して,変換ファイルを保存します。変換ファイルは,すでに定義されている変換を記述した特別な XML ファイル(拡張子は .xtr)です。

関連項目