arc:map
Version 24.2.9039
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"/>
この例では、item1
のvar1
およびvar2
アトリビュートは、item2
のattr1
およびattr2
アトリビュートにそれぞれマップされます。item2
の値z
で設定されているattr1
アトリビュートは、item1
のvar1
の値であるx
で上書きされます。item2
に存在しないattr2
アトリビュートは新たに作成され、y
(item1
のvar2
の値)に設定されます。
複数のアトリビュートを、ある接頭辞を持つアイテムから別の接頭辞を持つアイテムにマップすることができます。これは、アプリケーション接頭辞(例えば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:アイテムのアトリビュートを設定する。