ノードのマッピング

要素ノードおよび属性ノードを、 ソース・ドキュメントからターゲット・ドキュメントに マップすることができます。
以下の組み合わせのマッピングが可能です。
  • 属性から属性
  • 属性から要素
  • 要素から要素
  • 要素から属性
  • 複数ノードから単一ノード
以下の手順は、リソース・パースペクティブに適用されますが、 他の多くのパースペクティブでも使用できます。

マッピングを作成するには、次の操作を実行します。

  1. マップ・ファイルを、XML マッピング・エディターで開きます。
  2. ソース・ドキュメント内の要素または属性を 1 つ以上選択します。 複数の要素または属性を選択するには、Ctrl キーを使用します。
  3. ターゲット・ドキュメントの要素または属性を選択します。
  4. ソース・ドキュメントまたはターゲット・ドキュメントで右クリックして、「変換の作成」をクリックします。 ノードは、お互いに対してマップされます。変換タイプを指定するには、ノード間の変換タイプ・ボックスをクリックします。次のいずれかのオプションを選択できます。
    オプション 説明
    「移動」 このタイプは、ソースからターゲットにデータをコピーします。
    「連結」 このタイプは、ストリング連結を作成します。 これによって、複数のエンティティーから取得したデータを リンクさせて、1 つにまとめることができます。
    「インライン化マップ」 このタイプを使うと、 あるマップから他のマップへのコールアウトが可能になります。 ただし、他のマップからそのマップを呼び出すことはできません。 そのマップは、現在のマップ内で使用されるのみです。入出力が配列の場合、インライン化マップは入力に対して暗黙的に反復されます。
    「サブマップ」 このタイプは、別のマップを参照します。 この変換タイプを使用すると、このマップ・ファイルまたは別のマップ・ファイルからマップが呼び出されます。 再利用を考えている場合は、 この変換タイプを選択するのが最も効果的です。
    「サブストリング」 このタイプは、必要に応じて情報を抽出します。 例えば、サブストリング「lastname, firstname」で、区切り文字に「,」、 サブストリング索引に「0」を指定した場合、値「lastname」が戻されます。サブストリング・インデックスを「1」に変更した場合は、「firstname」が出力されます。
    「グループ」 このタイプは、データの配列またはコレクションを取得し、 コレクションのコレクションにグループ化します。 これは本質的に、配列を含む配列となります。 グループ化は、フィールド・レベルで行われます。つまり、「部門」などの入力コレクションのフィールドを選択することにより実行されます。
    「正規化」 このタイプは、入力文字列を正規化します。 例えば、この変換タイプを使用すると、複数回出現する空白文字 (スペース、タブ、リターンなど) を除去できます。
    「カスタム」 このタイプを使うと、 変換で使用されるカスタム・コードを入力したり、 参照コードを呼び出したりすることができます。 組み込み変換関数は、 カスタムの XPath 式および XSLT テンプレートを使用して拡張できます。

マッピングを除去するには、マッピング接続を右クリックして、「削除」を選択します。

コンテンツが空の要素へのマッピング

コンテンツを持たない XML 要素へのマッピング (例えば、<Person/>) は、 文字データを持つ XML 要素へのマッピングと異なります (例えば、 <Person>Molly</Person>)。 後者の場合では、マッピングはソース・ノードからのデータが ターゲット要素の文字データとして使用されることを意味します。 ただし、前者の場合、生成される XSLT へのマッピングの影響はありません。

DTD では、全くコンテンツを持たない要素は、 キーワード 'EMPTY' を使用して指定されます (例えば、<!ELEMENT Person EMPTY>)。 XML スキーマでは、より非直接的な方法が必要となります。 XML スキーマ内で空のコンテンツ要素を指定する際に、 コンパクトな構文を作成する方法の 1 つとして、 単純コンテンツも複合コンテンツも含めずに、 複合型を定義する、という方法があります (例: <xsd:element name="Person"> <xsd:complexType/></xsd:element>)。 これは、anyType を制限する、 複合コンテンツの省略表現として解釈されます。

関連概念
XML マッピング・エディター
関連タスク
ソース・ファイルとターゲット・ファイルの指定
要素のソート

フィードバック