--- title: macro - X4 schema type summary: macro: X4 attribute schema type: base types, constraints and value alternatives. 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 macro: X4 attribute schema type: base types, constraints and value alternatives. 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 | [`expression`](wiki:schema-expression-b8bc0e4f) | 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 Use the attribute pages below for contextual examples. A generic executable example is not inferred from a type name alone. ## Used by | Element | Attribute | Schema | | --- | --- | --- | | [`add_ammo`](wiki:api-md-add-ammo-63c792ae) | `macro` | `libraries/common.xsd` | | [`add_build_to_construct_ship`](wiki:api-md-add-build-to-construct-ship-ea0eff82) | `macro` | `libraries/common.xsd` | | [`create_lockbox`](wiki:api-md-create-lockbox-b0c24714) | `macro` | `libraries/common.xsd` | | [`create_object`](wiki:api-md-create-object-c1cb2a4c) | `macro` | `libraries/common.xsd` | | [`create_signal_leak`](wiki:api-md-create-signal-leak-376ceb34) | `macro` | `libraries/common.xsd` | | [`create_station`](wiki:api-md-create-station-1e683e8a) | `macro` | `libraries/common.xsd` | | [`launch_drone`](wiki:api-md-launch-drone-298f41e6) | `macro` | `libraries/common.xsd` | | [`launch_lasertower`](wiki:api-md-launch-lasertower-3b6fb740) | `macro` | `libraries/common.xsd` | | [`launch_mine`](wiki:api-md-launch-mine-1d2ce655) | `macro` | `libraries/common.xsd` | | [`launch_navbeacon`](wiki:api-md-launch-navbeacon-9cf9ca1f) | `macro` | `libraries/common.xsd` | | [`launch_resourceprobe`](wiki:api-md-launch-resourceprobe-0a15bde2) | `macro` | `libraries/common.xsd` | | [`launch_satellite`](wiki:api-md-launch-satellite-512daf91) | `macro` | `libraries/common.xsd` | | [`remove_ammo`](wiki:api-md-remove-ammo-41694ec0) | `macro` | `libraries/common.xsd` | | [`set_ammo`](wiki:api-md-set-ammo-dde800a4) | `macro` | `libraries/common.xsd` | [All schema types](wiki:schema-types) ยท [Lua / MD value types](wiki:types)