Mercurial > repos > IBDev-IBBoard.WarFoundry.API
comparison dtds/race.xsd @ 23:f9846f896df3
Re #32 - Migrate WarFoundry files to using Schemas
* Add missing spaces to Cats and Core XSD
* Fix some incorrect namespaces in Race XSD
* Copy schemas to output dir on build
* Make WarFoundryXmlFactory validate against Schemas
* Make WarFoundryLoader handle failed file loads slightly differently so that we can log out as a warning
* Correctly structure "simpleContent" sections of Race XSD
Still to do:
* Work out why Race XSD doesn't like core:nonNegativeDecimal but appears to be fine with core:percentage
* Migrate test files to define namespaces and make sure they match the structure
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Thu, 12 Mar 2009 21:35:17 +0000 |
parents | 28e99aa0053f |
children | 72312a7ac08a |
comparison
equal
deleted
inserted
replaced
22:28e99aa0053f | 23:f9846f896df3 |
---|---|
26 <xs:element name="unitEquipment" type="unitequipmenttype" /> | 26 <xs:element name="unitEquipment" type="unitequipmenttype" /> |
27 <xs:element name="unitAbilities" type="unitabilitiestype" /> | 27 <xs:element name="unitAbilities" type="unitabilitiestype" /> |
28 <xs:element name="requirements" type="requirementstype" /> | 28 <xs:element name="requirements" type="requirementstype" /> |
29 <xs:element name="contains" type="containstype" /> | 29 <xs:element name="contains" type="containstype" /> |
30 <xs:element name="extraData" type="extradatatype" /> | 30 <xs:element name="extraData" type="extradatatype" /> |
31 <xs:element name="notes" type="xsd:string" /> | 31 <xs:element name="notes" type="xs:string" /> |
32 </xs:all> | 32 </xs:all> |
33 <xs:attribute name="id" type="xs:ID" /> | 33 <xs:attribute name="id" type="xs:ID" /> |
34 <xs:attribute name="typeName" type="xs:string" use="required"/> | 34 <xs:attribute name="typeName" type="xs:string" use="required"/> |
35 <xs:attribute name="cat" type="xs:string" use="required"/> | 35 <xs:attribute name="cat" type="xs:string" use="required"/> |
36 <xs:attribute name="unitPoints" type="core:nonNegativeDecimal" default="0"/> | 36 <xs:attribute name="unitPoints" type="core:nonNegativeDecimal" default="0"/> |
37 <xs:attribute name="points" type="core:nonNegativeDecimal" use="required"/> | 37 <xs:attribute name="points" type="core:nonNegativeDecimal" use="required"/> |
38 <xs:attribute name="minNumber" type="core:nonNegativeInteger" default="0"/> | 38 <xs:attribute name="minNumber" type="core:nonNegativeInteger" default="0"/> |
39 <xs:attribute name="maxNumber" type="core:infiniteOrNonNegativeInteger" default="-1"/> | 39 <xs:attribute name="maxNumber" type="core:infiniteOrNonNegativeInteger" default="-1"/> |
40 <xs:attribute name="minSize" type="core:positiveInteger" default="5"/> | 40 <xs:attribute name="minSize" type="core:positiveInteger" default="5"/> |
41 <xs:attribute name="maxSize" type="core:infiniteOrNonNegativeInteger" default="-1"/> | 41 <xs:attribute name="maxSize" type="core:infiniteOrNonNegativeInteger" default="-1"/> |
42 <xs:attribute name="baseSize" type="xsd:nonNegativeInteger" default="0"/> | 42 <xs:attribute name="baseSize" type="xs:nonNegativeInteger" default="0"/> |
43 </xs:complexType> | 43 </xs:complexType> |
44 <xs:complexType name="statstype"> | 44 <xs:complexType name="statstype"> |
45 <xs:sequence> | 45 <xs:sequence> |
46 <xs:element name="stat" type="stattype" minOccurs="1" maxOccurs="unbounded"/> | 46 <xs:element name="stat" type="stattype" minOccurs="1" maxOccurs="unbounded"/> |
47 </xs:sequence> | 47 </xs:sequence> |
48 </xs:complexType> | 48 </xs:complexType> |
49 <xs:complexType name="stattype"> | 49 <xs:complexType name="stattype"> |
50 <xs:simpleContent> | 50 <xs:simpleContent> |
51 <xs:extension base="xs:string"/> | 51 <xs:extension base="xs:string"> |
52 <xs:attribute name="name" type="xs:string" use="required"/> | |
53 </xs:extension> | |
52 </xs:simpleContent> | 54 </xs:simpleContent> |
53 <xs:attribute name="name" type="xs:string" use="required"/> | |
54 </xs:complexType> | 55 </xs:complexType> |
55 <xs:complexType name="unitequipmenttype"> | 56 <xs:complexType name="unitequipmenttype"> |
56 <xs:sequence> | 57 <xs:sequence> |
57 <xs:element name="unitEquipmentItem" type="unitequipmentitemtype" maxOccurs="unbounded"/> | 58 <xs:element name="unitEquipmentItem" type="unitequipmentitemtype" maxOccurs="unbounded"/> |
58 </xs:sequence> | 59 </xs:sequence> |
87 <xs:element name="requirement" type="requirementtype"/> | 88 <xs:element name="requirement" type="requirementtype"/> |
88 </xs:sequence> | 89 </xs:sequence> |
89 </xs:complexType> | 90 </xs:complexType> |
90 <xs:complexType name="requirementtype"> | 91 <xs:complexType name="requirementtype"> |
91 <xs:simpleContent> | 92 <xs:simpleContent> |
92 <xs:extension base="xs:string"/> | 93 <xs:extension base="xs:string"> |
94 <xs:attribute name="requirementName" type="xs:string" use="required"/> | |
95 </xs:extension> | |
93 </xs:simpleContent> | 96 </xs:simpleContent> |
94 <xs:attribute name="requirementName" type="xs:string" use="required"/> | |
95 </xs:complexType> | 97 </xs:complexType> |
96 <xs:complexType name="containstype"> | 98 <xs:complexType name="containstype"> |
97 <xs:sequence> | 99 <xs:sequence> |
98 <xs:element name="containedUnit" type="containedunittype"/> | 100 <xs:element name="containedUnit" type="containedunittype"/> |
99 </xs:sequence> | 101 </xs:sequence> |
106 <xs:element name="data" type="extradatadatatype"/> | 108 <xs:element name="data" type="extradatadatatype"/> |
107 </xs:sequence> | 109 </xs:sequence> |
108 </xs:complexType> | 110 </xs:complexType> |
109 <xs:complexType name="extradatadatatype"> | 111 <xs:complexType name="extradatadatatype"> |
110 <xs:simpleContent> | 112 <xs:simpleContent> |
111 <xs:extension base="xs:string"/> | 113 <xs:extension base="xs:string"> |
114 <xs:attribute name="id" type="xs:ID" use="required"/> | |
115 </xs:extension> | |
112 </xs:simpleContent> | 116 </xs:simpleContent> |
113 <xs:attribute name="id" type="xs:ID" use="required"/> | |
114 </xs:complexType> | 117 </xs:complexType> |
115 <xs:complexType name="equipmenttype"> | 118 <xs:complexType name="equipmenttype"> |
116 <xs:sequence> | 119 <xs:sequence> |
117 <xs:element name="equipmentItem" type="equipmentitemtype"/> | 120 <xs:element name="equipmentItem" type="equipmentitemtype"/> |
118 </xs:sequence> | 121 </xs:sequence> |
119 </xs:complexType> | 122 </xs:complexType> |
120 <xs:complexType name="equipmentitemtype"> | 123 <xs:complexType name="equipmentitemtype"> |
121 <xs:all> | 124 <xs:all> |
122 <xs:element name="description" type="xsd:string" /> | 125 <xs:element name="description" type="xs:string" /> |
123 </xs:all> | 126 </xs:all> |
124 <xs:attribute name="id" type="xs:ID" use="required"/> | 127 <xs:attribute name="id" type="xs:ID" use="required"/> |
125 <xs:attribute name="name" type="xs:string" use="required"/> | 128 <xs:attribute name="name" type="xs:string" use="required"/> |
126 <xs:attribute name="points" type="core:nonNegativeDecimal" use="required"/> | 129 <xs:attribute name="points" type="core:nonNegativeDecimal" use="required"/> |
127 </xs:complexType> | 130 </xs:complexType> |
130 <xs:element name="equipmentItem" type="equipmentitemtype"/> | 133 <xs:element name="equipmentItem" type="equipmentitemtype"/> |
131 </xs:sequence> | 134 </xs:sequence> |
132 </xs:complexType> | 135 </xs:complexType> |
133 <xs:complexType name="equipmentitemtype"> | 136 <xs:complexType name="equipmentitemtype"> |
134 <xs:all> | 137 <xs:all> |
135 <xs:element name="description" type="xsd:string" /> | 138 <xs:element name="description" type="xs:string" /> |
136 </xs:all> | 139 </xs:all> |
137 <xs:attribute name="id" type="xs:ID" use="required"/> | 140 <xs:attribute name="id" type="xs:ID" use="required"/> |
138 <xs:attribute name="name" type="xs:string" use="required"/> | 141 <xs:attribute name="name" type="xs:string" use="required"/> |
139 <xs:attribute name="points" type="core:nonNegativeDecimal" use="required"/> | 142 <xs:attribute name="points" type="core:nonNegativeDecimal" use="required"/> |
140 <xs:attribute name="armoutType" type="armourtype" default="none"/> | 143 <xs:attribute name="armoutType" type="armourtype" default="none"/> |
141 </xs:complexType> | 144 </xs:complexType> |
142 <xs:simpleType name="armourtype"> | 145 <xs:simpleType name="armourtype"> |
143 <xs:restriction base="xsd:string"> | 146 <xs:restriction base="xs:string"> |
144 <xs:enumeration value="None"/> | 147 <xs:enumeration value="None"/> |
145 <xs:enumeration value="Shield"/> | 148 <xs:enumeration value="Shield"/> |
146 <xs:enumeration value="LightArmour"/> | 149 <xs:enumeration value="LightArmour"/> |
147 <xs:enumeration value="LightArmourShield"/> | 150 <xs:enumeration value="LightArmourShield"/> |
148 <xs:enumeration value="HeavyArmour"/> | 151 <xs:enumeration value="HeavyArmour"/> |
160 <xs:element name="ability" type="abilitytype"/> | 163 <xs:element name="ability" type="abilitytype"/> |
161 </xs:sequence> | 164 </xs:sequence> |
162 </xs:complexType> | 165 </xs:complexType> |
163 <xs:complexType name="abilitytype"> | 166 <xs:complexType name="abilitytype"> |
164 <xs:all> | 167 <xs:all> |
165 <xs:element name="description" type="xsd:string" /> | 168 <xs:element name="description" type="xs:string" /> |
166 </xs:all> | 169 </xs:all> |
167 <xs:attribute name="id" type="xs:ID" use="required"/> | 170 <xs:attribute name="id" type="xs:ID" use="required"/> |
168 <xs:attribute name="name" type="xs:string" use="required"/> | 171 <xs:attribute name="name" type="xs:string" use="required"/> |
169 </xs:complexType> | 172 </xs:complexType> |
170 </xs:schema> | 173 </xs:schema> |