annotate schemas/army.xsd @ 259:35dc06030355

Re #270: Add multiple categories to API * Add "category" attribute to army schema * Add method to define category when adding unit to army * Make army loading check new attribute and assign to correct category or main category TODO: Write out category of unit to army file
author IBBoard <dev@ibboard.co.uk>
date Wed, 19 May 2010 20:07:07 +0000
parents 2f8fd45d55e2
children c7a95912c1e8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
224
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
1 <?xml version="1.0"?>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ibboard.co.uk/warfoundry/army" xmlns="http://ibboard.co.uk/warfoundry/army" xmlns:core="http://ibboard.co.uk/warfoundry/core" elementFormDefault="qualified">
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
3 <xs:element name="army">
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
4 <xs:complexType>
249
2f8fd45d55e2 Fixes #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 244
diff changeset
5 <xs:sequence>
224
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
6 <xs:element name="units">
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
7 <xs:complexType>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
8 <xs:sequence>
240
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
9 <xs:element name="unit" minOccurs="0" maxOccurs="unbounded" type="unit"/>
224
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
10 </xs:sequence>
249
2f8fd45d55e2 Fixes #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 244
diff changeset
11 <xs:anyAttribute processContents="lax"/>
224
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
12 </xs:complexType>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
13 </xs:element>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
14 <xs:element name="customEquipment" minOccurs="0">
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
15 <xs:complexType>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
16 <xs:sequence>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
17 <xs:element name="customEquip" minOccurs="0" maxOccurs="unbounded">
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
18 <xs:complexType>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
19 <xs:sequence>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
20 <xs:element name="customEquipPart" maxOccurs="unbounded">
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
21 <xs:complexType>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
22 <xs:sequence>
244
9e4a78464b1a Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 243
diff changeset
23 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
224
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
24 </xs:sequence>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
25 <xs:attribute name="partIDRef" type="xs:string" />
244
9e4a78464b1a Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 243
diff changeset
26 <xs:anyAttribute processContents="lax"/>
224
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
27 </xs:complexType>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
28 </xs:element>
244
9e4a78464b1a Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 243
diff changeset
29 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
224
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
30 </xs:sequence>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
31 <xs:attribute name="id" type="xs:ID" />
244
9e4a78464b1a Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 243
diff changeset
32 <xs:anyAttribute processContents="lax"/>
224
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
33 </xs:complexType>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
34 </xs:element>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
35 </xs:sequence>
249
2f8fd45d55e2 Fixes #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 244
diff changeset
36 <xs:anyAttribute processContents="lax"/>
224
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
37 </xs:complexType>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
38 </xs:element>
244
9e4a78464b1a Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 243
diff changeset
39 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
249
2f8fd45d55e2 Fixes #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 244
diff changeset
40 </xs:sequence>
224
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
41 <xs:attribute name="id" type="xs:ID" />
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
42 <xs:attribute name="name" type="xs:string" use="required"/>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
43 <xs:attribute name="system" type="xs:string" use="required"/>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
44 <xs:attribute name="race" type="xs:string" use="required"/>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
45 <xs:attribute name="maxPoints" type="xs:positiveInteger" use="required"/>
244
9e4a78464b1a Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 243
diff changeset
46 <xs:anyAttribute processContents="lax"/>
224
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
47 </xs:complexType>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
48 </xs:element>
240
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
49
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
50 <!-- Re-usable complex types -->
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
51
243
b8883707c489 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 241
diff changeset
52 <xs:complexType name="unit">
249
2f8fd45d55e2 Fixes #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 244
diff changeset
53 <xs:sequence>
240
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
54 <xs:element name="equipment" minOccurs="0">
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
55 <xs:complexType>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
56 <xs:sequence>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
57 <xs:element name="equipItem" maxOccurs="unbounded">
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
58 <xs:complexType>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
59 <xs:sequence>
244
9e4a78464b1a Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 243
diff changeset
60 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
240
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
61 </xs:sequence>
249
2f8fd45d55e2 Fixes #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 244
diff changeset
62 <xs:attribute name="id" type="xs:string" use="required" />
240
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
63 <xs:attribute name="amount" type="core:nonNegativeOrInfiniteIntegerOrPercentage" use="required"/>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
64 <xs:attribute name="amountType" type="equipmentAmountType" default="ratio"/>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
65 <xs:attribute name="isCustomEquipment" type="xs:boolean" default="false"/>
244
9e4a78464b1a Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 243
diff changeset
66 <xs:anyAttribute processContents="lax"/>
240
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
67 </xs:complexType>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
68 </xs:element>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
69 </xs:sequence>
249
2f8fd45d55e2 Fixes #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 244
diff changeset
70 <xs:anyAttribute processContents="lax"/>
240
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
71 </xs:complexType>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
72 </xs:element>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
73 <xs:element name="contains" minOccurs="0">
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
74 <xs:complexType>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
75 <xs:sequence>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
76 <xs:element name="containedUnit">
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
77 <xs:complexType>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
78 <xs:sequence>
244
9e4a78464b1a Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 243
diff changeset
79 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
240
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
80 </xs:sequence>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
81 <xs:attribute name="containedID" type="xs:IDREF" use="required"/>
244
9e4a78464b1a Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 243
diff changeset
82 <xs:anyAttribute processContents="lax"/>
240
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
83 </xs:complexType>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
84 </xs:element>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
85 </xs:sequence>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
86 </xs:complexType>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
87 </xs:element>
244
9e4a78464b1a Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 243
diff changeset
88 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
249
2f8fd45d55e2 Fixes #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 244
diff changeset
89 </xs:sequence>
240
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
90 <xs:attribute name="id" type="xs:ID" />
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
91 <xs:attribute name="unitType" type="xs:string" use="required"/>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
92 <xs:attribute name="unitName" type="xs:string" use="required"/>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
93 <xs:attribute name="size" type="xs:positiveInteger" use="required"/>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
94 <xs:attribute name="race" type="xs:string" default=""/>
259
35dc06030355 Re #270: Add multiple categories to API
IBBoard <dev@ibboard.co.uk>
parents: 249
diff changeset
95 <xs:attribute name="category" type="xs:string" default=""/>
244
9e4a78464b1a Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 243
diff changeset
96 <xs:anyAttribute processContents="lax"/>
240
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
97 </xs:complexType>
38a4154c4537 Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents: 224
diff changeset
98
224
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
99 <xs:simpleType name="equipmentAmountType">
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
100 <xs:restriction base="xs:string">
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
101 <xs:enumeration value="ratio"/>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
102 <xs:enumeration value="fixed"/>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
103 </xs:restriction>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
104 </xs:simpleType>
f097888efcfe Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
105 </xs:schema>