1<!ELEMENT available>
2<!ELEMENT brush EMPTY>
3<!ELEMENT coastline>
4<!ELEMENT color>
5<!ELEMENT customPlugin>
6<!ELEMENT dem>
7<!ELEMENT description (#PCDATA)>
8<!ELEMENT discrete>
9<!ELEMENT dgml (document)>
10<!ELEMENT document (head, map, settings, legend)>
11<!-- FIXME: specify downloadUrl attributes: protocol, user, password, host, port, path -->
12<!ELEMENT downloadUrl>
13<!ELEMENT filter>
14<!ELEMENT geodata (sourcefile, pick*)>
15<!ELEMENT group (group|property)*>
16<!ELEMENT head (name, target?, theme, icon?, visible?, description?, zoom?)>
17<!ELEMENT heading (#PCDATA)>
18<!ELEMENT icon EMPTY>
19<!ELEMENT installMap>
20<!ELEMENT item (icon|text)?>
21<!ELEMENT layer (texture* | vector* | geodata* | filter*)>
22<!ELEMENT legend (section|item)*>
23<!ELEMENT map (canvas, layer*, target, layer*)>
24<!ELEMENT maximum>
25<!ELEMENT minimum>
26<!ELEMENT name (#PCDATA)>
27<!ELEMENT palette>
28<!ELEMENT pen EMPTY>
29<!ELEMENT pick>
30<!-- FIXME: specify projection attributes: name -->
31<!ELEMENT projection>
32<!ELEMENT property (available?, value?)>
33<!ELEMENT section (heading, item*)>
34<!ELEMENT settings (group|property)*>
35<!ELEMENT sourceDir>
36<!ELEMENT sourceFile>
37<!-- FIXME: specify storageLayout attributes: levelZeroColumns, levelZeroRows, mode -->
38<!ELEMENT storageLayout (#PCDATA)>
39<!ELEMENT target EMPTY>
40<!ELEMENT text (#PCDATA)>
41<!ELEMENT texture (sourcedir, installmap?, storageLayout?, projection?, downloadUrl?)>
42<!ELEMENT theme (#PCDATA)>
43<!ELEMENT value>
44<!ELEMENT vector (sourcefile, pen?, brush?)>
45<!ELEMENT visible>
46<!ELEMENT zoom ((minimum, maximum)?, discrete?)>
47