annotate dtds/army.xsd @ 112:863518044d38

Re #54: Add Army support to WarFoundryFactory * Stop "custom equipment" node being mandatory * Remove unused "ratio" definition * Change "integer or ratio" definition to "integer or percentage" * Use "integer or percentage" definition in army XSD * Add exception to say that required objects were missing (Game System and Race) * Throw exceptions on creating army if game system or race is missing Re #53: Add saving of Army to XML file * Add namespace attributes to XML root node
author IBBoard <dev@ibboard.co.uk>
date Sat, 22 Aug 2009 18:18:20 +0000
parents 2060f23abee9
children 7b98e71b8511
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
36
0a1c5fea6a08 Re #32 - Migrate to schemas
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
1 <?xml version="1.0"?>
72
e7a6f460be57 Re #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 60
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">
36
0a1c5fea6a08 Re #32 - Migrate to schemas
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
3 <xs:element name="army">
74
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
4 <xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
5 <xs:all>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
6 <xs:element name="units" minOccurs="1">
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
7 <xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
8 <xs:sequence>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
9 <xs:element name="unit" minOccurs="0" maxOccurs="unbounded">
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
10 <xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
11 <xs:all>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
12 <xs:element name="equipment" minOccurs="0" maxOccurs="1">
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
13 <xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
14 <xs:sequence>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
15 <xs:element name="equipItem" minOccurs="1" maxOccurs="unbounded">
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
16 <xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
17 <xs:attribute name="id" type="xs:string" /> <!-- ID reference to either a custom equipment item or a Race equipment item -->
112
863518044d38 Re #54: Add Army support to WarFoundryFactory
IBBoard <dev@ibboard.co.uk>
parents: 108
diff changeset
18 <xs:attribute name="amount" type="core:nonNegativeOrInfiniteIntegerOrPercentage" use="required"/><!-- Double used to allow for percentages to be stored -->
108
2060f23abee9 Re #53: Create XML saver
IBBoard <dev@ibboard.co.uk>
parents: 74
diff changeset
19 <xs:attribute name="amountType" type="equipmentAmountType" default="ratio"/>
74
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
20 <xs:attribute name="isCustomEquipment" type="xs:boolean" default="false"/>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
21 </xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
22 </xs:element>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
23 </xs:sequence>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
24 </xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
25 </xs:element>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
26 <xs:element name="contains" minOccurs="0">
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
27 <xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
28 <xs:sequence>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
29 <xs:element name="containedUnit">
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
30 <xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
31 <xs:attribute name="containedID" type="xs:IDREF" use="required"/>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
32 </xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
33 </xs:element>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
34 </xs:sequence>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
35 </xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
36 </xs:element>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
37 </xs:all>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
38 <xs:attribute name="id" type="xs:ID" />
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
39 <xs:attribute name="unitType" type="xs:string" use="required"/>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
40 <xs:attribute name="unitName" type="xs:string" use="required"/>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
41 <xs:attribute name="size" type="xs:positiveInteger" use="required"/>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
42 <xs:attribute name="race" type="xs:string" default=""/>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
43 </xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
44 </xs:element>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
45 </xs:sequence>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
46 </xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
47 </xs:element>
112
863518044d38 Re #54: Add Army support to WarFoundryFactory
IBBoard <dev@ibboard.co.uk>
parents: 108
diff changeset
48 <xs:element name="customEquipment" minOccurs="0">
74
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
49 <xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
50 <xs:sequence>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
51 <xs:element name="customEquip" minOccurs="0" maxOccurs="unbounded">
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
52 <xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
53 <xs:sequence>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
54 <xs:element name="customEquipPart" minOccurs="1" maxOccurs="unbounded">
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
55 <xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
56 <xs:attribute name="partIDRef" type="xs:string" />
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
57 </xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
58 </xs:element>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
59 </xs:sequence>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
60 <xs:attribute name="id" type="xs:ID" />
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
61 </xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
62 </xs:element>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
63 </xs:sequence>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
64 </xs:complexType>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
65 </xs:element>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
66 </xs:all>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
67 <xs:attribute name="id" type="xs:ID" />
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
68 <xs:attribute name="name" type="xs:string" use="required"/>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
69 <xs:attribute name="system" type="xs:string" use="required"/>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
70 <xs:attribute name="race" type="xs:string" use="required"/>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
71 <xs:attribute name="maxPoints" type="xs:positiveInteger" use="required"/>
76d274df9f28 Closes #80: Collapse XSD definitions
IBBoard <dev@ibboard.co.uk>
parents: 72
diff changeset
72 </xs:complexType>
36
0a1c5fea6a08 Re #32 - Migrate to schemas
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
73 </xs:element>
108
2060f23abee9 Re #53: Create XML saver
IBBoard <dev@ibboard.co.uk>
parents: 74
diff changeset
74 <xs:simpleType name="equipmentAmountType">
2060f23abee9 Re #53: Create XML saver
IBBoard <dev@ibboard.co.uk>
parents: 74
diff changeset
75 <xs:restriction base="xs:string">
2060f23abee9 Re #53: Create XML saver
IBBoard <dev@ibboard.co.uk>
parents: 74
diff changeset
76 <xs:enumeration value="ratio"/>
2060f23abee9 Re #53: Create XML saver
IBBoard <dev@ibboard.co.uk>
parents: 74
diff changeset
77 <xs:enumeration value="fixed"/>
2060f23abee9 Re #53: Create XML saver
IBBoard <dev@ibboard.co.uk>
parents: 74
diff changeset
78 </xs:restriction>
2060f23abee9 Re #53: Create XML saver
IBBoard <dev@ibboard.co.uk>
parents: 74
diff changeset
79 </xs:simpleType>
36
0a1c5fea6a08 Re #32 - Migrate to schemas
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
80 </xs:schema>