Concat

Mit einer Concat-Transformation können Sie Daten aus mindestens zwei einfachen Elementen zu einem Ausgabeelement des Typs "String" verketten.

Übersicht

Die Concat-Transformation verkettet zwei oder mehr einfache Eingaben zu einem Ausgabeelement des Typs "String".

Wenn Sie die Concat-Transformation konfigurieren, können Sie auf der Seite "Eigenschaften" ein Präfix, ein Suffix und einen Begrenzer angeben:

Sie können ein alphanumerisches Zeichen als Begrenzer für die Zeichenfolgen angeben. Außerdem können Sie ein Zeichenfolgepräfix und ein Zeichenfolgesuffix verwenden.

Fenster 'Eigenschaften der concat-Transformation'

Sie können beispielsweise die Zeichenfolgen aus den Elementen Vorname und Nachnameverketten und ein Leerzeichen als Begrenzer, das Präfix Herr , angeben. und ein Komma als Suffix mit folgendem Ergebnis:Mr. firstname lastname,

Wann kann die Concat-Transformation verwendet werden?

Sie können die Concat-Transformation verwenden, wenn die folgenden Voraussetzungen erfüllt sind:
  • Sie möchten Daten aus mindestens zwei einzelnen Eingaben verketten.
  • Die Eingabetypen für die Concat-Transformation können einfache oder primitive Datentypen sein.
    Anmerkung: Einfache Eingabeelemente, die nicht vom Typ xs: Zeichenfolge sind, werden in xs: Zeichenfolgeumgesetzt.
  • Alle Eingaben für die Concat-Transformation, die als Primärverbindungen verbunden sind, werden zur Berechnung des Werts des Ausgabeelements des Typs "String" verwendet.
  • Möglicherweise müssen Sie ein Präfix definieren.
  • Möglicherweise müssen Sie zwischen Eingabewerten denselben Begrenzer definieren.
  • Möglicherweise müssen Sie ein Suffix definieren.
Die Concat-Transformation kann nicht ausgewählt und verwendet werden, wenn eines der folgenden Eingabekriterien zutrifft:
  • Eine der Eingaben für die Concat-Transformation ist ein komplexes Element.
  • Eine der Eingaben ist ein sich wiederholendes Element, d. h., die Kardinalität des Eingabeelements wird auf [1 .. *] gesetzt. oder [0 .. *].

Eingaben für die Concat-Transformation

Die Concat-Transformation akzeptiert mehrere einfache Elemente.

Sie können Eingaben über primäre Verbindungen mit der Concat-Transformation verbinden.

Sie können dieselbe Eingabe in einer Concat-Transformation mehrfach verbinden.

Die Concat-Transformation verkettet Eingabedaten in der festgelegten Reihenfolge. Die Reihenfolge der Eingaben für die Transformation wird erkannt und auf der Eigenschaftenseite Reihenfolge festgelegt.

Diese Abbildung zeigt eine Concat-Transformation in einer Zuordnung.

Reihenfolge der Eingaben

Standardmäßig entspricht die Reihenfolge der Eingaben für die Concat-Transformation der Reihenfolge, in der Sie die Eingaben miteinander verbinden.

Sie können die Reihenfolge ändern, indem Sie die Eingaben auf der Registerkarte Reihenfolge der Transformationseigenschaften neu ordnen.

Definieren, wenn die Transformation zur Laufzeit angewendet wird

Sie können mehrere Verbindungen zwischen Eingabeelementen und der Concat-Transformation definieren. Anschließend können Sie eine oder mehrere dieser Eingabeelemente in einem Bedingungsausdruck verwenden, der die Bedingung definiert, unter der die Transformation angewendet wird. Wenn die Bedingung den Wert true ergibt, wird die Transformation angewendet.

Anmerkung: Sie können nur Eingaben verwenden, die über eine primäre Verbindung mit der Transformation verbunden sind. Alle Eingaben werden verknüpft. Es ist nicht möglich, eine Eingabe zu verwenden, die nur in der Bedingung verwendet wird.
Anmerkung: Wenn Sie die Verketten -Transformation bedingt anwenden müssen, verwenden Sie eine Wenn -Transformation und platzieren Sie die Verketten -Transformation in der verschachtelten Zuordnung der Wenn.

Zum Definieren des Bedingungsausdrucks können Sie einen XPath-Ausdruck oder einen Aufruf einer statischen Methode in einer importierten Java™ -Klasse definieren. Sie können auch einen komplexen Ausdruck erstellen, der XPath-, Java-und Erweiterungsfunktionen wie iib:getUserDefinedProperty ("Eigenschaftsname")umfasst.  

Sie konfigurieren den Ausdruck auf der Registerkarte Bedingung auf der Seite Eigenschaften der Transformation.

Weitere Informationen finden Sie in Eigenschaften einer Transformation konfigurieren, XPath-Bedingungsausdruck für eine Transformation definieren und Java-Bedingungsausdruck für eine Umsetzung definieren.

Wenn Ihr Bedingungsausdruck den Wert eines Eingabeelements voraussetzt, der nicht in der Concat-Transformation verwendet wird, um das Ausgabeelement festzulegen, müssen Sie die If-Transformation verwenden, um zu definieren, wann die Transformation zur Laufzeit angewendet wird. Weitere Informationen finden Sie unter If, Else if und Else.

Warnung

Standardmäßig ist es nicht möglich, ein sich wiederholendes einfaches Element mit einer Concat-Transformation zu verbinden. Wenn Sie jedoch eine Zuordnung mit einer definierten Concat-Transformation haben und die Kardinalität eines der Eingabeelemente so ändern, dass aus dem Element ein einfaches, sich wiederholendes Element wird, zeigt die Concat-Transformation eine Warnung an.

Die Warnung lautet wie folgt:

Each input of the string concatenation function expects a single input. Make sure {0} will not pass multiple instances to the function at run time.

Die Warnung wird angezeigt, weil mindestens eine Eingabe kein einzelnes Element ist.

Wenn eine Concat-Transformation eine solche Warnung generiert, ist das Laufzeitverhalten wie folgt:
  • Wenn die Eingabe-XML nur eine einzige Instanz der wiederholt verwendbaren Eingabe enthält, erzeugt die Concat-Transformation das erwartete Ergebnis zur Laufzeit.
  • Wenn die Eingabe-XML mehrere Instanzen der wiederholt verwendbaren Eingabe enthält, führt die Concat-Transformation zu einer Laufzeitausnahme.

Beispiel für ein sich wiederholendes einzelnes Element für eine Concat-Transformation:

Diese Abbildung zeigt den Warnungsfehler bei der Concat-Transformation bei der Verwendung sich wiederholender Elemente des einfachen Typs.