マッピング・ノード

ソース・ファイル・エレメントまたは属性ノードをターゲット・ファイル・エレメントまたは属性ノードにマップすることができます。 マッピングはソース・ファイル内のノードをターゲット・ファイル内のノードに関連付けます。

以下のマッピングの組み合わせが認められます。
  • 1 つの属性に対して 1 つの属性
  • 1 つのエレメントに対して 1 つの属性
  • 1 つのエレメントに対して 1 つのエレメント
  • 1 つの属性に対して 1 つのエレメント
  • 1 つのノードに対して複数のノード
次の説明は Resource パースペクティブを対象にしていますが、他のさまざまなパースペクティブでも使用できます。

マッピングを作成するには、以下のステップに従います。

  1. XML 間マッピング・エディターで XML 間マッピングを開く。
  2. ソース・ファイルのエレメントまたは属性を 1 つ以上選択する。 複数のエレメント、または属性を選択するには、Ctrl キーを使用します。
  3. ターゲット・ファイル内でエレメントまたは属性を選択する。
  4. ソースまたはターゲット・ペイン内で右クリックして、「マッピングの作成 (Create Mapping)」をクリックする。 ここでノードは相互にマップされます。

マッピングを除去するには、マップされたエレメント、または属性を右マウス・ボタンでクリックして、 「マッピングの除去 (Remove Mapping)」を選択します。

共通名によるノードのマッピング

マッピングの突き合わせ (Match Mapping)」 コマンドは、ノードを共通名にマップする場合に使用します。 このオプションを使用するには、次のようにします。

  1. XML 間マッピング・エディターで XML 間マッピングを開く。
  2. マップする 1 つ以上のノードを選択する。これらのノードは、 共通名のノードである必要はありません。
  3. マッピング (Mapping) > マッピングの突き合わせ (Match Mapping)」を選択する。ツールは選択されたノードをマップし、 共通ノード名に基づいて、選択されたソース・ノードの子を、選択されたターゲット・ノードの子へマップしようとします。 次に、共通名を持つ、新規にマップされた子ノードの子が、マップされます。 このプロセスは、共通名を持つ子孫ノードすべてがマップされるまで続きます。

オプションの 選択

選択項目のサポートによって、 マッピング・セッション中にさまざまなメンバーの選択項目を動的に選択したりマップしたりできます。ターゲット・ビューまたはソース・ビューに現在表示されていない 選択項目メンバーを使用してマッピングを作成するには、以下のステップに従います。

  1. XML 間マッピング・エディターで XML 間マッピングを開く。
  2. ソース・ビューまたはターゲット・ビューに現在表示されている選択項目メンバーを選択する。 矢印がその隣に表示されます。矢印をクリックし、ドロップダウン・メニューから適切なメンバーを選択する。
  3. マッピングを作成する。

例:

  1. Address.dtd をソース・ファイルとして選択します。このファイルには、 「Province」および「State」の 2 つのメンバーがある選択項目が 含まれています。
  2. Person.dtd をターゲット・ファイルとして選択します。このファイルにも、 「Province」および「State」の 2 つのメンバーがある 選択項目が含まれています。
  3. マッピング・セッションを開いたときに、「Province」がソース・ビューと ターゲット・ビューの両方に表示されます。 2 つの「Province」メンバー間の マッピングを作成します。
  4. 次に、ソース・ビュー内で「Province」をクリックし、 ドロップダウン・メニューから「State」を選択し、また、 ターゲット・ビュー内でも同様に行います。この時点で、これら 2 つのメンバー間のマッピングを作成できます。

概要ビューでは現在のターゲット・ビューのマッピングを常時反映していることに注意します。 したがって、ターゲットに選択項目が含まれている場合は、  ターゲット・ビューに現在表示されているメンバーだけが概要ビューに表示されます。選択項目のその他のメンバーは、マップされている場合でも、 概要ビューには表示されません。 しかし、アウトライン・ビューでは現在のターゲット・ビューに関係なくすべてのマッピングが表示されます。

空コンテンツのエレメントへのマッピング

全くコンテンツが ない XML エレメント (たとえば、<Person/>) へのマッピングは、 文字データを含む XML エレメント (たとえば、<Person>Molly</Person>) への マッピングとは異なります。 後者のケースでのマッピングとは、 ソース・ノードからのデータがターゲット・エレメントの文字データとして使用されるという意味です。 しかし、前者のケースでのマッピングは、ターゲット・エレメントにどのようなコンテンツも持つことができないため、 何も起こらないことと同じです。 言い換えれば、このマッピングでは生成される XSLT に何も影響を与えません。

DTD で、 コンテンツを持たないエレメントには、キーワードの「EMPTY」を使用して 指定します (たとえば、<!ELEMENT Person EMPTY>)。 XML スキーマでは直接的に指定できません。 XML スキーマで空のコンテンツ・エレメントをコンパクトな構文にするために、 単純なコンテンツ、または複雑なコンテンツにかかわらず、複合タイプを定義する方法が あります (たとえば、<xsd:element name="Person"> <xsd:complexType/></xsd:element>)。 これは複雑なコンテンツについて、不特定型を制限する速記型と解釈できます。

関連概念
XML 間マッピング・エディター
関連タスク
ソースおよびターゲット・ファイルの指定
エレメントのソート
ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.