Template Engine
This component allows you to format data using a Handlebars template. The result will be a rendered template based on the input. it can be used to template JSON, XML, CSV, and HTML files.
Configuration
Template
A language-agnostic template syntax. Multiple templates are available from the dropdown menu, they are divided into categories:
- Migration (JSON): Referring to Xill4 data model.
- ToPX (XML): Referring to ToPX data model.
- SPO (XML): Referring to Sharepoint Online data model.
Choose the option empty
to use an empty template, all templates are editable though.
Handlebars
This component lets you use Handlebars templates. More information about Handlebars can be found in this section
Output JSON result only
Removes the incoming message from the output.
Parse JSON result
When using templates that contain JSON objects, you can check Parse JSON result
to output objects instead of strings.
Parse ISO dates
Enables auto parsing of ISO dates to a date object.
Xsd schema (Validation)
By default no validation is selected, validation is added to outgoing messages by selecting one of the schemas in the dropdown. If the validation fails, the outgoing message will be sent to the error output.
No validation No validation on the templates Custom Add an own customized schema ToPX 2.3.1 ToPX 2.3.1 xsd-schema
Inputs
Input
An object containing the values for template variables, conditions, loops or filters.
The following input is used for two different custom
example templates:
Example input
{
"_id": "12345",
"kind": "BINARY",
"migration": {
"migrate": true
},
"source": {
"rawExtension": ".xlsx",
"extension": ".xlsx",
"byteSize": 5943,
"properties" : {
"category" : [1,2,3]
}
}
}
Example template XML
<?xml version="1.0" encoding="utf-8"?>
<file>
<kind>
"{{ kind }}""
</kind>
</file>
Example template JSON
{
"_id": "{{_id}}",
"kind": "BINARY",
"migration": {
"migrate": true
},
"source": {{stringify source}},
"target": {
"rawExtension": "{{source.rawExtension}}",
"extension": "{{source.extension}}",
"byteSize": {{source.byteSize}}
}
}
Outputs
Output
Rendered template based on the input and configuration used above.
Example Output JSON
{
"value": {
"_id": "12345",
"kind": "BINARY",
"migration": {
"migrate": true
},
"source": {
"rawExtension": ".xlsx",
"extension": ".xlsx",
"byteSize": 5943,
"properties": {
"category": [1,2,3]
}
}
},
"result": {
"_id": "12345",
"kind": "BINARY",
"migration": {
"migrate": true
},
"source": {
"rawExtension": ".xlsx",
"extension": ".xlsx",
"byteSize": 5943,
"properties": {
"category": [1,2,3]
}
},
"target": {
"rawExtension": ".xlsx",
"extension": ".xlsx",
"byteSize": 5943,
"properties": {
"category": [1,2,3],
"taxonomy": "default"
}
}
}
}