OPF
SpecDefinition referenceView source

List Variable

A list of strings, for bullets and list items. A whole-string array element 'var:<id>' splices every entry into the array in place; a whole field 'var:<id>' becomes the array; '{{<id>}}' joins the entries with ', ' (or the separator after a pipe: '{{<id>|; }}').

Metadata

Definition
#/$defs/ListVariable
Form
object
Source
spec/schemas/opf.schema.json

Field index

FieldTypeReq.Description
typeconstyesVariable kind. One of color, text, number, date, image, url or list.
type · Allowed values
"list"
valuearray<string>—Entries this variable resolves to.
requiredboolean—Whether the variable must be filled. Defaults to true: a variable with no 'value' is unfilled, and an unfilled required variable is an error in a normal deck and expected in a template. Set false for an optional slot: an unfilled optional variable resolves to empty text (inline tokens) or the field that references it is omitted.
labelstring—Optional short human label for forms and fill panels.
descriptionstring—Optional prose describing what the variable is for, surfaced by pickers, fill forms and agents.
examplearray<string>—Illustrative entries shown in fill forms and used when a template is previewed with examples. Never written to output.

type

typeconstrequiredyesdefault—

Variable kind. One of color, text, number, date, image, url or list.

type · Allowed values
"list"
Field fragment · type.json
{
  "type": "list"
}

value

typearray<string>requirednodefault—

Entries this variable resolves to.

required

typebooleanrequirednodefaulttrue

Whether the variable must be filled. Defaults to true: a variable with no 'value' is unfilled, and an unfilled required variable is an error in a normal deck and expected in a template. Set false for an optional slot: an unfilled optional variable resolves to empty text (inline tokens) or the field that references it is omitted.

label

typestringrequirednodefault—

Optional short human label for forms and fill panels.

description

typestringrequirednodefault—

Optional prose describing what the variable is for, surfaced by pickers, fill forms and agents.

example

typearray<string>requirednodefault—

Illustrative entries shown in fill forms and used when a template is previewed with examples. Never written to output.

Complete definition constraints
Exact schema constraints
{
  "type": "object",
  "required": [
    "type"
  ],
  "additionalProperties": false,
  "properties": {
    "type": {
      "type": "string",
      "const": "list",
      "description": "Variable kind. One of color, text, number, date, image, url or list."
    },
    "value": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Entries this variable resolves to."
    },
    "required": {
      "type": "boolean",
      "default": true,
      "description": "Whether the variable must be filled. Defaults to true: a variable with no 'value' is unfilled, and an unfilled required variable is an error in a normal deck and expected in a template. Set false for an optional slot: an unfilled optional variable resolves to empty text (inline tokens) or the field that references it is omitted."
    },
    "label": {
      "type": "string",
      "description": "Optional short human label for forms and fill panels."
    },
    "description": {
      "type": "string",
      "description": "Optional prose describing what the variable is for, surfaced by pickers, fill forms and agents."
    },
    "example": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Illustrative entries shown in fill forms and used when a template is previewed with examples. Never written to output."
    }
  },
  "description": "A list of strings, for bullets and list items. A whole-string array element 'var:<id>' splices every entry into the array in place; a whole field 'var:<id>' becomes the array; '{{<id>}}' joins the entries with ', ' (or the separator after a pipe: '{{<id>|; }}')."
}