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.
Name | Default | Beschreibung | Typ | Seit |
---|---|---|---|---|
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 Patterns 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. Es wird nicht mehr empfohlen, codelist -Transformationen im Feature-Provider oder im Service anzugeben. Stattdessen sollten Codelisten, die mit einer Eigenschaft verbunden sind, durch die constraints der Eigenschaft angegeben werden. Nur die Verwendung in constraints ermöglicht die Steuerung der Repräsentation der Werte über den profile -Query-Parameter. | string | v2.0 | |
map | Bildet den Wert anhand der gegebenen Map ab. Falls der Wert keinen passenden Eintrag hat, bleibt der Wert unverändert. Ein Fallback-Mapping kann mit dem Schlüssel * angegeben werden. | object | 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