Map

Use the Map tag to create a map, also called an associative array.

A map is made of key-value pairs, where the key is used as an index for the value.

Give it a unique name with the name attribute.

<Map name=numbers>
  <Key one>One</Key>
  <Key two>Two</Key>
</Map>

The Key tag defines each key by name, and contains the value.

The above example in JavaScript notation looks like:

{
  one: 'One',
  two: 'Two'
}

List inside map

Use the List tag to set a list to a given key.

<Map name=numbers>
  <List one>
    <Item>1.1</Item>
    <Item>1.2</Item>
  </List>
  <List two>
    <Item>2.1</Item>
    <Item>2.2</Item>
  </List>
</Map>

The above example in JavaScript notation looks like:

{
  one: [
    '1.1',
    '1.2'
  ],
  two: [
    '2.1',
    '2.2'
  ]
}

Map from JSON

Set the json attribute to create a map from JSON string.

<Map name=numbers json>
{
  one: 'One',
  two: 'Two'
}
</Map>

It accepts Human JSON syntax, which supports comments, single quotes, and unquoted keys.

Map loop

Use the Loop tag and the map attribute to get multiple values from a map.

The Field tag gets each value by key.

<Loop map=numbers>
  <Field one />
  <Field two />
</Loop>

Map field

Use the Field tag and the map attribute to get a single value by key.

<Field two map=numbers />

Get map

Use the Get tag and the map attribute to get the whole map.

<Get map=numbers />

This outputs a JSON encoded string.