This programming language may be used to instruct a computer to perform a task.
Wesnoth Markup Language or WML is the configuration format for its computer game, the Battle for Wesnoth. WML files are plain text and consist of tags; and tags can contain key-value pairs and nested tags. WML describes parts of the game, such as units (like Elvish Fighters and Orcish Grunts) that do battle, and scenarios where armies must fight.
ActionWML responds to events during a scenario. ActionWML qualifies WML as a scripting language. The actions include modifying units, displaying message boxes, accessing variables, using
[while] control structures, and so on.
WML also includes a few sub-languages:
- WML Preprocessor allows macros in WML files. Macros are good for brevity, because a one-line macro might expand to a multi-line tag. Wesnoth also has many predefined macros.
- FormulaAI is a pure functional language. Its purpose is to customize AI of armies under computer control, but it can also do arithmetic and define functions.
- LuaWML embeds Lua inside WML. This is also the only way to define a custom WML tag.