Altova MapForce 2025 Professional Edition

La fonction group-starting-with prend une condition booléenne en tant qu'argument. Si celle-ci est vraie, un nouveau groupe est créé, commençant avec l'enregistrement qui satisfait à la condition.

mf-func-group-starting-with

Dans l'exemple ci-dessous, la condition est que "Key" doit être égal à "heading". Cette condition est vraie pour le premier et le quatrième enregistrement, donc deux groupes sont créés :

mf_group-starting-with

Note:Un groupe supplémentaire est créé si des enregistrements existent après le premier qui satisfait à la condition. Par exemple, s'il existait plus d'enregistrements "line" avant le premier enregistrement "heading", 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="heading" value="Intro"/>
  <record key="line" value="A"/>
  <record key="line" value="B"/>
  <record key="heading" value="Body"/>
  <record key="line" value="C"/>
</records>

 

L’exigence commerciale est de créer des groupes pour chaque enregistrement "heading". Chaque groupe doit aussi inclure tout enregistrement "line" qui suit l’enregistrement "heading". Pour ce faire, le mappage suivant invoque la fonction group-starting-with. Dans le mappage ci-dessous, dès que le nom key est égal à "heading", l’argument fourni en bool devient true et un nouveau groupe est créé.

mf_group-starting-with_map

Le résultat de mappage est le suivant :

 

<groups>
  <group>
    <record key="heading" value="Intro"/>
    <record key="line" value="A"/>
    <record key="line" value="B"/>
  </group>
  <group>
    <record key="heading" value="Body"/>
    <record key="line" value="C"/>
  </group>
</groups>

 

Cet exemple, avec d’autres exemples de regroupement, fait partie du fichier de mappage suivant : <Documents>\Altova\MapForce2025\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