DSL Guide¶
The ETL Engine ships its own mapping language for the cases that Rabbit-in-a-Hat alone cannot express — joins, conditional chains, vocabulary lookups, multi-sized results, and so on. This guide covers the language in depth.
Pages¶
- Mapping Language Syntax — formal grammar and worked examples.
- Pipelines and Chaining — the
=>operator for explicit rule chains and named field bindings. - Conditional Chaining — the
||operator for fallbacks between rules. - Multi-Sized Results —
[]and[N]suffixes,LoopOver, and how multi-result rules fork execution paths. - Arrays and New Mode — the
ARRAYvalue type,new modeconfiguration, and array-aware rules. - ForEach and Blocks — the
|ForEach operator and block syntax. - Virtual Fields — defining and using virtual fields on CDM tables.
Where rules live in Rabbit-in-a-Hat¶
The engine reads rules from four places in the Rabbit-in-a-Hat model:
- Source-to-CDM table maps — rules placed on the arrow from a source table to a CDM table act as table-level rules.
- CDM tables — rules placed on a CDM table itself, in the
Commentsfield, with the prefixlogic:. - Source-to-CDM field maps — rules on the arrow from a source field to a CDM field; default behaviour for field-to-field mappings.
- CDM fields — rules placed on a CDM field, in the
Commentsfield, with the prefixlogic:(orfield:to declare a virtual field).
The full list of rules per category is in the Rule Reference.