arc:map

Version 24.2.9039


arc:map


arc:map キーワードを使用して、あるアイテムのアトリビュートを別のアイテムのアトリビュートにマップします。アトリビュートは、あるアイテムから読み取られ、マップ文字列で指定された新しい名前で別のアイテムに書き込まれます。arc:map キーワードは、宛先のアイテムを削除するのではなく、新しいアトリビュートを追加します。宛先アイテムにアトリビュートが存在する場合には、そのアトリビュートは上書きされ、他のアトリビュートはそのまま残ります。

パラメータ

  • to:アトリビュートが書き込まれるアイテムの名前。
  • from:アトリビュートが読み取られるアイテムの名前。
  • map:宛先アイテムのアトリビュート名を指定し、続いてソースアイテムのアトリビュートを指定するアトリビュート名のリスト。例えば、次のシンタックスを使って、ある接頭辞のアトリビュートを別の接頭辞にマップすることができます。

    customer:\* = soap:\*

    有効なアトリビュート名でない文字はすべて無視され、名前の終わりを区切るために使用されます。

アトリビュートの制御

None

3つのアトリビュートをマップします:マップは、to アトリビュート名の後にfrom アトリビュート名が続きます。

<arc:set item="item1" attr="var1" value="x"/>
<arc:set item="item1" attr="var2" value="y"/>
<arc:set item="item2" attr="attr1" value="z"/>
<arc:map to="item2" from="item1" map="attr1=var1, attr2=var2"/>

この例では、item1var1 およびvar2 アトリビュートは、item2attr1およびattr2 アトリビュートにそれぞれマップされます。item2 の値z で設定されているattr1 アトリビュートは、item1var1 の値であるx で上書きされます。item2 に存在しないattr2 アトリビュートは新たに作成され、yitem1var2 の値)に設定されます。

複数のアトリビュートを、ある接頭辞を持つアイテムから別の接頭辞を持つアイテムにマップすることができます。これは、アプリケーション接頭辞(例えばsoap:*)をビジネスドメイン接頭辞(例えば customer:*)に変更する際に便利です。次の例では、soapout アイテム内のすべてのsoap:* アトリビュートから、customer アイテム内のcustomer:* 接頭辞を持つアトリビュートへのマッピングを作成します。

<arc:map from="soapout" to="customer" map="customer:* = soap:*"/>

1つのアイテムから別のアイテムにすべてのアトリビュートをコピーします:

<arc:map from="copyfrom" to="copyto" map="* = *"/>

関連項目

  • arc:set:アイテムのアトリビュートを設定する。