DSL Syntax8 min readADVANCED
Reference Manual: Word (.DOCX) Questionnaire DSL Format
Complete technical specification for authoring surveys in Word (.docx): UI components, conditional logic, matrices, piping, and quotas.
#docx#word#dsl#questionnaire#specification#piping#quotas
Core Structural Directives#
- 1Question Identifiers: Each question must start on a new line with
S1.orQ15.(letter S/Q + integer + dot + space). - 2Block Separation: At least one blank line between questions; no blank lines within a single question's body.
- 3Matrices: The
ROWS:orCOLUMNS:header must precede its respective options list.
Supported UI Components#
- [SINGLE CODE]: Single exclusive choice.
- [MULTICODE]: Multiple choice with exclusivity flag (
[EXCLUSIVE]). - [OPEN ENDED; count=X; min=Y]: Open-ended single or multi-box text inputs.
- [OPEN NUMERIC; min-max; label]: Numeric inputs with range constraints and time unit calculations.
- [DROPDOWN] & [SHOW THE FOLLOWING IN A DROPDOWN]: Native dropdowns with context-aware group filtering.
- [COMBOBOX] & [MULTISELECT_COMBOBOX]: Searchable autocomplete select with auto-injected or custom
Otheroptions. - [MATRIX]: 2D grid matrix tables and horizontal Likert rating scales.
- [COMPONENT: STARTSTOPMONTH_YEAR]: Dual-range date picker with live chronologic validation.
Option Flags#
| Flag | Behavior |
|---|---|
[CLOSE] | Immediate respondent screenout. |
[EXCLUSIVE] | Automatically unchecks all other selections. |
[FIX] | Locks position, immune to randomizer. |
[OPEN END] | Renders an inline text specification box. |
[MUST] | Mandatory selection; omission causes screenout. |
[OR_MUST] | Disjunctive requirement across a group. |
[SKIP TO Qx] | Unconditional jump to target question. |
Quotas & Dynamic Piping#
- Piping: Inject prior answers via
[PIPE: S1]or loop iteration labels via[PIPE: ROW_LABEL]. - Media: Embed optimized images or download links with
[RESOURCE: filename.png]. - Quotas: Define strict ceiling or percentage limits inside
[QUOTAS] ... [END QUOTAS].
Was this article helpful?
Your feedback helps us continuously improve our technical guides.
Have a specific question not covered here?Contact Support