1. Types
2. vapi
3. metadata
4. metamodel

## vapi metadata metamodel: element map

The `element_map` structure contains the metadata elements.

One of the sources for metadata is the annotations present in the interface definition language. When an annotation is represented in the `element_map`, `element_map` describes the data specified in the arguments for the annotation.

For example, in `@UnionCase(tag="tag", value="SELECT")`, ElementMap describes the keyword arguments tag and value.

### Representations:

- JSON
- XML

{
"elements": [
{
"key": "string",
"value": {
"list_value": [
"string",
"string"
],
"long_value": 1,
"string_value": "string",
"structure_id": "obj-103",
"structure_ids": [
"obj-103",
"obj-103"
],
"type": "LONG"
}
}
]
}
<?xml version="1.0" ?>
<ns0:ElementMap xmlns:ns0="http://vmware.com/vapi/metadata/metamodel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<elements-array>
<array-item>
<value>
<long_value>1</long_value>
<list_value-array>
<array-item>string</array-item>
<array-item>string</array-item>
</list_value-array>
<structure_id>obj-103</structure_id>
<structure_ids-array>
<array-item>obj-103</array-item>
<array-item>obj-103</array-item>
</structure_ids-array>
<string_value>string</string_value>
<type>LONG</type>
</value>
<key>string</key>
</array-item>
</elements-array>
</ns0:ElementMap>

#### Attributes:

Name | Type | Description
--- | --- | ---
Required
elements | list | Metamodel information of the metadata elements. The key parameter of the key/value pairs is the identifier for the element and the value corresponds to the element value. List of {"key": string, "value": element_value}