#define SIMPLE_KEY NAME TYPE [key] name="{NAME}" type="{TYPE}" [/key] #enddef #define DEFAULT_KEY NAME TYPE DEFAULT [key] name="{NAME}" type="{TYPE}" default={DEFAULT} [/key] #enddef #define REQUIRED_KEY NAME TYPE [key] name="{NAME}" type="{TYPE}" mandatory=yes [/key] #enddef #define DEPRECATED_KEY NAME TYPE [key] name="{NAME}" type="{TYPE}" deprecated=yes [/key] #enddef # Use to specify that unknown keys are always valid in a tag #define ANY_KEY TYPE [key] name="*" type="{TYPE}" [/key] #enddef # Defines a tag that must contain no content #define EMPTY_TAG NAME MIN MAX [tag] name="{NAME}" min={MIN} max={MAX} [/tag] #enddef # Defines a tag that can contain any arbitrary content #define DATA_TAG NAME MIN MAX TYPE [tag] name="{NAME}" min={MIN} max={MAX} any_tag=yes {SIMPLE_KEY * {TYPE}} [/tag] #enddef #define LINK_TAG PATH [link] name="{PATH}" [/link] #enddef # These are "magic" keys allowed whenever two WML tags are merged. #define WML_MERGE_KEYS {SIMPLE_KEY __remove bool} {SIMPLE_KEY add_to_* int} {SIMPLE_KEY concat_to_* string} #enddef