comparison schemas/army.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 38a4154c4537
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" targetNamespace="http://ibboard.co.uk/warfoundry/army" xmlns="http://ibboard.co.uk/warfoundry/army" xmlns:core="http://ibboard.co.uk/warfoundry/core" elementFormDefault="qualified">
3 <xs:element name="army">
4 <xs:complexType>
5 <xs:all>
6 <xs:element name="units">
7 <xs:complexType>
8 <xs:sequence>
9 <xs:element name="unit" minOccurs="0" maxOccurs="unbounded">
10 <xs:complexType>
11 <xs:all>
12 <xs:element name="equipment" minOccurs="0">
13 <xs:complexType>
14 <xs:sequence>
15 <xs:element name="equipItem" maxOccurs="unbounded">
16 <xs:complexType>
17 <xs:sequence>
18 <xs:element ref="core:extension" minOccurs="0" />
19 </xs:sequence>
20 <xs:attribute name="id" type="xs:string" />
21 <xs:attribute name="amount" type="core:nonNegativeOrInfiniteIntegerOrPercentage" use="required"/>
22 <xs:attribute name="amountType" type="equipmentAmountType" default="ratio"/>
23 <xs:attribute name="isCustomEquipment" type="xs:boolean" default="false"/>
24 <xs:anyAttribute/>
25 </xs:complexType>
26 </xs:element>
27 </xs:sequence>
28 </xs:complexType>
29 </xs:element>
30 <xs:element name="contains" minOccurs="0">
31 <xs:complexType>
32 <xs:sequence>
33 <xs:element name="containedUnit">
34 <xs:complexType>
35 <xs:sequence>
36 <xs:element ref="core:extension" minOccurs="0" />
37 </xs:sequence>
38 <xs:attribute name="containedID" type="xs:IDREF" use="required"/>
39 <xs:anyAttribute/>
40 </xs:complexType>
41 </xs:element>
42 </xs:sequence>
43 </xs:complexType>
44 </xs:element>
45 <xs:element ref="core:extension" minOccurs="0" />
46 </xs:all>
47 <xs:attribute name="id" type="xs:ID" />
48 <xs:attribute name="unitType" type="xs:string" use="required"/>
49 <xs:attribute name="unitName" type="xs:string" use="required"/>
50 <xs:attribute name="size" type="xs:positiveInteger" use="required"/>
51 <xs:attribute name="race" type="xs:string" default=""/>
52 <xs:anyAttribute/>
53 </xs:complexType>
54 </xs:element>
55 </xs:sequence>
56 </xs:complexType>
57 </xs:element>
58 <xs:element name="customEquipment" minOccurs="0">
59 <xs:complexType>
60 <xs:sequence>
61 <xs:element name="customEquip" minOccurs="0" maxOccurs="unbounded">
62 <xs:complexType>
63 <xs:sequence>
64 <xs:element name="customEquipPart" maxOccurs="unbounded">
65 <xs:complexType>
66 <xs:sequence>
67 <xs:element ref="core:extension" minOccurs="0" />
68 </xs:sequence>
69 <xs:attribute name="partIDRef" type="xs:string" />
70 <xs:anyAttribute/>
71 </xs:complexType>
72 </xs:element>
73 </xs:sequence>
74 <xs:attribute name="id" type="xs:ID" />
75 <xs:anyAttribute/>
76 </xs:complexType>
77 </xs:element>
78 </xs:sequence>
79 </xs:complexType>
80 </xs:element>
81 <xs:element ref="core:extension" minOccurs="0" />
82 </xs:all>
83 <xs:attribute name="id" type="xs:ID" />
84 <xs:attribute name="name" type="xs:string" use="required"/>
85 <xs:attribute name="system" type="xs:string" use="required"/>
86 <xs:attribute name="race" type="xs:string" use="required"/>
87 <xs:attribute name="maxPoints" type="xs:positiveInteger" use="required"/>
88 <xs:anyAttribute/>
89 </xs:complexType>
90 </xs:element>
91 <xs:simpleType name="equipmentAmountType">
92 <xs:restriction base="xs:string">
93 <xs:enumeration value="ratio"/>
94 <xs:enumeration value="fixed"/>
95 </xs:restriction>
96 </xs:simpleType>
97 </xs:schema>