Altova MapForce 2027 Basic Edition

Le contexte parent est le contexte hérité d'un nœud parent. Il détermine quelles données sources et quels résultats intermédiaires sont accessibles aux nœuds descendants. Certains composants de traitement des données, notamment les fonctions d'agrégation de base et les variables, proposent un paramètre parent-context qui vous permet d'influencer le contexte hérité et, par conséquent, de modifier le résultat.

 

Exemple

Pour illustrer le fonctionnement du contexte parent, nous allons utiliser le mappage présenté ci-dessous.

mf_semantics_11

Le fichier XML source est structuré comme suit :

 

Office

Department

Number of people

Nanonull, Inc.

Administration

3

Marketing

2

Engineering

6

IT & Technical Support

4

Nanonull Partners, Inc.

Administration

2

Marketing

1

IT & Technical Support

3

 

Le mappage est traité comme suit :

 

•L'exécution du mappage commence à l'élément racine (rows) du composant cible. Comme il n'y a pas de connexion entrante vers rows, MapForce utilise implicitement l'élément racine source (Company) comme contexte de mappage.

•Le mappage compte tous les nœuds Person dans le fichier source et renvoie une seule valeur (21), car il n'y a qu'une seule entreprise dans le fichier source.

 

Les sous-sections ci-dessous expliquent comment le paramètre parent-context de la fonction count peut modifier le contexte de mappage et le résultat.

 

Comptage des personnes dans chaque service

Pour compter le nombre de personnes dans chaque service, nous avons ajusté le mappage comme suit :

 

•Connexion A : modifie le contexte parent de la fonction count pour le définir sur l’élément Department. Par conséquent, la fonction compte le nombre de personnes dans chaque département.

•Connexion B : le contexte parent étant Department, la fonction est évaluée une fois pour chaque département. Par conséquent, elle renvoie une séquence de valeurs plutôt qu’une seule valeur. Avec la connexion B, MapForce crée un élément row dans la cible pour chaque élément de la séquence.

 

Note : tout au long de cette section, nous utilisons le terme séquence pour désigner les nœuds pouvant avoir plusieurs occurrences. Pour plus d'informations sur la manière dont MapForce traite les séquences, voir Nœuds à occurrences multiples.

mf_semantics_12

Le mappage produit le résultat suivant :

 

<rows>
  <row>
      <col1>3</col1>
  </row>
  <row>
      <col1>2</col1>
  </row>
  <row>
      <col1>6</col1>
  </row>
  <row>
      <col1>4</col1>
  </row>
  <row>
      <col1>2</col1>
  </row>
  <row>
      <col1>1</col1>
  </row>
  <row>
      <col1>3</col1>
  </row>
</rows>

 

Comptage des personnes dans chaque bureau

Pour compter le nombre de personnes dans chaque bureau, nous avons associé le paramètre parent-context de la fonction count à l'élément Office de la source. De ce fait, la fonction count est évaluée séparément pour chaque élément Office.

mf_semantics_14

Comme le fichier source contient deux bureaux, le résultat comprend deux lignes, chacune indiquant le nombre de personnes dans ce bureau ainsi que le nom du bureau correspondant :

 

<rows>
  <row>
      <col1>15</col1>
      <col2>Nanonull, Inc.</col2>
  </row>
  <row>
      <col1>6</col1>
      <col2>Nanonull Partners, Inc.</col2>
  </row>
</rows>

 

© 2020-2026 Altova GmbH