Transformations

Transformationen werden in verschiedenen Teilen der Konfiguration unterstützt. Die Transformation der Werte erfolgt bei der Aufbereitung der Daten für die Rückgabe. Die Datenhaltung selbst bleibt unverändert. Alle Filterausdrücke wirken unabhängig von etwaigen Transformationen bei der Ausgabe und müssen auf der Basis der Werte in der Datenhaltung formuliert sein - die Transformationen sind i.A. nicht umkehrbar und eine Berücksichtigung der inversen Transformationen bei Filterausdrücken wäre kompliziert und nur unvollständig möglich.

NameDefaultBeschreibungTypSeit
rename
Benennt die Eigenschaft auf den angegebenen Namen um.
string
v2.0
remove
IN_COLLECTION (bis Version 3.0: OVERVIEW) unterdrückt die Objekteigenschaft bei der Features-Ressource (vor allem für die HTML-Ausgabe relevant), ALWAYS unterdrückt sie immer, NEVER nie.
string
v2.0
flatten
Flacht Objekt- oder Array-Properties unter Verwendung des gegebenen Trennzeichens ab. Ein Trennzeichen wird immer dann eingesetzt, wenn eine Eigenschaft multipel (ein Array) oder strukturiert (ein Objekt) ist. Im Fall eines Array ergeben sich die Namen der abgeflachten Eigenschaften aus dem Namen der Eigenschaft im Schema und der Position im Array, getrennt durch das Trennzeichen. Bei einer objektwertigen Eigenschaft ergeben sich die Namen der abgeflachten Eigenschaften aus dem Namen der objektwertigen Eigenschaft im Schema und den Namen der Eigenschaften im Datentyp des Objekts, ebenfalls getrennt durch das Trennzeichen. Erlaubt sind ".", "/", ":", oder "_". Kann nur auf der Feature-Ebene im Provider oder an anderen Stellen mittels des Wildcard Property-Names * angewendet werden.
string
v2.0
removeNullValues
true
Properties mit Wert null entfernen, inklusive Properties die mit nullify transformiert wurden. Kann nur auf der Feature-Ebene im Provider oder an anderen Stellen mittels des Wildcard Property-Names * angewendet werden.
boolean
v4.0
objectReduceFormat
Reduziert ein Objekt zu einem String mithilfe der stringFormat-Syntax aber mit zusätzlichen Ersetzungen für die Property-Names des Objekts.
string
v3.6
objectReduceSelect
Reduziert ein Objekt zu einem seiner Properties, der Wert ist der gewünschte Property-Name.
string
v3.6
objectRemoveSelect
Entfernt ein Objekt, wenn die Eigenschaft mit dem Namen im Wert null ist.
string
v3.6
objectMapFormat
Bildet ein Object auf ein anderes Object ab, der Wert ist eine Map bei der die Keys die neuen Property-Namen sind. Die Werte verwenden die stringFormat-Syntax aber mit zusätzlichen Ersetzungen für die Property-Names des Quell-Objekts.
object
v3.6
arrayReduceFormat
Reduziert ein Werte-Array zu einem String mithilfe der stringFormat-Syntax aber mit zusätzlichen Ersetzungen für die Array-Indizes.
string
v3.6
stringFormat
Der Wert wird in den angegebenen neuen Wert transformiert. {{value}} wird dabei durch den aktuellen Wert und {{serviceUr}} durch die Landing-Page-URI der API ersetzt. Bei {{value}} können noch weitere Filter ausgeführt werden, diese werden durch "|" getrennt. Diese Transformation ist nur bei STRING-wertigen Eigenschaften anwendbar. Ist der transformierte Wert für die HTML-Ausgabe gedacht, dann kann auch Markdown-Markup verwendet werden, dieser wird bei der HTML-Ausgabe aufbereitet.
string
v2.0
dateFormat
Der Wert wird unter Anwendung des angegebenen Patternsopen in new window transformiert. dd.MM.yyyy bildet den Wert zum Beispiel auf ein Datum nach deutscher Schreibweise ab. Diese Transformation ist nur bei DATETIME-wertigen Eigenschaften anwendbar.
string
v2.0
codelist
Bildet den Wert anhand der genannten Codelist ab. Falls der Wert nicht in der Codelist enthalten ist oder die Codelist nicht gefunden wird, bleibt der Wert unverändert. Diese Transformation ist nicht bei objektwertigen Eigenschaften anwendbar.
string
v2.0
nullify
Bildet alle Werte, die einem der regulären Ausdrücke in der Liste entsprechen, auf null ab. Diese Transformation ist nicht bei objektwertigen Eigenschaften anwendbar.
array
v2.0

String-Template-Filter

Mit den Filtern können Strings nachprozessiert werden. Es können mehrere Filter nacheinander ausgeführt werden, jeweils durch ein '|' getrennt.

Einige Beispiele:

{{value | replace:'\\s*[0-9].*$':''}} entfernt alle Leerzeichen und Ziffern am Ende des Werts (z.B. zum Entfernen von Hausnummern)

{{value | replace:'^[^0-9]*':''}} entfernt alle führenden Zeichen bis zur ersten Ziffer

{{value | prepend:'(' | append:')'}} ergänzt Klammern um den Text

{{value | toUpper}} wandelt den Text in Großbuchstaben um

{{value | toLower}} wandelt den Text in Kleinbuchstaben um

{{value | urlEncode}} kodiert Sonderzeichen im Text für die Nutzung in einer URI

{{value | unHtml}} entfernt HTML-Tags (z.B. zum Reduzieren eines HTML-Links auf den Link-Text)

[{{value}}](https://de.wikipedia.org/wiki/{{value | replace:' ':'_' | urlencode}}) wandelt einen Gemeindenamen in einen Markdown-Link zum Wikipedia-Eintrag der Gemeinde