Mercurial > repos > IBDev-IBBoard.WarFoundry.API
comparison schemas/race.xsd @ 224:f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
* Rename "unitPoints" to "basePoints"
* Re-order schema to more sensible name
* Use new name in code when parsing XML (object property already has sensible name)
Also:
* Rename "dtds" folder to more accurate "schemas"
* Change references to folder in code
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Mon, 14 Dec 2009 20:50:39 +0000 |
parents | |
children | 0d5a17f33a36 |
comparison
equal
deleted
inserted
replaced
223:fe5a03d73918 | 224:f097888efcfe |
---|---|
1 <?xml version="1.0"?> | |
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:core="http://ibboard.co.uk/warfoundry/core" xmlns:cats="http://ibboard.co.uk/warfoundry/cats" | |
3 targetNamespace="http://ibboard.co.uk/warfoundry/race" xmlns="http://ibboard.co.uk/warfoundry/race" elementFormDefault="qualified"> | |
4 <xs:element name="race"> | |
5 <xs:complexType> | |
6 <xs:all> | |
7 <xs:element name="units"> | |
8 <xs:complexType> | |
9 <xs:sequence> | |
10 <xs:element name="unit" maxOccurs="unbounded"> | |
11 <xs:complexType> | |
12 <xs:all> | |
13 <xs:element name="stats"> | |
14 <xs:complexType> | |
15 <xs:sequence> | |
16 <xs:element name="stat" maxOccurs="unbounded"> | |
17 <xs:complexType> | |
18 <xs:simpleContent> | |
19 <xs:extension base="xs:string"> | |
20 <xs:attribute name="name" type="xs:string" use="required"/> | |
21 <xs:anyAttribute/> | |
22 </xs:extension> | |
23 </xs:simpleContent> | |
24 </xs:complexType> | |
25 </xs:element> | |
26 </xs:sequence> | |
27 <xs:attribute name="statSet" type="xs:string" default="" /> | |
28 <xs:anyAttribute/> | |
29 </xs:complexType> | |
30 </xs:element> | |
31 <xs:element name="equipmentSlots" minOccurs="0"> | |
32 <xs:complexType> | |
33 <xs:sequence> | |
34 <xs:element name="equipmentSlot" maxOccurs="unbounded"> | |
35 <xs:complexType> | |
36 <xs:all> | |
37 <xs:element name="maxLimit" minOccurs="0" type="core:limit" /> | |
38 <xs:element ref="core:extension" minOccurs="0" /> | |
39 </xs:all> | |
40 <xs:attribute name="name" type="xs:string" use="required"/> | |
41 <xs:anyAttribute/> | |
42 </xs:complexType> | |
43 </xs:element> | |
44 </xs:sequence> | |
45 </xs:complexType> | |
46 </xs:element> | |
47 <xs:element name="unitEquipment" minOccurs="0"> | |
48 <xs:complexType> | |
49 <xs:sequence> | |
50 <xs:element name="unitEquipmentItem" maxOccurs="unbounded"> | |
51 <xs:complexType> | |
52 <xs:all> | |
53 <xs:element name="minLimit" minOccurs="0" type="core:limit" /> | |
54 <xs:element name="maxLimit" minOccurs="0" type="core:limit" /> | |
55 <xs:element ref="core:extension" minOccurs="0" /> | |
56 </xs:all> | |
57 <xs:attribute name="id" type="xs:IDREF" /> | |
58 <xs:attribute name="required" type="xs:boolean" default="false"/> | |
59 <!-- exclusivityGroup is deprecated in favour of the comma-separated exclusivityGroups --> | |
60 <xs:attribute name="exclusivityGroup" type="xs:string" default=""/> | |
61 <xs:attribute name="exclusivityGroups" type="xs:string" default=""/> | |
62 <xs:attribute name="equipmentSlot" type="xs:string"/> | |
63 <xs:attribute name="roundDirection" type="core:updowntype" default="up"/> | |
64 <xs:attribute name="costMultiplier" type="core:nonNegativeDouble" default="1"/> | |
65 <xs:attribute name="costRounding" type="costroundingtype" default="UpToHalf"/> | |
66 <xs:anyAttribute/> | |
67 </xs:complexType> | |
68 </xs:element> | |
69 </xs:sequence> | |
70 <xs:anyAttribute/> | |
71 </xs:complexType> | |
72 </xs:element> | |
73 <xs:element name="unitAbilities" minOccurs="0"> | |
74 <xs:complexType> | |
75 <xs:sequence> | |
76 <xs:element name="unitAbility" maxOccurs="unbounded"> | |
77 <xs:complexType> | |
78 <xs:attribute name="abilityID" type="xs:IDREF" /> | |
79 <xs:attribute name="required" type="xs:boolean" default="true"/> | |
80 <xs:anyAttribute/> | |
81 </xs:complexType> | |
82 </xs:element> | |
83 </xs:sequence> | |
84 <xs:anyAttribute/> | |
85 </xs:complexType> | |
86 </xs:element> | |
87 <xs:element name="requirements" minOccurs="0"> | |
88 <xs:complexType> | |
89 <xs:sequence> | |
90 <xs:element name="requirement"> | |
91 <xs:complexType> | |
92 <xs:simpleContent> | |
93 <xs:extension base="xs:string"> | |
94 <xs:attribute name="requirementName" type="xs:string" use="required"/> | |
95 <xs:anyAttribute/> | |
96 </xs:extension> | |
97 </xs:simpleContent> | |
98 </xs:complexType> | |
99 </xs:element> | |
100 </xs:sequence> | |
101 <xs:anyAttribute/> | |
102 </xs:complexType> | |
103 </xs:element> | |
104 <xs:element name="contains" minOccurs="0"> | |
105 <xs:complexType> | |
106 <xs:sequence> | |
107 <xs:element name="containedUnit" maxOccurs="unbounded"> | |
108 <xs:complexType> | |
109 <xs:attribute name="containedID" type="xs:IDREF" use="required"/> | |
110 <xs:anyAttribute/> | |
111 </xs:complexType> | |
112 </xs:element> | |
113 </xs:sequence> | |
114 <xs:anyAttribute/> | |
115 </xs:complexType> | |
116 </xs:element> | |
117 <xs:element name="extraData" minOccurs="0"> | |
118 <xs:complexType> | |
119 <xs:sequence> | |
120 <xs:element name="data"> | |
121 <xs:complexType> | |
122 <xs:simpleContent> | |
123 <xs:extension base="xs:string"> | |
124 <xs:attribute name="id" type="xs:ID" use="required"/> | |
125 <xs:anyAttribute/> | |
126 </xs:extension> | |
127 </xs:simpleContent> | |
128 </xs:complexType> | |
129 </xs:element> | |
130 </xs:sequence> | |
131 <xs:anyAttribute/> | |
132 </xs:complexType> | |
133 </xs:element> | |
134 <xs:element name="notes" type="xs:string" minOccurs="0" /> | |
135 <xs:element ref="core:extension" minOccurs="0" /> | |
136 </xs:all> | |
137 <xs:attribute name="id" type="xs:ID" /> | |
138 <xs:attribute name="typeName" type="xs:string" use="required"/> | |
139 <xs:attribute name="cat" type="xs:string" use="required"/> | |
140 <xs:attribute name="unitPoints" type="core:nonNegativeNonInfiniteDouble" default="0"/> | |
141 <xs:attribute name="points" type="core:nonNegativeNonInfiniteDouble" use="required"/> | |
142 <xs:attribute name="minNum" type="xs:nonNegativeInteger" default="0"/> | |
143 <xs:attribute name="maxNum" type="core:positiveOrInfiniteInteger" default="-1"/> | |
144 <xs:attribute name="minSize" type="xs:nonNegativeInteger" default="5"/> | |
145 <xs:attribute name="maxSize" type="core:positiveOrInfiniteInteger" default="-1"/> | |
146 <xs:attribute name="baseSize" type="xs:nonNegativeInteger" default="0"/> | |
147 <xs:anyAttribute/> | |
148 </xs:complexType> | |
149 </xs:element> | |
150 </xs:sequence> | |
151 </xs:complexType> | |
152 </xs:element> | |
153 <xs:element name="categories" type="cats:categoriestype" minOccurs="0" /> | |
154 <xs:element name="equipment" minOccurs="0"> | |
155 <xs:complexType> | |
156 <xs:sequence> | |
157 <xs:element name="equipmentItem" maxOccurs="unbounded"> | |
158 <xs:complexType> | |
159 <xs:all> | |
160 <xs:element name="description" type="xs:string" minOccurs="0" /> | |
161 <xs:element ref="core:extension" minOccurs="0" /> | |
162 </xs:all> | |
163 <xs:attribute name="id" type="xs:ID" use="required"/> | |
164 <xs:attribute name="name" type="xs:string" use="required"/> | |
165 <xs:attribute name="cost" type="core:nonNegativeNonInfiniteDouble" use="required"/> | |
166 <xs:attribute name="armourType" type="armourtype" default="None"/> | |
167 <xs:anyAttribute/> | |
168 </xs:complexType> | |
169 </xs:element> | |
170 </xs:sequence> | |
171 <xs:anyAttribute/> | |
172 </xs:complexType> | |
173 </xs:element> | |
174 <xs:element name="abilities" minOccurs="0"> | |
175 <xs:complexType> | |
176 <xs:sequence> | |
177 <xs:element name="ability" maxOccurs="unbounded"> | |
178 <xs:complexType> | |
179 <xs:all> | |
180 <xs:element name="description" type="xs:string" /> | |
181 <xs:element ref="core:extension" minOccurs="0" /> | |
182 </xs:all> | |
183 <xs:attribute name="id" type="xs:ID" use="required"/> | |
184 <xs:attribute name="name" type="xs:string" use="required"/> | |
185 <xs:anyAttribute/> | |
186 </xs:complexType> | |
187 </xs:element> | |
188 </xs:sequence> | |
189 <xs:anyAttribute/> | |
190 </xs:complexType> | |
191 </xs:element> | |
192 <xs:element ref="core:extension" minOccurs="0" /> | |
193 </xs:all> | |
194 <xs:attribute name="id" type="xs:ID" /> | |
195 <xs:attribute name="subid" type="xs:string" default=""/> | |
196 <xs:attribute name="name" type="xs:string" use="required"/> | |
197 <xs:attribute name="system" type="xs:string" use="required"/> | |
198 <xs:anyAttribute/> | |
199 </xs:complexType> | |
200 </xs:element> | |
201 <xs:simpleType name="costroundingtype"> | |
202 <xs:restriction base="xs:string"> | |
203 <xs:enumeration value="Up"/> | |
204 <xs:enumeration value="Down"/> | |
205 <xs:enumeration value="Banker"/> | |
206 <xs:enumeration value="UpToHalf"/> | |
207 <xs:enumeration value="DownToHalf"/> | |
208 <xs:enumeration value="BankerToHalf"/> | |
209 </xs:restriction> | |
210 </xs:simpleType> | |
211 <xs:simpleType name="armourtype"> | |
212 <xs:restriction base="xs:string"> | |
213 <xs:enumeration value="None"/> | |
214 <xs:enumeration value="Shield"/> | |
215 <xs:enumeration value="LightArmour"/> | |
216 <xs:enumeration value="LightArmourShield"/> | |
217 <xs:enumeration value="HeavyArmour"/> | |
218 <xs:enumeration value="HeavyArmourShield"/> | |
219 <xs:enumeration value="Barding"/> | |
220 <xs:enumeration value="BardingShield"/> | |
221 <xs:enumeration value="BardingLightArmour"/> | |
222 <xs:enumeration value="BardingLightArmourShield"/> | |
223 <xs:enumeration value="BardingHeavyArmour"/> | |
224 <xs:enumeration value="BardingHeavyArmourShield"/> | |
225 </xs:restriction> | |
226 </xs:simpleType> | |
227 </xs:schema> |