--- title: lvalueexpression - X4 schema type summary: lvalueexpression: An expression identifying a writable destination, such as an MD variable; it is distinct from a Lua return. section: reference kind: guide status: reference updated: 2026-10-27 tags: ["XSD","schema","types"] sources: ["https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/","https://www.w3.org/TR/xmlschema11-2/"] --- ## Meaning lvalueexpression: An expression identifying a writable destination, such as an MD variable; it is distinct from a Lua return. An XSD type constrains XML, rather than declaring a Lua return or the payload type of event.param. A valid schema value does not prove a successful game effect. ## Schema structure `libraries/common.xsd` | Property | Value | | --- | --- | | Construction | `restriction` | | Base type | [`xs:string`](wiki:schema-xs-string-d5652e9b) | | Constraint | Value | | --- | --- | | `pattern` | ` *[$][a-zA-Z0-9_]+ *` | | `pattern` | ` *[A-Za-z_$(]([A-Za-z0-9_$!?@=<>,.+\-*/%\^(){}\[\] ]\|(#?'([^'\\]\|\\.)*'))*\. *((\{([A-Za-z0-9_$!?@=<>,.+\-*/%\^(){}\[\] ]\|(#?'([^'\\]\|\\.)*'))+\})\|([$][a-zA-Z0-9_]+)\|(last)) *` | | `pattern` | ` *(stat\|userdata) *\. *[a-zA-Z_][a-zA-Z0-9_]* *` | restriction narrows a base type; union accepts one of its branches; list describes whitespace-separated items. Enumeration values in one restriction are alternatives. Pattern syntax is XML Schema regex, not Lua patterns or JavaScript RegExp. Constraints inherited from the base type still apply. ## Example and result ```xml ``` **What happens:** After set_value, $Count contains 3; nothing is logged. Object and group variables must already exist in the correct MD / AI context. These are learning fragments, not a complete runnable mission. ## Used by | Element | Attribute | Schema | | --- | --- | --- | | [`add_actor_to_room`](wiki:api-md-add-actor-to-room-a7262e0f) | `result` | `libraries/common.xsd` | | [`add_cargo`](wiki:api-md-add-cargo-d6b6d899) | `result` | `libraries/common.xsd` | | [`assign_control_entity`](wiki:api-md-assign-control-entity-64681450) | `result` | `libraries/common.xsd` | | [`assign_hired_actor`](wiki:api-md-assign-hired-actor-5302d48b) | `success` | `libraries/common.xsd` | | [`assign_hired_actor`](wiki:api-md-assign-hired-actor-5302d48b) | `failed` | `libraries/common.xsd` | | [`can_safely_extend_build_plot`](wiki:api-md-can-safely-extend-build-plot-5fbc4847) | `result` | `libraries/common.xsd` | | [`check_any`](wiki:api-md-check-any-aee0eb8b) | `counter` | `libraries/aiscripts.xsd` | | [`check_any`](wiki:api-md-check-any-aee0eb8b) | `counter` | `libraries/md.xsd` | | [`create_group`](wiki:api-md-create-group-5c1abe75) | `groupname` | `libraries/common.xsd` | | [`create_loadout`](wiki:api-md-create-loadout-7d9c3f15) | `result` | `libraries/common.xsd` | | [`create_trade_computer`](wiki:api-md-create-trade-computer-1fac0bf4) | `result` | `libraries/common.xsd` | | [`do_all`](wiki:api-md-do-all-f36e9895) | `counter` | `libraries/aiscripts.xsd` | | [`do_all`](wiki:api-md-do-all-f36e9895) | `counter` | `libraries/md.xsd` | | [`do_for_each`](wiki:api-md-do-for-each-d6badbad) | `counter` | `libraries/aiscripts.xsd` | | [`do_for_each`](wiki:api-md-do-for-each-d6badbad) | `name` | `libraries/aiscripts.xsd` | | [`do_for_each`](wiki:api-md-do-for-each-d6badbad) | `valuename` | `libraries/aiscripts.xsd` | | [`do_for_each`](wiki:api-md-do-for-each-d6badbad) | `counter` | `libraries/md.xsd` | | [`do_for_each`](wiki:api-md-do-for-each-d6badbad) | `name` | `libraries/md.xsd` | | [`do_for_each`](wiki:api-md-do-for-each-d6badbad) | `valuename` | `libraries/md.xsd` | | [`drop_cargo`](wiki:api-md-drop-cargo-9784a5bc) | `groupname` | `libraries/common.xsd` | | [`drop_cargo`](wiki:api-md-drop-cargo-9784a5bc) | `wares` | `libraries/common.xsd` | | [`drop_cargo`](wiki:api-md-drop-cargo-9784a5bc) | `amounts` | `libraries/common.xsd` | | [`find_closest_resource`](wiki:api-md-find-closest-resource-23d3118c) | `zone` | `libraries/common.xsd` | | [`find_closest_resource`](wiki:api-md-find-closest-resource-23d3118c) | `sector` | `libraries/common.xsd` | | [`find_closest_resource`](wiki:api-md-find-closest-resource-23d3118c) | `distance` | `libraries/common.xsd` | | [`find_closest_resource`](wiki:api-md-find-closest-resource-23d3118c) | `position` | `libraries/common.xsd` | | [`find_closest_resource`](wiki:api-md-find-closest-resource-23d3118c) | `resourcearea` | `libraries/common.xsd` | | [`find_resource_area`](wiki:api-md-find-resource-area-d5916d00) | `name` | `libraries/common.xsd` | | [`find_sector_in_range`](wiki:api-md-find-sector-in-range-068400ed) | `distances` | `libraries/common.xsd` | | [`get_loadout`](wiki:api-md-get-loadout-4a88b9c5) | `result` | `libraries/common.xsd` | | [`get_ship_definition`](wiki:api-md-get-ship-definition-b11b5db2) | `macro` | `libraries/common.xsd` | | [`get_ship_definition`](wiki:api-md-get-ship-definition-b11b5db2) | `reference` | `libraries/common.xsd` | | [`launch_countermeasures`](wiki:api-md-launch-countermeasures-8cb7ea27) | `result` | `libraries/common.xsd` | | [`move_order`](wiki:api-md-move-order-7e338e6c) | `result` | `libraries/common.xsd` | | [`play_cutscene`](wiki:api-md-play-cutscene-7aa4f071) | `result` | `libraries/common.xsd` | | [`remove_cargo`](wiki:api-md-remove-cargo-c02ea811) | `result` | `libraries/common.xsd` | | [`reserve_build_plot`](wiki:api-md-reserve-build-plot-18a4f14d) | `result` | `libraries/common.xsd` | | [`result`](wiki:api-md-result-9e058700) | `killed` | `libraries/common.xsd` | | [`result`](wiki:api-md-result-9e058700) | `module` | `libraries/common.xsd` | | [`result`](wiki:api-md-result-9e058700) | `surfaceelement` | `libraries/common.xsd` | | [`result`](wiki:api-md-result-9e058700) | `sequence` | `libraries/common.xsd` | | [`result`](wiki:api-md-result-9e058700) | `removed` | `libraries/common.xsd` | | [`result`](wiki:api-md-result-9e058700) | `cost` | `libraries/common.xsd` | | [`result`](wiki:api-md-result-9e058700) | `context` | `libraries/common.xsd` | | [`result`](wiki:api-md-result-9e058700) | `position` | `libraries/common.xsd` | | [`result`](wiki:api-md-result-9e058700) | `room` | `libraries/common.xsd` | | [`result`](wiki:api-md-result-9e058700) | `tags` | `libraries/common.xsd` | | [`result`](wiki:api-md-result-9e058700) | `total` | `libraries/common.xsd` | | [`result`](wiki:api-md-result-9e058700) | `hullshield` | `libraries/common.xsd` | | [`result`](wiki:api-md-result-9e058700) | `hullonly` | `libraries/common.xsd` | | [`result`](wiki:api-md-result-9e058700) | `shieldonly` | `libraries/common.xsd` | | [`result`](wiki:api-md-result-9e058700) | `hullnoshield` | `libraries/common.xsd` | | [`result`](wiki:api-md-result-9e058700) | `shielddisruption` | `libraries/common.xsd` | | [`result`](wiki:api-md-result-9e058700) | `trader` | `libraries/common.xsd` | | [`result`](wiki:api-md-result-9e058700) | `tradepartner` | `libraries/common.xsd` | | [`transfer_money`](wiki:api-md-transfer-money-4fed01db) | `result` | `libraries/common.xsd` | [All schema types](wiki:schema-types) ยท [Lua / MD value types](wiki:types)