[wml_schema] {./macros.cfg} {./types/basic.cfg} {./types/lists.cfg} [type] name="version" value="\d+\.\d+.*" [/type] [type] name="addon_type" value="core|campaign|scenario|campaign_sp_mp|era|faction|map_pack|campaign_mp|scenario_mp|mod_mp|media|other" [/type] [type] # This is a very loose definition of an email, but it should be sufficient for our purposes. name="email" value="[^@]+@[^@]+\.[^@.]+" [/type] [tag] name="root" {SIMPLE_KEY icon string} {REQUIRED_KEY title string} {REQUIRED_KEY version version} {REQUIRED_KEY author string} {REQUIRED_KEY description string} {SIMPLE_KEY dependencies string} {SIMPLE_KEY tags string} {SIMPLE_KEY type addon_type} {SIMPLE_KEY forum_auth bool} [if] [not] type=core [/not] [then] {SIMPLE_KEY core string} [/then] [/if] [if] [not] forum_auth=yes [/not] [then] {SIMPLE_KEY passphrase string} {SIMPLE_KEY email email} [/then] [else] {SIMPLE_KEY secondary_authors string_list} [/else] [/if] [tag] name="feedback" {REQUIRED_KEY topic_id unsigned} [/tag] [tag] name="translation" max=infinite {REQUIRED_KEY language string} {REQUIRED_KEY title string} {REQUIRED_KEY description string} [/tag] [/tag] [/wml_schema]