Folgende Operatoren stehen zur Verfügung: concat, subtext, indexof.
Zusammenfügen von Zeichenketten
XML-Tag: |
Concat |
|
Operanden: |
genau eine Wertemenge (Zeichenketten) |
|
Synopsis: |
<concat> <Wertemenge 1> </concat> |
|
Operanden: |
TEXT |
|
Ergebnis: |
Wert (Zeichenkette) |
|
Ergebnistyp: |
TEXT |
|
Berechnung (PPM3/PPM4) |
Resultat |
Ergebnis der Konkatenation aller in der Wertemenge enthaltenen Zeichenketten. NULL, wenn Operand Leermenge |
Fehler |
Wenn mind. ein Wert von unzulässigem Datentyp |
|
Beispiel: |
- |
Extraktion von Teilzeichenketten
XML-Tag: |
Subtext |
|
Operanden: |
genau ein Wert (Zeichenkette) |
|
Synopsis: |
<subtext beginindex="..." [endindex=" "]> <Wert> </subtext> Beispiel <subtext> <Wert> <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 Zeichenkette eine Teilzeichenkette durch Angabe positiver Indizes (vom Stringanfang) bzw. negativer Indizes (vom Stringende) |
|
Berechnung (PPM3) |
Resultat |
Liefert eine Teilzeichenkette der vom Operanden übergebenen Zeichenkette. |
Fehler |
Wenn Operand NULL oder von unzulässigem Datentyp |
|
Berechnung (PPM4) |
Resultat |
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. |
Position eines Teiltextes in einem anderen Text bestimmen
XML-Tag |
<indexof> |
|
Beschreibung |
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) |
Resultat |
-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 ermittelt 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. |