comparison dtds/race.xsd @ 160:41b927998a41

Re #152: Test and fix extensibility of current schemas * Fix use of <xs:any> by defining <core:extension> tag * Remove unnecessary min/maxOccurs=1 attributes
author IBBoard <dev@ibboard.co.uk>
date Sun, 04 Oct 2009 10:49:17 +0000
parents 7b98e71b8511
children 71e50c0884a2
comparison
equal deleted inserted replaced
159:7b98e71b8511 160:41b927998a41
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">
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" 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">
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" 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:anyAttribute/> 21 <xs:anyAttribute/>
112 </xs:sequence> 112 </xs:sequence>
113 <xs:anyAttribute/> 113 <xs:anyAttribute/>
114 </xs:complexType> 114 </xs:complexType>
115 </xs:element> 115 </xs:element>
116 <xs:element name="notes" type="xs:string" minOccurs="0" /> 116 <xs:element name="notes" type="xs:string" minOccurs="0" />
117 <xs:any minOccurs="0" /> 117 <xs:element ref="core:extension" minOccurs="0" />
118 </xs:all> 118 </xs:all>
119 <xs:attribute name="id" type="xs:ID" /> 119 <xs:attribute name="id" type="xs:ID" />
120 <xs:attribute name="typeName" type="xs:string" use="required"/> 120 <xs:attribute name="typeName" type="xs:string" use="required"/>
121 <xs:attribute name="cat" type="xs:string" use="required"/> 121 <xs:attribute name="cat" type="xs:string" use="required"/>
122 <xs:attribute name="unitPoints" type="core:nonNegativeNonInfiniteDouble" default="0"/> 122 <xs:attribute name="unitPoints" type="core:nonNegativeNonInfiniteDouble" default="0"/>
138 <xs:sequence> 138 <xs:sequence>
139 <xs:element name="equipmentItem" maxOccurs="unbounded"> 139 <xs:element name="equipmentItem" maxOccurs="unbounded">
140 <xs:complexType> 140 <xs:complexType>
141 <xs:all> 141 <xs:all>
142 <xs:element name="description" type="xs:string" minOccurs="0" /> 142 <xs:element name="description" type="xs:string" minOccurs="0" />
143 <xs:any minOccurs="0" /> 143 <xs:element ref="core:extension" minOccurs="0" />
144 </xs:all> 144 </xs:all>
145 <xs:attribute name="id" type="xs:ID" use="required"/> 145 <xs:attribute name="id" type="xs:ID" use="required"/>
146 <xs:attribute name="name" type="xs:string" use="required"/> 146 <xs:attribute name="name" type="xs:string" use="required"/>
147 <xs:attribute name="cost" type="core:nonNegativeNonInfiniteDouble" use="required"/> 147 <xs:attribute name="cost" type="core:nonNegativeNonInfiniteDouble" use="required"/>
148 <xs:attribute name="armourType" type="armourtype" default="None"/> 148 <xs:attribute name="armourType" type="armourtype" default="None"/>
158 <xs:sequence> 158 <xs:sequence>
159 <xs:element name="ability"> 159 <xs:element name="ability">
160 <xs:complexType> 160 <xs:complexType>
161 <xs:all> 161 <xs:all>
162 <xs:element name="description" type="xs:string" /> 162 <xs:element name="description" type="xs:string" />
163 <xs:any minOccurs="0" /> 163 <xs:element ref="core:extension" minOccurs="0" />
164 </xs:all> 164 </xs:all>
165 <xs:attribute name="id" type="xs:ID" use="required"/> 165 <xs:attribute name="id" type="xs:ID" use="required"/>
166 <xs:attribute name="name" type="xs:string" use="required"/> 166 <xs:attribute name="name" type="xs:string" use="required"/>
167 <xs:anyAttribute/> 167 <xs:anyAttribute/>
168 </xs:complexType> 168 </xs:complexType>
169 </xs:element> 169 </xs:element>
170 </xs:sequence> 170 </xs:sequence>
171 <xs:anyAttribute/> 171 <xs:anyAttribute/>
172 </xs:complexType> 172 </xs:complexType>
173 </xs:element> 173 </xs:element>
174 <xs:any minOccurs="0" /> 174 <xs:element ref="core:extension" minOccurs="0" />
175 </xs:all> 175 </xs:all>
176 <xs:attribute name="id" type="xs:ID" /> 176 <xs:attribute name="id" type="xs:ID" />
177 <xs:attribute name="subid" type="xs:string" default=""/> 177 <xs:attribute name="subid" type="xs:string" default=""/>
178 <xs:attribute name="name" type="xs:string" use="required"/> 178 <xs:attribute name="name" type="xs:string" use="required"/>
179 <xs:attribute name="system" type="xs:string" use="required"/> 179 <xs:attribute name="system" type="xs:string" use="required"/>