2
<!-- Pointless at the moment, but prepared for later -->
5
<!-- ATM, a map contain only one Field -->
8
- may have an axes declared
9
- need at least one spawn
10
- need at least one wall -->
11
<!ELEMENT Field (Axes?, Spawn+, Wall+, ObstacleWall*)>
13
<!-- <!ELEMENT Axes (Point*,Order)> -->
14
<!ELEMENT Axes (Axis*)>
15
<!ELEMENT Spawn EMPTY>
16
<!ELEMENT Wall (Point | SavePos | RestorePos | Line | Rectangle)+ >
17
<!ELEMENT Point EMPTY>
19
<!-- Experimental features -->
20
<!ELEMENT ObstacleWall (Point)+ >
21
<!ELEMENT SavePos EMPTY>
22
<!ELEMENT RestorePos EMPTY>
24
<!ELEMENT Rectangle EMPTY>
25
<!-- <!ELEMENT Order (PCDATA)> -->
27
<!ATTLIST World version CDATA #REQUIRED>
29
<!ATTLIST Map name CDATA #REQUIRED>
30
<!ATTLIST Map version CDATA #REQUIRED>
31
<!ATTLIST Map author CDATA #REQUIRED>
32
<!ATTLIST Map category CDATA "unsorted">
34
<!ATTLIST Axes number CDATA "4">
35
<!ATTLIST Axes normalize (true | false) "true">
37
<!ATTLIST Spawn x CDATA #REQUIRED>
38
<!ATTLIST Spawn y CDATA #REQUIRED>
39
<!ATTLIST Spawn xdir CDATA #IMPLIED>
40
<!ATTLIST Spawn ydir CDATA #IMPLIED>
41
<!ATTLIST Spawn angle CDATA #IMPLIED>
42
<!ATTLIST Spawn length CDATA "1.0">
44
<!-- <!ATTLIST Point num CDATA #IMPLIED> -->
45
<!ATTLIST Point x CDATA #REQUIRED>
46
<!ATTLIST Point y CDATA #REQUIRED>
48
<!ATTLIST Axis xdir CDATA #IMPLIED>
49
<!ATTLIST Axis ydir CDATA #IMPLIED>
50
<!ATTLIST Axis angle CDATA #IMPLIED>
51
<!ATTLIST Axis length CDATA "1.0">
53
<!ATTLIST Line startx CDATA #REQUIRED>
54
<!ATTLIST Line starty CDATA #REQUIRED>
55
<!ATTLIST Line endx CDATA #REQUIRED>
56
<!ATTLIST Line endy CDATA #REQUIRED>
58
<!ATTLIST Rectangle startx CDATA #REQUIRED>
59
<!ATTLIST Rectangle starty CDATA #REQUIRED>
60
<!ATTLIST Rectangle endx CDATA #REQUIRED>
61
<!ATTLIST Rectangle endy CDATA #REQUIRED>
63
<!ATTLIST ObstacleWall height CDATA "1.5">