state.xsd 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  3. <xs:element name="state" type="statetype"/>
  4. <xs:simpleType name="statetypetype" final="restriction">
  5. <xs:restriction base="xs:string">
  6. <xs:enumeration value="before_battle"/>
  7. <xs:enumeration value="during_battle"/>
  8. </xs:restriction>
  9. </xs:simpleType>
  10. <xs:simpleType name="sidetype" final="restriction">
  11. <xs:restriction base="xs:string">
  12. <xs:enumeration value="DE"/>
  13. <xs:enumeration value="URSS"/>
  14. <xs:enumeration value="US"/>
  15. </xs:restriction>
  16. </xs:simpleType>
  17. <xs:simpleType name="modetype" final="restriction">
  18. <xs:restriction base="xs:string">
  19. <xs:enumeration value="standup"/>
  20. <xs:enumeration value="defending"/>
  21. <xs:enumeration value="hiding"/>
  22. </xs:restriction>
  23. </xs:simpleType>
  24. <xs:simpleType name="positiontype">
  25. <xs:restriction base="xs:string">
  26. <xs:pattern value="[0-9]+,[0-9]+"/>
  27. </xs:restriction>
  28. </xs:simpleType>
  29. <xs:simpleType name="directiontype">
  30. <xs:restriction base="xs:positiveInteger"/>
  31. </xs:simpleType>
  32. <xs:complexType name="statetype">
  33. <xs:sequence>
  34. <xs:element name="map" type="maptype" maxOccurs="1"/>
  35. <xs:element name="subjects" type="subjectstype"/>
  36. </xs:sequence>
  37. <xs:attribute name="type" type="statetypetype" use="required"/>
  38. </xs:complexType>
  39. <xs:complexType name="subjectstype">
  40. <xs:sequence>
  41. <xs:element name="subject" type="subjecttype" maxOccurs="unbounded"/>
  42. </xs:sequence>
  43. </xs:complexType>
  44. <xs:complexType name="subjecttype">
  45. <xs:sequence>
  46. <xs:element name="type" type="xs:string"/>
  47. <xs:element name="position" type="positiontype"/>
  48. <xs:element name="direction" type="directiontype"/>
  49. <xs:element name="mode" type="modetype"/>
  50. <xs:element name="side" type="sidetype"/>
  51. </xs:sequence>
  52. </xs:complexType>
  53. <xs:complexType name="maptype">
  54. <xs:sequence>
  55. <xs:element name="name" type="xs:string"/>
  56. </xs:sequence>
  57. </xs:complexType>
  58. </xs:schema>