Hier finden sie eine Übersicht aller Funktionen, die Sie im Freemarker-Skripten in Synesty Studio benutzen können.
In diesem Zusammenhang empfehlen wir auch folgende Handbuchseiten:
Es kann vorkommen, dass z.B. eine Spalte im Mapper den gleichen Namen hat, wie eine der Funktionen unten.
In diesem Fall "gewinnt" die Spalte - und nicht die Funktion. Man spricht auch davon, dass die Spalte die Funktion überdeckt oder "shadowed".
Um die Funktion in so einem seltenen Fall trotzdem aufzurufen, kann man das Prefix
_syn.
dem Funktionsname voranstellen.
Beispiel:
Der Aufruf der Funktion
${isNumber("10.1")}
im Mapper würde z.B. nicht funktionieren, wenn es eine Quellspalte mit dem gleichen Namen "isNumber" gäbe.
Hier könnte man stattdessen
${_syn.isNumber("10.1")}
aufrufen, um die Funktion trotzdem aufzurufen.
isNumber(value)
Beschreibung Prüft, ob ein Wert eine Zahl ist.
Parameter
Typ
Beschreibung
Gültige Werte
value
TEXT
Beispiel
Ausgabe
${isNumber("10.1")?c}
true
${isNumber("foo 10.1")?c}
false
<#if isNumber(5)>value ist a number<#else>value ist NOT a number</#if>
value ist a number
toNumber(value, default (optional), delimiter (optional, default is .))
Beschreibung Prüft, ob ein Wert eine Zahl ist und gibt sie oder einen vordefinierten Wert aus. Ist der vordefinierten Wert numerisch, wird er als Nummer ausgegeben. Der Dezimaltrenner kann als 3. Parameter übergeben werden (Default ist ".").
Parameter
Typ
Beschreibung
Gültige Werte
value
TEXT
value to turn into a number
default (optional)
TEXT
returned default if value is not numeric
delimiter (optional, default is .)
TEXT
decimal delimiter
Beispiel
Ausgabe
${toNumber("10 ")}
10
${toNumber("10", "0")}
10
${toNumber("foo", "0")}
0
${toNumber("10000.100")}
10000.1
${toNumber("1000,000.100", "0")}
0
${toNumber("1000,000100", "0", ",")}
1000.0001
random(MinVal, MaxVal)
Beschreibung Erzeugt eine Zufallszahl. Die Zufallszahl ist Standard-mäßig vom Datentyp double, also eine Zahl mit Dezimalstellen.
Um eine Ganzzahl zu erhalten nutzen Sie das Freemarker-Built-in ?floor, um Abzurunden, und die Dezimalstellen wegzuschneiden.
Parameter
Typ
Beschreibung
Gültige Werte
MinVal
INTEGER
minimum value for random number
MaxVal
INTEGER
maximum value for random number
Beispiel
Ausgabe
${random(1,10)}
random number between 1 and 10
${random()}
random number between 0 and 1 (e.g. 0.567885)
${random(100)}
random number between 0 and 100 (e.g. 45.57743)
${random(10,100)}
random number between 10 and 100 (e.g. 11.35675)
${random()?floor}
random integer number between 0 and 1
${random(100)?floor}
random integer number between 0 and 100
${random(10,100)?floor}
random integer number between 10 and 100
position_of(string, searchStr, ordinal)
Beschreibung Ermittelt die n-te Position eines Zeichens bzw. Teilstrings innerhalb einer Zeichenkette. Ein Beispiel mit anderen Worten: "An der wievielten Positionen kommt "-" (Bindestrich) zum zweiten mal vor?"
Parameter
Typ
Beschreibung
Gültige Werte
string
STRING
String, which the search pattern is applied to
searchStr
STRING
the pattern to searched for
ordinal
INTEGER
the number of occurence
Beispiel
Ausgabe
Position of the 2nd occurence of "-" is ${position_of("1-2-3-4", "-",2)}
Position of the 2nd occurence of "-" is 3
unescapeHTML(string)
Beschreibung Ersetzt HTML Entitäten. Das Gegenstück zu escapeHTML.
Parameter
Typ
Beschreibung
Gültige Werte
string
STRING
The HTML String
Beispiel
Ausgabe
${unescapeHTML("<")!}
<
escapeHTML(string)
Beschreibung Ersetzt bestimmte Zeichen durch HTML Entitäten.
Parameter
Typ
Beschreibung
Gültige Werte
string
STRING
description
Beispiel
Ausgabe
${escapeHTML('>')!}
>
stripHTMLTags(inputString)
Beschreibung Diese Funktion entfernt HTML Tags aus Texten. Das wird häufig in Datenfeeds bei der Artikelbeschreibung benötigt. Bisher konnte man das ganze auch über Suchen/Ersetzen mit einem regulären Ausdruck erreichen. Diese Funktion macht das ganze einfacher und komfortabler.
Parameter
Typ
Beschreibung
Gültige Werte
inputString
STRING
String from which HTML Tags are to be removed
Beispiel
Ausgabe
${stripHTMLTags("<h1>Content</h1><p>Text</p>")!}
ContentText
now()
Beschreibung Liefert die aktuelle Zeit als Timestamp in Millisekunden.
Beispiel
Ausgabe
${now()}
1417185735245
eanChecksum(ean)
Beschreibung Berechnet die 13. Stelle (Prüfsumme) einer EAN13.
Parameter
Typ
Beschreibung
Gültige Werte
ean
TEXT
the ean whose checksum is to be calculated.
Beispiel
Ausgabe
${eanChecksum("978381582086")!}
5
${"978381582086"+eanChecksum("978381582086")!}
9783815820865
UUID()
Beschreibung Erzeugt eine 36-stellige eineindeutige ID, eine sog. UUID.
Beschreibung Spezialfunktion, die hautpsächlich den Anwendungsfall hat, auf Attributwert zuzugreifen,
die wie folgt in einer einzelnen Spalte hinterlegt sind:
color=red;size=M
Häufig trifft man das bei Artikeldaten an, wo Variantenattribute wie Farbe und Größe
auf diese Art mit bestimmten Trennzeichen in einer Spalte stehen. Man könnte alternativ
mit der ?split Funktion den String zerlegen, aber parseField ist komfortabler. Wenn Sie nur den ersten Parameter angeben, dann wird MAP angenommen wie in parseField("A=0;B=4;C=DE", "MAP", "TEXT", ";", "=")
Parameter
Typ
Beschreibung
Gültige Werte
string
TEXT
The input string
fieldType
TEXT
FieldType is a type, which defines whether a single value, multiple values or a map is used. Usually you want to use MAP.
MAPMULTIPLEVALUESINGLE
contentType
TEXT
ContentType describes the kind of value, which is to be used. Usually you want to use TEXT, INTEGER or DECIMAL
Beschreibung Liest eine Zeichenkette wie 'A=0;B=4;C=DE' als Key-Value Map ein. Man kann auf die Werte mit Hilfe des Schlüssels zugreifen. Limitierung: Max. Anzahl Schlüssel: 1000, max. Schlüssel-Länge: 255 Zeichen, max. Wert-Länge: 10000 Zeichen.
Parameter
Typ
Beschreibung
Gültige Werte
string
TEXT
The input string
keyValueDelimiter
TEXT
Optional: The delimiter between key and value (e.g. default is "=").
delimiter
TEXT
Optional: The delimiter between the key-value pairs (e.g. default is ";").
Beschreibung Mit der Funktion urlEncode kann man Zeichenketten so aufbereiten, dass man sie in URLs benutzen kann. Sie ersetzt alle Sonderzeichen, die in URLs nicht erlaubt sind entsprechend. Optional: Verwenden Sie als Typ SINGLE, MULTIPLEVALUE oder MAP
Parameter
Typ
Beschreibung
Gültige Werte
inputString
TEXT
Input URL
type
TEXT
The content type, which is to be used
SINGLEMULTIPLEVALUEMAP
delimiter
TEXT
the delimiter used between entries
keyValueDelimiter
TEXT
the delimiter between key and value (e.g. "=")
paramName
TEXT
Beispiel
Ausgabe
${urlEncode("#sonderzeichen und leerzeichen!\"§%&//("!)!}
Beschreibung decodiert URLs als einfachen string, zeichenseparierte Liste von Strings oder eine MAP von Schlüssel Wert Paaren. Das Gegenstück zu urlEncode
Parameter
Typ
Beschreibung
Gültige Werte
inputString
TEXT
the input String
type
TEXT
Use SINGLE, MULTIPLEVALUE or MAP
SINGLEMULTIPLEVALUEMAP
delimiter
TEXT
delimiter between entries (e.g. ";")
keyValueDelimiter
TEXT
delimiter between key and value (e.g."=")
paramName
TEXT
Beispiel
Ausgabe
${urlDecode('%23sonderzeichen+und+leerzeichen')!}
#sonderzeichen und leerzeichen
datecalc(field, amount)
Beschreibung Rechnet mit einem Datum, um Zeiten zu addieren oder subtrahieren. Man kann entweder das aktuelle Datum verwenden oder ein Referenzdatum reingeben.Die verwendbaren Felder sind MONTH, DAY, HOUR, MINUTE, SECOND, MILLISECOND.Hinweis: Bei Verwendung eines Referenzdatums kann das Datum als String oder Date-Objekt reingegeben werden z.B. '2015-08-06 10:39' oder .now
Beschreibung Berechnet die Differenz zwischen einem Start- und End-Datum. Die verwendbaren Felder sind YEAR, MONTH, DAY, HOUR, MINUTE, SECOND. Hinweis: Bei Verwendung eines Referenzdatums muss das Datum als String reingegeben werden z.B. 2015-08-06 10:39. Bei Angabe von "NOW" wird das aktuelle Datum verwendet.Wenn das Datum nicht als STRING sondern als DATE vorliegt, muss man erst noch einen String daraus machen z.B. prop_lastruntime?datetime
Beschreibung Prüft, ob ein Datum zwischen einem Start- und Enddatum liegt (einschließlich des Startzeitpunkts und ausschließlich des Endzeitpunkts [Start,Ende)). Diese Funktion gibt true oder false zurück.
Parameter
Typ
Beschreibung
Gültige Werte
referenceDate
TEXT
The referenceDate as a Date or String e.g. 2015-07-15 11:17
startDate
TEXT
The start date as a Date or String e.g. 2015-07-15 11:17
endDate
TEXT
The end date as a Date or String e.g. 2015-07-15 11:17
Beschreibung Liefert ein Date Objekt des letzten Tag des Monats bezogen auf das übergebene Referenzdatum. Wird kein Referenzdatum angegeben, wird der aktuelle Zeitpunkt als Referenzdatum genutzt.
Beschreibung Liefert ein Date des ersten Tag des Monats bezogen auf das übergebene Referenzdatum. Wird kein Referenzdatum angegeben, wird der aktuelle Zeitpunkt als Referenzdatum genutzt.
Beschreibung Ermittelt das numerische Minimum einer Liste. Die Liste kann als Liste (z.B. [2,3,4]) übergeben werden oder als String mit einem Trenner wie z.B. Komma (z.B. "2,3,4").
Parameter
Typ
Beschreibung
Gültige Werte
list
TEXT
The list of values as list or separated string.
delimiter(optional)
TEXT
optional delimiter
Beispiel
Ausgabe
${min([2,3,1,4,5])!}
1
${min("2,3,1,4,5")!}
1
${min("2,3,1,4,5", ",")!}
1
max(list, delimiter(optional))
Beschreibung Ermittelt das numerische Maximum einer Liste. Die Liste kann als Liste (z.B. [2,3,4]) übergeben werden oder als String mit einem Trenner wie z.B. Komma (z.B. "2,3,4").
Parameter
Typ
Beschreibung
Gültige Werte
list
TEXT
The list of values as list or separated string.
delimiter(optional)
TEXT
If no value is assigned comma (",") is assumed as default delimiter
Beispiel
Ausgabe
${max([2,3,1,5,4])!}
5
${max("2,3,1,5,4")!}
5
${max("2,3,1,5,4", ",")!}
5
deduplicate(list, delimiter(optional))
Beschreibung Gibt eine deduplizierte Liste aus. Die Liste kann als Liste (z.B. [2,3,4]) übergeben werden oder als String mit einem Trenner wie z.B. Komma (z.B. "2,3,4").
Parameter
Typ
Beschreibung
Gültige Werte
list
TEXT
The list of values as list or separated string.
delimiter(optional)
TEXT
optional delimiter
Beispiel
Ausgabe
${deduplicate([2,3,2,1,1,4,5])!}
[2,3,1,4,5]
${deduplicate("2,3,2,1,1,4,5")!}
[2,3,1,4,5]
${deduplicate("2,3,2,1,1,4,5", ",")!}
[2,3,1,4,5]
intersection(first list, second list, delimiter(optional))
Beschreibung Gibt die Schnittmenge (in beiden Listen enthaltene Elemente) zweier Listen aus. Die Listen können als Liste (z.B. [2,3,4]) übergeben werden oder als String mit einem Trenner wie z.B. Komma (z.B. "2,3,4").
Parameter
Typ
Beschreibung
Gültige Werte
first list
TEXT
The first list of values as list or separated string.
second list
TEXT
The second list of values as list or separated string.
symmetricdifference(first list, second list, delimiter(optional))
Beschreibung Gibt die Symmetrische Differenz (umgekehrte Schnittmenge) zweier Listen aus. Die Listen können als Liste (z.B. [2,3,4]) übergeben werden oder als String mit einem Trenner wie z.B. Komma (z.B. "2,3,4").
Parameter
Typ
Beschreibung
Gültige Werte
first list
TEXT
The first list of values as list or separated string.
second list
TEXT
The second list of values as list or separated string.
difference(first list, second list, delimiter(optional))
Beschreibung Gibt die Differenzmenge (erste Liste ohne in der zweite Liste enthaltenen Elemente) zweier Listen aus. Die Listen können als Liste (z.B. [2,3,4]) übergeben werden oder als String mit einem Trenner wie z.B. Komma (z.B. "2,3,4").
Parameter
Typ
Beschreibung
Gültige Werte
first list
TEXT
The first list of values as list or separated string.
second list
TEXT
The second list of values as list or separated string.
delimiter(optional)
TEXT
optional delimiter
Beispiel
Ausgabe
${difference([2,3,2,1,1,4,5], [1,2,4,6,7])!}
[3,5]
${difference("2,3,2,1,1,4,5", "1,2,4,6,7")!}
[3,5]
${difference("2,3,2,1,1,4,5", "1,2,4,6,7", ",")!}
[3,5]
union(first list, second list, delimiter(optional))
Beschreibung Gibt die Vereinigung (eindeutige Elemente beider Listen) zweier Listen aus. Die Listen können als Liste (z.B. [2,3,4]) übergeben werden oder als String mit einem Trenner wie z.B. Komma (z.B. "2,3,4").
Parameter
Typ
Beschreibung
Gültige Werte
first list
TEXT
The first list of values as list or separated string.
second list
TEXT
The second list of values as list or separated string.
delimiter(optional)
TEXT
optional delimiter
Beispiel
Ausgabe
${union([2,3,2,1,1,4,5], [1,2,4,6,7])!}
[2,3,1,4,5,6,7]
${union("2,3,2,1,1,4,5", "1,2,4,6,7")!}
[2,3,1,4,5,6,7]
${union("2,3,2,1,1,4,5", "1,2,4,6,7", ",")!}
[2,3,1,4,5,6,7]
gross(Number, Percent)
Beschreibung Errechnet zu einem Netto-Preis den Brutto-Preis zu einem gegebenem Steuersatz
Parameter
Typ
Beschreibung
Gültige Werte
Number
DECIMAL
Percent
DECIMAL
Beispiel
Ausgabe
${gross("84.03", "19.0")?string["#.00"]}
100.00
net(Number, Percent)
Beschreibung Errechnet zu einem Brutto-Preis den Netto-Preis zu einem gegebenem Steuersatz
Parameter
Typ
Beschreibung
Gültige Werte
Number
DECIMAL
Percent
DECIMAL
Beispiel
Ausgabe
${net("100.00", "19.0")?string["#.00"]}
84.03
round(Number, Scale, RoundingMode, RoundingValue)
Beschreibung Rundet einen numerischen Wert auf eine bestimmte Anzahlt Dezimalstellen und einem Rundungsmodus.
The base64 String of invoice2.pdf inside the FILELIST
substring_word(String, Integer)
Beschreibung kürzt einen anzugebenden String auf eine anzugebende Länge, vermeidet aber, dass Wörter mitten drin abgeschnitten werden. (Das Zeichen an dem gekürzt wird ist ein Leerzeichen)
Parameter
Typ
Beschreibung
Gültige Werte
String
TEXT
Input String
Integer
INTEGER
Character Position, where the substring is cut. The last whole word before the character position is included in the substring.
Beispiel
Ausgabe
${substring_word("abcd efgh", 6)!}
abcd
hextonumber(hex string)
Beschreibung Wandelt eine Hexadecimalzahl in eine Ganzzahl um. Unterstützt die Schreibweise mit 0x / # und ohne.
Parameter
Typ
Beschreibung
Gültige Werte
hex string
TEXT
The hex string
Beispiel
Ausgabe
${hextonumber("0x5b3f6601")}
1530881537
${hextonumber("#5b3f6601")}
1530881537
${hextonumber("5b3f6601")}
1530881537
numbertohex(number)
Beschreibung Wandelt eine Ganzzahl in eine Hexadezimalzahl um.
Parameter
Typ
Beschreibung
Gültige Werte
number
INTEGER
the integer number
Beispiel
Ausgabe
${numbertohex("1530881537")}
5b3f6601
getVariable(key, initialValue)
Beschreibung Funktion, um den Wert einer Variable zu lesen, die durch setVariable(k,v) gesetzt wurde.
Einschränkungen (z.B. funktioniert nur in bestimmten Steps) [APICall]
Parameter
Typ
Beschreibung
Gültige Werte
key
TEXT
Name of the variable.
initialValue
TEXT
Optional: initial default value which should be returned if no value is found for the key.
Beispiel
Ausgabe
${getVariable('mykey')}
${getVariable('mykey', 'myInitialValue')}
myInitialValue in case no value does exist for the key 'mykey'. Otherwise returns the actual value.
incCounter(counterName, increment)
Beschreibung Funktion, um eine Zählvariable (counter) hochzuzählen.
Einschränkungen (z.B. funktioniert nur in bestimmten Steps) [APICall]
Parameter
Typ
Beschreibung
Gültige Werte
counterName
TEXT
Name of the counter.
increment
INTEGER
Optional: value on how much to increment the counter. Default: 1
Beispiel
Ausgabe
${incCounter('myCounter')}
1
${incCounter('myCounter',5)}
5
nextUrl(url)
Beschreibung Funktion, die am Ende des parsingTemplate platziert wird und die aufzurufende URL für den nächsten Call definiert. Meistens wird diese Funktion zusammen mit der pagination() Funktion benutzt.
Einschränkungen (z.B. funktioniert nur in bestimmten Steps) [APICall]
Parameter
Typ
Beschreibung
Gültige Werte
url
TEXT
The URL to be called in the next call e,g. for pagination.
Beschreibung Helfer-Funktion, um die nächste URL für Pagination zu erzeugen. Das Ergebnis wird meist an die nextUrl() Funktion übergeben z.B. ${nextUrl( pagination(initialUrl, json["currentPage"]?number, json["totalCount"]?number, 500 ).plusOne("pageNumber")! )} Es gibt mehrere Funktionen, die verwendet werden können: plusOne() geht zur nächsten Seite, basierend auf der aktuellen Seite. Sie gibt einen leeren String zurück, wenn currentPage größer als die Gesamtzahl der möglichen Seiten ist, was als automatische Stopp-Bedingung dient. Die Funktion to() kann verwendet werden, um direkt zu einer bestimmten Seite zu gehen, indem der page-parametername überschrieben wird. Wenn die Seite eine Zahl ist, gibt diese Methode auch einen leeren String zurück, wenn die Seite größer ist als die Gesamtzahl der Seiten. Handelt es sich um eine Zeichenkette, wird immer die URL zurückgegeben, wobei der Page-Parametername ersetzt wird.
Einschränkungen (z.B. funktioniert nur in bestimmten Steps) [APICall]
Parameter
Typ
Beschreibung
Gültige Werte
currentUrl
TEXT
The current url from which the next call is constructed. Typically populated with host or initialUrl.
currentPage
INTEGER
The current page number you are on (e.g. 1).
totalCount
INTEGER
The total number of items of the result which should be paginated (e.g. 1000).
perPage
INTEGER
The number of items per page (e.g. 100). From this and totalCount the total number of pages is calculated.
Beschreibung Funktion, um eine Variable zu setzen, die dann in den folgenden Spalten und Zeilen wieder verfügbar ist. Verwenden sie die getVariable Funktion um den Wert zu erhalten. Die Anzahl der Schlüssel(key) ist beschränkt auf 1000. Die maximale Länge der Schlüssel(key) ist 255 Zeichen and die maximale Länge der Werte(value) ist 10000 Zeichen.
Einschränkungen (z.B. funktioniert nur in bestimmten Steps) [APICall]
Parameter
Typ
Beschreibung
Gültige Werte
key
TEXT
Name of the variable.
value
TEXT
Value of the variable.
Beispiel
Ausgabe
${setVariable('key','value')}
urlcontentBase64(url, testIfImageExists)
Beschreibung Wandelt eine URL (z.B. Bild-URL) in einen BASE64 String.
Einschränkungen (z.B. funktioniert nur in bestimmten Steps) [SpreadsheetURLDownload,APICall,UrlDownload]
Parameter
Typ
Beschreibung
Gültige Werte
url
TEXT
The URL to be downloaded and encoded to base64.
testIfImageExists
BOOLEAN
If true then a check if URL exists is executed (check if URL returns HTTP 200 with HEAD call). If false no check is performed. Default: true.
For batchSize > 1 (without the meta. prefix): <#assign base64img = urlcontentBase64('http://mywebsite.com/myimage.jpg', true)/><#if !base64img?startsWith('ERROR') >${base64img}</#if>
The base64 String of the image-URL
selectHTML(expression)
Beschreibung Selektiert ein bestimmtes HTML-Fragment mit einem CSS-Selektor (ähnlich zu jQuery). Es gibt eine List sog. JSOUP-Objekte zurück (https://jsoup.org/cookbook/extracting-data/attributes-text-html), die das HTML-Fragment repräsentieren und womit man auf HTML-Tags oder Attribute zugreifen kann.
Einschränkungen (z.B. funktioniert nur in bestimmten Steps) [HTMLParser,HTML2Spreadsheet]
Parameter
Typ
Beschreibung
Gültige Werte
expression
TEXT
The CSS-selector for the Elements.
Beispiel
Ausgabe
<#assign nodes = selectHTML("a") /><#list nodes as n>${n.text()} : ${n.attr("href")!}</#list>
Outputs the text and href-attribute of each link on the webpage.
addColumns(row, node, prefix, options)
Beschreibung Fügt alle Felder einer JSON Node als Spalten in einer Zeile des Ausgabe-Spreadsheets hinzu. Syntax: ${addColumns(row, node, prefix, options)}
Einschränkungen (z.B. funktioniert nur in bestimmten Steps) [JSONReader,APICall]
Parameter
Typ
Beschreibung
Gültige Werte
row
ROW
Row of the target / output Spreadsheet where the columns should be added.
node
NODE
The node of the JSON-structure from which the fields are extracted and added to the row.
prefix
TEXT
Optional: a prefix which is added to each column name.
options
TEXT
Optional: a hash / map containing configuration parameters which control how columns are added. See examples for syntax.
Beispiel
Ausgabe
${addColumns(row, node, 'prefix')}
add all fields of the node to the row and prefix all columns with 'prefix'
if item['tax_lines'] is a JsonArray, then a column will be added for each field of the ArrayElement and the values will be concatenated by custom delimited pipe
if item['tax_lines'] is a JsonArray, then a column will be added for each field of the ArrayElement and the values will be concatenated by custom delimited pipe. But only columns price and rate will be added.
if item['tax_lines'] is a JsonArray, then a column will be added for each field of the ArrayElement and the values will be concatenated by custom delimited pipe. But columns price and rate will be excluded.
if item['tax_lines'] is a JsonArray, then a column will be added for each field of the ArrayElement and the values will be concatenated by custom delimited pipe and each value is also surrounded by quotes (textqualifier)
flattenJson(row, node, prefix)
Beschreibung Fügt alle Felder einer JSON Node flach als Spalten in einer Zeile des Ausgabe-Spreadsheets hinzu. Syntax: ${flattenJson(row, node)}. Diese Funktion ist ähnlich wie addColumns(), aber einfacher, da Abflachung der json-Struktur automatisch erfolgt.
Einschränkungen (z.B. funktioniert nur in bestimmten Steps) [JSONReader,APICall]
Parameter
Typ
Beschreibung
Gültige Werte
row
ROW
Row of the target / output Spreadsheet where the columns should be added.
node
NODE
The node of the JSON-structure from which the fields are extracted and added to the row.
prefix
TEXT
Optional: a prefix which is added to each column name.
Beispiel
Ausgabe
${flattenJson(row, node)}
converts the JSON node to a flat key value map and add all fields to the row
${flattenJson(row, node, 'myprefix_')}
add all fields of node to the row and prefix all columns with prefix 'myprefix_'
addColumns(row, node, prefix, options)
Beschreibung Fügt alle Felder einer XML Node als Spalten in einer Zeile des Ausgabe-Spreadsheets hinzu. Syntax: ${addColumns(row, node, prefix, options)}
Einschränkungen (z.B. funktioniert nur in bestimmten Steps) [XMLReader]
Parameter
Typ
Beschreibung
Gültige Werte
row
ROW
Row of the target / output Spreadsheet where the columns should be added.
node
NODE
The node of the XML-structure from which the fields are extracted and added to the row.
prefix
TEXT
Optional: a prefix which is added to each column name.
options
TEXT
Optional: a hash / map containing configuration parameters which control how columns are added. See examples for syntax.
Beispiel
Ausgabe
${addColumns(row, node, 'prefix')}
add all fields of node to the row and prefix all fields with prefix
only add two columns sku and stock, but only if their values are not empty.
attr(attributeName, xmlNode)
Beschreibung Zugriff auf attribute von XML-Nodes. Syntax: ${attr("attributename", xmlnode)} Beispiel: <product category='myCat'> ${attr("category", xmlnode)} Ausgabe: myCat
Einschränkungen (z.B. funktioniert nur in bestimmten Steps) [XML2Spreadsheet]
Parameter
Typ
Beschreibung
Gültige Werte
attributeName
TEXT
Name of the attribute.
xmlNode
NODE
The XML-Node from which you want to access the attribute.
Beispiel
Ausgabe
${attr('myAttribute', xmlnode)}
Returns the value of the attribute with name myAttribute.
Filter and join columns()
Beschreibung Filtert Spalten mit einem Filter-Ausdruck (INCLUDE, INCLUDE_NOT_EMPTY oder EXCLUDE) und verbindet deren Werte mit einem Trenner. INCLUDE fügt alle Spalten ein, die auf den Filterausdruck passen. INCLUDE_NOT_EMPTY ebenso, jedoch nur für nicht-leere Spalten. EXCLUDE ist das Gegenteil und schließt alle Spalten aus, die auf den Filter passen. Das erste Beispiel verbindet die Spalte 'name' und alle Spalten die mit dem Prefix 'price' beginnen (z.B. price1, price2 usw.).
Einschränkungen (z.B. funktioniert nur in bestimmten Steps) [SpreadsheetMapper]
Beschreibung Funktion, um den Wert einer Variable zu lesen, die durch setVariable(k,v) gesetzt wurde.
Einschränkungen (z.B. funktioniert nur in bestimmten Steps) [SpreadsheetMapper]
Parameter
Typ
Beschreibung
Gültige Werte
key
TEXT
Name of the variable.
initialValue
TEXT
Optional: initial default value which should be returned if no value is found for the key.
Beispiel
Ausgabe
${getVariable('mykey')}
value
${getVariable('mykey', 'myInitialValue')}
myInitialValue in case no value does exist for the key 'mykey'. Otherwise returns the actual value.
setVariable(key, value)
Beschreibung Funktion, um eine Variable zu setzen, die dann in den folgenden Spalten und Zeilen wieder verfügbar ist. Verwenden sie die getVariable Funktion um den Wert zu erhalten. Die Anzahl der Schlüssel(key) ist beschränkt auf 1000. Die maximale Länge der Schlüssel(key) ist 255 Zeichen and die maximale Länge der Werte(value) ist 10000 Zeichen.
Einschränkungen (z.B. funktioniert nur in bestimmten Steps) [SpreadsheetMapper]