group-into-blocks
La fonction group-into-blocks crée des groupes égaux qui contiennent exactement N items, et où N est la valeur que vous fournissez à l'argument block-size. Veuillez noter que le dernier groupe peut contenir N items ou moins, selon le nombre d'items se trouvant dans la source.
Dans l'exemple ci-dessous, block-size est 2. Étant donné qu'il existe au total cinq items, chaque groupe contient exactement deux items, sauf pour le dernier.
Langages
Built-in, C++, C#, Java, XSLT 2.0, XSLT 3.0.
Paramètres
Nom | Description |
---|---|
nodes/rows | 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. |
block-size | Spécifie la taille de chaque groupe |
Exemple
Partons du principe que vos données de source existent sous la forme d’un fichier XML contenant les éléments suivants (veuillez noter que dans l’extrait de code suivant, l’espace de noms et des déclarations XML ont été supprimés pour plus de simplicité).
<company> |
L’exigence commerciale est de grouper des enregistrements de personnes en deux items chacun. Pour ce faire, le mappage suivant invoque la fonction group-into-blocks et fournit la valeur d’entier "2" en tant que block-size.
![mf_group-into-blocks_map](./images/mf_group-into-blocks_map.png)
Le résultat de mappage est le suivant :
<groups> |
Veuillez noter que le dernier groupe ne contient qu’un seul item, puisque le nombre total d’items (5) ne peut pas être divisé par 2.
Cet exemple, avec d’autres exemples de regroupement, fait partie du fichier de mappage suivant : <Documents>\Altova\MapForce2024\MapForceExamples\Tutorial\GroupingFunctions.mfd. Ne pas oublier de cliquer sur la touche Aperçu applicable à la fonction que vous souhaitez consulter préalablement, avant de cliquer sur l’onglet Sortie.