Altova MapForce 2024 Professional Edition

Répète chaque item dans la séquence d’entrée le nombre de fois spécifié dans l’argument count. Si vous connectez un seul item dans l’entrée node/row, la fonction retournera N items, où N est la valeur de l’argument count. Si vous connectez une séquence d’item dans l’entrée node/row, la fonction répètera chaque item individuel dans la séquence count fois, en traitant un item à la fois. Par exemple, si count est 2, la séquence 1,2,3 produira 1,1,2,2,3,3. Il est aussi possible de fournir une valeur count différente pour chaque item dans la séquence d’entrée, comme illustré dans l’exemple ci-dessous.

mf-func-replicate-item

 

Langages

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

 

Paramètres

Nom

Description

node/row

Cette entrée doit recevoir une connexion depuis un item de mappage qui fournit une séquence de zéros ou plus de valeurs. Par exemple, la connexion peut provenir d’un item XML de source , un champ CSV, un enregistrement de base de données, etc.

count

Spécifie le nombre de fois nécessaire pour répliquer chaque item ou séquence connectée à node/row.

 

Exemple

Imaginons que vous avez un fichier XML source comportant la structure suivante :

 

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

 

Avec l’aide de la fonction replicate-item, vous pouvez répéter chaque nom de personne un nombre différent de fois dans un composant de cible. Pour ce faire, connecter le nœud count de chaque personne à l’entrée count de la fonction replicate-item :

mf-func-replicate-item-example

La sortie est la suivante :

 

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

© 2018-2024 Altova GmbH