<!--  -->
<!-- Pointless at the moment, but prepared for later -->
<!ELEMENT World (Map)> 

<!-- ATM, a map contain only one Field -->
<!ELEMENT Map (Field)>
<!-- a field 
  - may have an axes declared
  - need at least one spawn
  - need at least one wall -->
<!ELEMENT Field (Axes?, Spawn+, Wall+)>

<!-- <!ELEMENT Axes (Point*,Order)> -->
<!ELEMENT Axes (Axis*)>
<!ELEMENT Spawn EMPTY> 
<!ELEMENT Wall (Point+) >
<!ELEMENT Point EMPTY>
<!ELEMENT Axis EMPTY>

<!-- <!ELEMENT Order (PCDATA)> -->

<!ATTLIST World version CDATA #REQUIRED>

<!ATTLIST Map name CDATA #REQUIRED>
<!ATTLIST Map version CDATA #REQUIRED>
<!ATTLIST Map author CDATA #REQUIRED>
<!ATTLIST Map category CDATA "unsorted">

<!ATTLIST Axes number CDATA "4">
<!ATTLIST Axes normalize (true | false) "true">

<!ATTLIST Spawn x CDATA #REQUIRED>
<!ATTLIST Spawn y CDATA #REQUIRED>
<!ATTLIST Spawn xdir CDATA #IMPLIED>
<!ATTLIST Spawn ydir CDATA #IMPLIED>
<!ATTLIST Spawn angle CDATA #IMPLIED>
<!ATTLIST Spawn length CDATA "1.0">

<!-- <!ATTLIST Point num CDATA #IMPLIED> -->
<!ATTLIST Point x CDATA #REQUIRED>
<!ATTLIST Point y CDATA #REQUIRED>

<!ATTLIST Axis xdir CDATA #IMPLIED>
<!ATTLIST Axis ydir CDATA #IMPLIED>
<!ATTLIST Axis angle CDATA #IMPLIED>
<!ATTLIST Axis length CDATA "1.0">
