Mercurial > repos > snowblizz-super-API-ideas
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> |