このサイトをビューするために JavaScript を有効化してください。

Altova MapForce 2020 Enterprise Edition

count 引数で指定された回数入力シーケンス内のアイテムを繰り返します。単一のアイテムを node/row 引数に接続すると、 関数は、 N が count 引数の値である箇所の N アイテムを返します。アイテムのシーケンスを node/row 引数に接続すると、 1度に1つのアイテムを処理し、関数は、シーケンス内のそれぞれのアイテムを count 回繰り返します。例: count が 2 の場合、 シーケンス (1,2,3) は、 (1,1,2,2,3,3)を生成します。

function_replicate-item

各アイテムのために異なった count 値を与えることができる点に注意してください。各アイテムのために異なった値を与えることができることに注意してください。 例: 以下の構造を持つソース XML ファイルがあると仮定します :

<?xml version="1.0" encoding="UTF-8"?>
<SourceList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="source.xsd">
  <person>
    <name>Michelle</name>
    <count>2</count>
  </person>
  <person>
    <name>Ted</name>
    <count>4</count>
  </person>
  <person>
    <name>Ann</name>
    <count>3</count>
  </person>
</SourceList>

replicate-item 関数を使用して、ターゲットコンポーネント内で何度も個人を異なった回数繰り返し使用することができます。これを達成するには、 replicate-item 関数の count 入力に各個人の <count> ノードを接続します:

example_replicate-item

出力は、以下のとおりです:

<?xml version="1.0" encoding="UTF-8"?>
<TargetLists xsi:noNamespaceSchemaLocation="target.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <TargetList>
    <TargetString>Michelle</TargetString>
    <TargetString>Michelle</TargetString>
  </TargetList>
  <TargetList>
    <TargetString>Ted</TargetString>
    <TargetString>Ted</TargetString>
    <TargetString>Ted</TargetString>
    <TargetString>Ted</TargetString>
  </TargetList>
  <TargetList>
    <TargetString>Ann</TargetString>
    <TargetString>Ann</TargetString>
    <TargetString>Ann</TargetString>
  </TargetList>
</TargetLists>

(C) 2019 Altova GmbH