Altova MapForce 2027 Enterprise Edition

Der Parent-Kontext ist der von einem übergeordneten Node (Parent Node) geerbte Kontext. Er gibt an, welche Quelldaten und Zwischenergebnisse den Nachfahren-Nodes zur Verfügung stehen. Einige Datenverarbeitungskomponenten wie core-Aggregatfunktionen, Join-Komponenten und Variablen, haben einen Parameter parent-context, mit Hilfe dessen Sie den geerbten Kontext beeinflussen und dadurch das Resultat ändern können.

 

Beispiel

Zur Veranschaulichung der Funktionsweise des Parent-Kontexts dient das unten gezeigte Mapping.

mf_semantics_11

Die XML-Quelldatei hat folgende Struktur:

 

Büro

Abteilung

Anzahl der Personen

Nanonull, Inc.

Administration

3

Marketing

2

Engineering

6

IT & Technical Support

4

Nanonull Partners, Inc.

Administration

2

Marketing

1

IT & Technical Support

3

 

Das Mapping wird folgendermaßen verarbeitet:

 

•Die Ausführung des Mappings beginnt beim Root-Element (rows) der Zielkomponente. Da rows keine eingehende Verbindung hat, wird das Quell-Root-Element (Company) implizit als Mapping-Kontext verwendet.

•Im Mapping werden alle Person-Nodes in der Quelldatei gezählt und es wird ein einziger Wert (21) ausgegeben, da es in der Quelldatei nur ein Unternehmen gibt.

 

In den folgenden Unterabschnitten wird erklärt, wie der Parameter parent-context der Funktion count den Mapping-Kontext und die Ausgabe ändern kann.

 

Zählen der Personen in jeder Abteilung

Um die Anzahl der Personen in jeder Abteilung zu ermitteln, haben wir das Mapping folgendermaßen angepasst:

 

•Verbindung A: Ändert den Parent-Kontext der Funktion count in das Element Department. Infolgedessen zählt die Funktion die Anzahl der Personen in jeder Abteilung.

•Verbindung B: Da der Parent-Kontext Department ist, wird die Funktion für jede Abteilung (Department) einmal ausgewertet. Als Ergebnis erhalten Sie eine Wertesequenz anstelle eines einzigen Werts. Bei Verbindung B erstellt MapForce für jedes Datenelement in der Sequenz ein row-Element in der Zielkomponente.

 

Anmerkung: Für Nodes, die mehrere Instanzen haben können, verwenden wir im gesamten Abschnitt den Begriff Sequenz. Nähere Informationen dazu, wie MapForce Sequenzen verarbeitet, finden Sie unter Noden mit mehreren Instanzen.

mf_semantics_12

Das Mapping erzeugt die folgende Ausgabe:

 

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

 

Zählen der Personen in jedem Büro (Office)

Um die Anzahl der Personen in den einzelnen Büros (Office) zu zählen, haben wir den Parameter parent-context der count-Funktion mit dem Datenelement Office in der Quellkomponente verbunden. Infolgedessen wird die Funktion count für jedes Office-Element separat ausgewertet.

mf_semantics_14

Da die Quelldatei zwei Büros (offices) enthält, umfasst die Ausgabe zwei Zeilen, von denen jede die Anzahl der Personen in diesem Büro und den Namen des entsprechenden Büros enthält:

 

<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