comparison dtds/race.xsd @ 74:76d274df9f28

Closes #80: Collapse XSD definitions * Replace spaces with tabs for indenting
author IBBoard <dev@ibboard.co.uk>
date Sun, 10 May 2009 19:18:10 +0000
parents 5eb1bc0a6d96
children 1091082c27eb
comparison
equal deleted inserted replaced
73:5eb1bc0a6d96 74:76d274df9f28
1 <?xml version="1.0"?> 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" 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"> 3 targetNamespace="http://ibboard.co.uk/warfoundry/race" xmlns="http://ibboard.co.uk/warfoundry/race" elementFormDefault="qualified">
4 <xs:element name="race"> 4 <xs:element name="race">
5 <xs:complexType> 5 <xs:complexType>
6 <xs:all> 6 <xs:all>
7 <xs:element name="units" minOccurs="1"> 7 <xs:element name="units" minOccurs="1">
8 <xs:complexType> 8 <xs:complexType>
9 <xs:sequence> 9 <xs:sequence>
10 <xs:element name="unit" minOccurs="1" maxOccurs="unbounded"> 10 <xs:element name="unit" minOccurs="1" maxOccurs="unbounded">
11 <xs:complexType> 11 <xs:complexType>
12 <xs:all> 12 <xs:all>
13 <xs:element name="stats" minOccurs="1"> 13 <xs:element name="stats" minOccurs="1">
14 <xs:complexType> 14 <xs:complexType>
15 <xs:sequence> 15 <xs:sequence>
16 <xs:element name="stat" minOccurs="1" maxOccurs="unbounded"> 16 <xs:element name="stat" minOccurs="1" maxOccurs="unbounded">
17 <xs:complexType> 17 <xs:complexType>
18 <xs:simpleContent> 18 <xs:simpleContent>
19 <xs:extension base="xs:string"> 19 <xs:extension base="xs:string">
20 <xs:attribute name="name" type="xs:string" use="required"/> 20 <xs:attribute name="name" type="xs:string" use="required"/>
21 </xs:extension> 21 </xs:extension>
22 </xs:simpleContent> 22 </xs:simpleContent>
23 </xs:complexType> 23 </xs:complexType>
24 </xs:element> 24 </xs:element>
25 </xs:sequence> 25 </xs:sequence>
26 </xs:complexType> 26 </xs:complexType>
27 </xs:element> 27 </xs:element>
28 <xs:element name="unitEquipment"> 28 <xs:element name="unitEquipment">
29 <xs:complexType> 29 <xs:complexType>
30 <xs:sequence> 30 <xs:sequence>
31 <xs:element name="unitEquipmentItem" maxOccurs="unbounded"> 31 <xs:element name="unitEquipmentItem" maxOccurs="unbounded">
32 <xs:complexType> 32 <xs:complexType>
33 <xs:attribute name="id" type="xs:IDREF" /> 33 <xs:attribute name="id" type="xs:IDREF" />
34 <xs:attribute name="required" type="xs:boolean" default="false"/> 34 <xs:attribute name="required" type="xs:boolean" default="false"/>
35 <xs:attribute name="exclusivityGroup" type="xs:string" default=""/> 35 <xs:attribute name="exclusivityGroup" type="xs:string" default=""/>
36 <xs:attribute name="minNum" type="core:nonNegativeOrInfiniteInteger" default="-1"/> 36 <xs:attribute name="minNum" type="core:nonNegativeOrInfiniteInteger" default="-1"/>
37 <xs:attribute name="maxNum" type="core:nonNegativeOrInfiniteInteger" default="-1"/> 37 <xs:attribute name="maxNum" type="core:nonNegativeOrInfiniteInteger" default="-1"/>
38 <xs:attribute name="minPercentage" type="core:percentage" default="100"/> 38 <xs:attribute name="minPercentage" type="core:percentage" default="100"/>
39 <xs:attribute name="maxPercentage" type="core:percentage" default="100"/> 39 <xs:attribute name="maxPercentage" type="core:percentage" default="100"/>
40 <xs:attribute name="roundDirection" type="updowntype" default="up"/> 40 <xs:attribute name="roundDirection" type="updowntype" default="up"/>
41 </xs:complexType> 41 </xs:complexType>
42 </xs:element> 42 </xs:element>
43 </xs:sequence> 43 </xs:sequence>
44 </xs:complexType> 44 </xs:complexType>
45 </xs:element> 45 </xs:element>
46 <xs:element name="unitAbilities" minOccurs="0"> 46 <xs:element name="unitAbilities" minOccurs="0">
47 <xs:complexType> 47 <xs:complexType>
48 <xs:sequence> 48 <xs:sequence>
49 <xs:element name="unitAbility" maxOccurs="unbounded"> 49 <xs:element name="unitAbility" maxOccurs="unbounded">
50 <xs:complexType> 50 <xs:complexType>
51 <xs:attribute name="abilityID" type="xs:IDREF" /> 51 <xs:attribute name="abilityID" type="xs:IDREF" />
52 <xs:attribute name="required" type="xs:boolean" default="true"/> 52 <xs:attribute name="required" type="xs:boolean" default="true"/>
53 </xs:complexType> 53 </xs:complexType>
54 </xs:element> 54 </xs:element>
55 </xs:sequence> 55 </xs:sequence>
56 </xs:complexType> 56 </xs:complexType>
57 </xs:element> 57 </xs:element>
58 <xs:element name="requirements" minOccurs="0"> 58 <xs:element name="requirements" minOccurs="0">
59 <xs:complexType> 59 <xs:complexType>
60 <xs:sequence> 60 <xs:sequence>
61 <xs:element name="requirement"> 61 <xs:element name="requirement">
62 <xs:complexType> 62 <xs:complexType>
63 <xs:simpleContent> 63 <xs:simpleContent>
64 <xs:extension base="xs:string"> 64 <xs:extension base="xs:string">
65 <xs:attribute name="requirementName" type="xs:string" use="required"/> 65 <xs:attribute name="requirementName" type="xs:string" use="required"/>
66 </xs:extension> 66 </xs:extension>
67 </xs:simpleContent> 67 </xs:simpleContent>
68 </xs:complexType> 68 </xs:complexType>
69 </xs:element> 69 </xs:element>
70 </xs:sequence> 70 </xs:sequence>
71 </xs:complexType> 71 </xs:complexType>
72 </xs:element> 72 </xs:element>
73 <xs:element name="contains" minOccurs="0"> 73 <xs:element name="contains" minOccurs="0">
74 <xs:complexType> 74 <xs:complexType>
75 <xs:sequence> 75 <xs:sequence>
76 <xs:element name="containedUnit"> 76 <xs:element name="containedUnit">
77 <xs:complexType> 77 <xs:complexType>
78 <xs:attribute name="containedID" type="xs:IDREF" use="required"/> 78 <xs:attribute name="containedID" type="xs:IDREF" use="required"/>
79 </xs:complexType> 79 </xs:complexType>
80 </xs:element> 80 </xs:element>
81 </xs:sequence> 81 </xs:sequence>
82 </xs:complexType> 82 </xs:complexType>
83 </xs:element> 83 </xs:element>
84 <xs:element name="extraData" minOccurs="0"> 84 <xs:element name="extraData" minOccurs="0">
85 <xs:complexType> 85 <xs:complexType>
86 <xs:sequence> 86 <xs:sequence>
87 <xs:element name="data"> 87 <xs:element name="data">
88 <xs:complexType> 88 <xs:complexType>
89 <xs:simpleContent> 89 <xs:simpleContent>
90 <xs:extension base="xs:string"> 90 <xs:extension base="xs:string">
91 <xs:attribute name="id" type="xs:ID" use="required"/> 91 <xs:attribute name="id" type="xs:ID" use="required"/>
92 </xs:extension> 92 </xs:extension>
93 </xs:simpleContent> 93 </xs:simpleContent>
94 </xs:complexType> 94 </xs:complexType>
95 </xs:element> 95 </xs:element>
96 </xs:sequence> 96 </xs:sequence>
97 </xs:complexType> 97 </xs:complexType>
98 </xs:element> 98 </xs:element>
99 <xs:element name="notes" type="xs:string" minOccurs="0" /> 99 <xs:element name="notes" type="xs:string" minOccurs="0" />
100 </xs:all> 100 </xs:all>
101 <xs:attribute name="id" type="xs:ID" /> 101 <xs:attribute name="id" type="xs:ID" />
102 <xs:attribute name="typeName" type="xs:string" use="required"/> 102 <xs:attribute name="typeName" type="xs:string" use="required"/>
103 <xs:attribute name="cat" type="xs:string" use="required"/> 103 <xs:attribute name="cat" type="xs:string" use="required"/>
104 <xs:attribute name="unitPoints" type="core:nonNegativeNonInfiniteDouble" default="0"/> 104 <xs:attribute name="unitPoints" type="core:nonNegativeNonInfiniteDouble" default="0"/>
105 <xs:attribute name="points" type="core:nonNegativeNonInfiniteDouble" use="required"/> 105 <xs:attribute name="points" type="core:nonNegativeNonInfiniteDouble" use="required"/>
106 <xs:attribute name="minNum" type="xs:nonNegativeInteger" default="0"/> 106 <xs:attribute name="minNum" type="xs:nonNegativeInteger" default="0"/>
107 <xs:attribute name="maxNum" type="core:positiveOrInfiniteInteger" default="-1"/> 107 <xs:attribute name="maxNum" type="core:positiveOrInfiniteInteger" default="-1"/>
108 <xs:attribute name="minSize" type="xs:nonNegativeInteger" default="5"/> 108 <xs:attribute name="minSize" type="xs:nonNegativeInteger" default="5"/>
109 <xs:attribute name="maxSize" type="core:positiveOrInfiniteInteger" default="-1"/> 109 <xs:attribute name="maxSize" type="core:positiveOrInfiniteInteger" default="-1"/>
110 <xs:attribute name="baseSize" type="xs:nonNegativeInteger" default="0"/> 110 <xs:attribute name="baseSize" type="xs:nonNegativeInteger" default="0"/>
111 </xs:complexType> 111 </xs:complexType>
112 </xs:element> 112 </xs:element>
113 </xs:sequence> 113 </xs:sequence>
114 </xs:complexType> 114 </xs:complexType>
115 </xs:element> 115 </xs:element>
116 <xs:element name="categories" type="cats:categoriestype" minOccurs="0" /> 116 <xs:element name="categories" type="cats:categoriestype" minOccurs="0" />
117 <xs:element name="equipment" minOccurs="0"> 117 <xs:element name="equipment" minOccurs="0">
118 <xs:complexType> 118 <xs:complexType>
119 <xs:sequence> 119 <xs:sequence>
120 <xs:element name="equipmentItem" maxOccurs="unbounded"> 120 <xs:element name="equipmentItem" maxOccurs="unbounded">
121 <xs:complexType> 121 <xs:complexType>
122 <xs:all> 122 <xs:all>
123 <xs:element name="description" type="xs:string" minOccurs="0" /> 123 <xs:element name="description" type="xs:string" minOccurs="0" />
124 </xs:all> 124 </xs:all>
125 <xs:attribute name="id" type="xs:ID" use="required"/> 125 <xs:attribute name="id" type="xs:ID" use="required"/>
126 <xs:attribute name="name" type="xs:string" use="required"/> 126 <xs:attribute name="name" type="xs:string" use="required"/>
127 <xs:attribute name="cost" type="core:nonNegativeNonInfiniteDouble" use="required"/> 127 <xs:attribute name="cost" type="core:nonNegativeNonInfiniteDouble" use="required"/>
128 <xs:attribute name="armourType" type="armourtype" default="None"/> 128 <xs:attribute name="armourType" type="armourtype" default="None"/>
129 </xs:complexType> 129 </xs:complexType>
130 </xs:element> 130 </xs:element>
131 </xs:sequence> 131 </xs:sequence>
132 </xs:complexType> 132 </xs:complexType>
133 </xs:element> 133 </xs:element>
134 <xs:element name="abilities" minOccurs="0"> 134 <xs:element name="abilities" minOccurs="0">
135 <xs:complexType> 135 <xs:complexType>
136 <xs:sequence> 136 <xs:sequence>
137 <xs:element name="ability"> 137 <xs:element name="ability">
138 <xs:complexType> 138 <xs:complexType>
139 <xs:all> 139 <xs:all>
140 <xs:element name="description" type="xs:string" /> 140 <xs:element name="description" type="xs:string" />
141 </xs:all> 141 </xs:all>
142 <xs:attribute name="id" type="xs:ID" use="required"/> 142 <xs:attribute name="id" type="xs:ID" use="required"/>
143 <xs:attribute name="name" type="xs:string" use="required"/> 143 <xs:attribute name="name" type="xs:string" use="required"/>
144 </xs:complexType> 144 </xs:complexType>
145 </xs:element> 145 </xs:element>
146 </xs:sequence> 146 </xs:sequence>
147 </xs:complexType> 147 </xs:complexType>
148 </xs:element> 148 </xs:element>
149 </xs:all> 149 </xs:all>
150 <xs:attribute name="id" type="xs:ID" /> 150 <xs:attribute name="id" type="xs:ID" />
151 <xs:attribute name="subid" type="xs:string" default=""/> 151 <xs:attribute name="subid" type="xs:string" default=""/>
152 <xs:attribute name="name" type="xs:string" use="required"/> 152 <xs:attribute name="name" type="xs:string" use="required"/>
153 <xs:attribute name="system" type="xs:string" use="required"/> 153 <xs:attribute name="system" type="xs:string" use="required"/>
154 </xs:complexType> 154 </xs:complexType>
155 </xs:element> 155 </xs:element>
156 <xs:simpleType name="updowntype"> 156 <xs:simpleType name="updowntype">
157 <xs:restriction base="xs:string"> 157 <xs:restriction base="xs:string">
158 <xs:enumeration value="up"/> 158 <xs:enumeration value="up"/>
159 <xs:enumeration value="down"/> 159 <xs:enumeration value="down"/>
160 </xs:restriction> 160 </xs:restriction>
161 </xs:simpleType> 161 </xs:simpleType>
162 <xs:simpleType name="armourtype"> 162 <xs:simpleType name="armourtype">
163 <xs:restriction base="xs:string"> 163 <xs:restriction base="xs:string">
164 <xs:enumeration value="None"/> 164 <xs:enumeration value="None"/>
165 <xs:enumeration value="Shield"/> 165 <xs:enumeration value="Shield"/>
166 <xs:enumeration value="LightArmour"/> 166 <xs:enumeration value="LightArmour"/>
167 <xs:enumeration value="LightArmourShield"/> 167 <xs:enumeration value="LightArmourShield"/>
168 <xs:enumeration value="HeavyArmour"/> 168 <xs:enumeration value="HeavyArmour"/>
169 <xs:enumeration value="HeavyArmourShield"/> 169 <xs:enumeration value="HeavyArmourShield"/>
170 <xs:enumeration value="Barding"/> 170 <xs:enumeration value="Barding"/>
171 <xs:enumeration value="BardingShield"/> 171 <xs:enumeration value="BardingShield"/>
172 <xs:enumeration value="BardingLightArmour"/> 172 <xs:enumeration value="BardingLightArmour"/>
173 <xs:enumeration value="BardingLightArmourShield"/> 173 <xs:enumeration value="BardingLightArmourShield"/>
174 <xs:enumeration value="BardingHeavyArmour"/> 174 <xs:enumeration value="BardingHeavyArmour"/>
175 <xs:enumeration value="BardingHeavyArmourShield"/> 175 <xs:enumeration value="BardingHeavyArmourShield"/>
176 </xs:restriction> 176 </xs:restriction>
177 </xs:simpleType> 177 </xs:simpleType>
178 </xs:schema> 178 </xs:schema>