Altova MapForce 2023 Enterprise Edition

Repite cada elemento de la secuencia de entrada tantas veces como se indique el argumento count Si conecta un único elemento a la secuencia node/row de entrada, la función devuelve elementos N donde N es el valor del argumento count Si conecta una secuencia de elementos a la secuencia de entrada node/row, la función repite cada elemento individual de la secuencia tantas veces como indique count y los procesa uno a uno. Por ejemplo, si count es 2, entonces la secuencia 1,2,3 produce 1,1,2,2,3,3. Repite cada elemento de la secuencia de entrada tantas veces como se indique en el argumento count.

mf-func-replicate-item

 

Lenguajes

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

 

Parámetros

Nombre

Descripción

nodo/fila

Esta entrada debe recibir una conexión desde un elemento de la asignación que suministre una secuencia de cero o más valores. Por ejemplo, la conexión puede provenir de un elemento XML de origen, un campo CSV, un registro de BD, etc.

count

Indica el número de veces que se debe replicar cada elemento o secuencia que estén conectados a node/row.

 

Ejemplo

Por ejemplo, imagine que tiene un archivo XML de origen con esta estructura:

 

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

 

Con ayuda de la función replicate-item puede repetir cada nombre de persona las veces que quiera en el componente de destino. Para conseguirlo conecte el nodo <count> de cada persona a la entrada count de la función replicate-item:

mf-func-replicate-item-example

Este sería el resultado:

 

<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