Altova MapForce 2024 Enterprise Edition

La fonction group-ending-with prend une condition booléenne en tant qu'argument. Si la condition booléenne est vraie, un nouveau groupe est créé, terminant avec l'enregistrement qui satisfait la condition.

mf-func-group-ending-with

Dans l'exemple ci-dessous, la condition est que "Key" doit être égal à "trailing". Cette condition est vraie pour les troisième et quatrièmes enregistrements, en résultat, deux groupes sont créés :

mf_group-ending-with

Note :Un groupe supplémentaire est créé si des enregistrements existent après le dernier qui satisfait à la condition. Par exemple, si il existait plus d'enregistrements "line" après le dernier enregistrement "trailing", ceux-ci seraient tous placés dans un nouveau groupe.

 

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.

bool

Fournit la condition Booléenne qui lance un nouveau groupe si true.

 

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é).

 

<records>
  <record key="line" value="A"/>
  <record key="line" value="B"/>
  <record key="trailing" value="Total 1"/>
  <record key="line" value="C"/>
  <record key="trailing" value="Total 2"/>
</records>

 

L’exigence commerciale est de créer des groupes pour chaque enregistrement "trailing" Chaque groupe doit aussi inclure des enregistrements "line" qui précède l’enregistrement "trailing". Pour ce faire, le mappage suivant invoque la fonction group-ending-with. Dans le mappage ci-dessous, à chaque fois que le nom key est égal à "trailing", l’argument fournit en bool devient true, et un nouveau groupe est créé.

mf_group-ending-with_map

Le résultat de mappage est le suivant :

 

<groups>
  <group>
    <record key="line" value="A"/>
    <record key="line" value="B"/>
    <record key="trailing" value="Total 1"/>
  </group>
  <group>
    <record key="line" value="C"/>
    <record key="trailing" value="Total 2"/>
  </group>
</groups>

 

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 mf_ic_preview applicable à la fonction que vous souhaitez consulter préalablement, avant de cliquer sur l’onglet Sortie.

© 2018-2024 Altova GmbH