# VariableBindingDefinitionType (Complex Type)

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

Definition of variable which is bound to the property. This is used for mapping sources and targets or similar definitions that can work on properties of objects. It is designed to handle relativistic behavior.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
name | property QName | [0,1] |
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] | Path of the item (property) that is the target of the binding.
assignmentSubtype | property string | [0,1] | If the item is assignment, here we can restrict the set with specific assignment subtype.
set | property ValueSetDefinitionType | [0,1] | Definition of the set of values for this variable.
type | property QName | [0,1] | Type override.

- ### Items

  - #### name

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    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]

    Display order:

    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]

    Display order:

    Path of the item (property) that is the target of the binding. This is the item which is source/target of the mapping or which is used for the form field. The path may not be specified if it can be inferred by other means (e.g. using default source or target definitions). But even in a case that the path is default we may still want to define other aspects of the binding, e.g. the value set or type override.

  - #### assignmentSubtype

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    If the item is assignment, here we can restrict the set with specific assignment subtype. EXPERIMENTAL. Probably will be removed/replaced later.

  - #### set

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Definition of the set of values for this variable. The variable definition will be valid only for those variable. The evaluation of the set depends on the context that the definition is used. E.g. if the set is used in mapping source then it defines the domain of the expression. If it used in the mapping target definition then it defines range of the expression. Etc.

  - #### type

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Type override. Normally the field type will be determined by the type of backing item. This field can be used as type override if a different presentation is required. NOT IMPLEMENTED YET