# ExpressionVariableDefinitionType (Complex Type)

### Namespace: http://midpoint.evolveum.com/xml/ns/public/common/common-3

Definition of a variable. This type declares a variable name and defines the initial content of the variable.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
name | property QName | [1,1] | Variable name.
description | property string | [0,1] | Free-form textual description of the object.
documentation | property string | [0,1] | Technical documentation for a particular object or construct.
path | property ItemPathType | [0,1] |
objectRef | reference ObjectReferenceType | [0,1] | TODO
value | property anyType | [0,1] | Static value for the attribute or property.

- ### Items

  - #### name

    Flags: RAM,runtime

    Multiplicity: [1,1]

    Variable name. The variable will be presented to the expression using specified name. The name is a QName, which is good for XML-based expression languages such as XPath. For languages with flat names the namespace is fixed (see documentation of midPoint language binding) and the only relevant name is the local part.

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Free-form textual description of the object. It is supposed to describe the object or a construct that it is attached to.

    This information may be presented to midPoint users, even to ordinary end users. For example role description may be presented to users when they are selecting roles to request. Therefore the description should be written in a language that the users can understand.

    Description is assumed to be a plan, non-formatted text. Amount of white space is considered insignificant. E.g. leading and trailing white space may be skipped, multiple spaces can be collapsed to one and so on.

  - #### documentation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Technical documentation for a particular object or construct.

    The purpose of this element is to document system configuration and behavior. The documentation will not be presented to end users. In fact, it will probably not be presented at all in midPoint user interface. This documentation element is supposed to be a part of the technical documentation of midPoint deployment. The tools than generate deployment configuration will look for these elements and combine them to compiled documentation document.

    AsciiDoc formatting is assumed for this element. Any leading or trailing whitespace is skipped. Indentation equivalent to he indentation of the first non-blank line of text is also skipped.

  - #### path

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### objectRef

    Flags: RAM

    Multiplicity: [0,1]

    TODO

  - #### value

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Static value for the attribute or property. Static attribute values. The values in this element should be assigned to the account as-is. List of values for the attribute provided in an appropriate XML elements that specify attribute name. (as is usual for properties) Only one attribute may be specified here, although it may have multiple values. Multi-valued attributes are expressed by repeating the same XML element multiple times. Hence all the XML elements that match this xsd:any must have the same element names (may have different values of course). Please note that this is nillable and therefore it may be explicitly set to "nil" value. Doing this means that empty set of values should be constructed. E.g. setting this to "nil" and also setting "authoritative" flag may enforce removal of all attribute values (if used properly).