Altova MapForce 2024 Enterprise Edition

Repliziert alle Datenelement in der Input-Sequenz so oft, wie im Argument count definiert. Wenn Sie ein einziges Datenelement mit dem node/row Input verbinden, gibt die Funktion N Datenelemente zurück, wobei N der Wert des Arguments count ist. Wenn Sie eine Sequenz von Datenelementen mit dem node/row Input verbinden, repliziert die Funktion jedes einzelne Datenelement in der Sequenz count Mal, wobei die Datenelemente der Reihe nach verarbeitet werden. Wenn z.B. count 2 ist, so erzeugt die Sequenz 1,2,3 das Ergebnis 1,1,2,2,3,3. Es kann auch für jedes Datenelement in der Input-Sequenz ein anderer count-Wert angegeben werden, wie im Beispiel unten gezeigt.

mf-func-replicate-item

 

Sprachen

Built-in, C++, C#, Java, XQuery, XSLT 2.0, XSLT 3.0..

 

Parameter

Name

Beschreibung

node/row

Mit diesem Input muss ein Mapping-Datenelement verbunden werden, das eine Sequenz von null oder mehr Werten liefert. So kann damit etwa ein Datenelement aus einer XML-Quelldatei, einem CSV-Feld, einem Datenbankdatensatz, usw. verbunden werden.

count

Definiert, wie oft jedes Datenelement oder jede mit node/row verbundene Sequenz repliziert werden soll.

 

Beispiel

Angenommen, Sie haben eine XML-Quelldatei mit der folgenden Struktur:

 

<SourceList>
  <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>

 

Mit Hilfe der Funktion replicate-item können Sie jeden Personennamen unterschiedlich oft in der Zielkomponente replizieren. Verbinden Sie dazu den Node count der einzelnen person-Elemente mit dem count-Input der Funktion replicate-item:

mf-func-replicate-item-example

Das Ergebnis ist das folgende:

 

<TargetLists>
  <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>

© 2017-2023 Altova GmbH