Die folgende Operatoren stehen Ihnen zur Verfügung: concat, subtext, indexof.
Zusammenfügen von Ketten
XML-Tag: |
Concat |
|
Operanden: |
genau eine Wertemenge (Ketten) |
|
Synopsis: |
<concat> <Wertemenge 1> </concat> |
|
Operanden: |
TEXT |
|
Ergebnis: |
Wert (Kette) |
|
Ergebnistyp: |
TEXT |
|
Berechnung (PPM3/PPM4) |
Ergebnis |
Ergebnis der Konkatenation aller in der Wertemenge enthaltenen Ketten. NULL, wenn Operand Leermenge |
Fehler |
Wenn mind. ein Wert von unzulässigem Datentyp |
|
Beispiel: |
- |
Extraktion von Teilzeichenketten
XML-Tag: |
Subtext |
|
Operanden: |
Genau ein Wert (Kette) |
|
Synopsis: |
<subtext beginindex="..." [endindex=" "]> <Value> </subtext> Beispiel <subtext> <Value> <beginindex>...</beginindex> <endindex>...</endindex> </subtext> Verwenden Sie immer nur eine der beiden gezeigten Varianten (Index-Angabe entweder als XML-Attribute oder als XML-Elemente) |
|
Operanden: |
TEXT |
|
Ergebnis: |
Wert (extrahierte Zeichenkette) |
|
Ergebnistyp: |
TEXT |
|
Beschreibung: |
Extrahiert aus einer Teilzeichenkette durch Angabe positiver Indizes (vom Stringanfang) bzw. negativer Indizes (vom Stringende). |
|
Berechnung (PPM3) |
Ergebnis |
Liefert eine Teilzeichenkette der vom Operanden übergebenen Zeichenkette. |
Fehler |
Wenn Operand NULL oder von unzulässigem Datentyp |
|
Berechnung (PPM4) |
Ergebnis |
Liefert eine Teilzeichenkette der vom Operanden übergebenen Zeichenkette. |
Fehler |
Bei unzulässigem Datentyp (nicht TEXT) |
|
Beispiel: |
<subtext beginindex="-3" endindex="-1"> Beispiel <subtext> Bei einem angenommenen Wert ABCDE des Attributs AT_XYZ wird die Teilzeichenkette CD extrahiert. |
Positionsbestimmung eines Teiltextes in einem anderen Text
XML-Tag |
<indexof> |
||
Bezeichnung |
Liefert den Index in einem Text (Operand 1) an dem das erste Vorkommen eines Teiltextes (Operand 2) steht, beginnend an einem angegebenen Index (Operand 3). |
||
Operanden (Position/ Datentyp) |
1 / TEXT 2 / TEXT [ 3 / LONG ], optional, Standardwert ist 0 |
||
Berechnung |
ab PPM 9.0 |
||
Berechnung (PPM4) |
Ergebnis |
-1, wenn mind. 1 Operand gleich NULL oder der Teilstring nicht gefunden wird Index des ersten Vorkommen des durch Operand 2 bestimmten Textes im durch Operand 1 bestimmten Text beginnend ab dem in Operand 3 angegebenen Index (äquivalent zu Java String.indexOf(String, int)). |
|
Datentyp |
LONG |
||
Exception |
Wenn mind. 1 Operand mit falschem Datentyp oder Operand 3 < 0 |
||
Beispiel |
<subtext mode="PPM4"> <filteredattribute name="AT_TEXT" … /> <beginindex> <indexof> <filteredattribute name="AT_TEXT" … /> <constant> <dataitem> XYZ <datatypename="TEXT">Text</datatype> </dataitem> </constant> </beginindex> </subtext> |
||
In dem Beispiel werden die Operatoren indexof und subtext zusammen verwendet. Hier ermittelt indexof die Position des Textes XYZ im Attributwert des Attributs AT_TEXT. Anschließend erkennt der Operator subtext den Teilstring ab dieser Position. Wenn das Attribut AT_TEXT den Wert ABCDEXYZAC hat würde obige Berechnungsvorschrift den Wert XYZAC liefern. |