comparison dtds/race.xsd @ 23:f9846f896df3

Re #32 - Migrate WarFoundry files to using Schemas * Add missing spaces to Cats and Core XSD * Fix some incorrect namespaces in Race XSD * Copy schemas to output dir on build * Make WarFoundryXmlFactory validate against Schemas * Make WarFoundryLoader handle failed file loads slightly differently so that we can log out as a warning * Correctly structure "simpleContent" sections of Race XSD Still to do: * Work out why Race XSD doesn't like core:nonNegativeDecimal but appears to be fine with core:percentage * Migrate test files to define namespaces and make sure they match the structure
author IBBoard <dev@ibboard.co.uk>
date Thu, 12 Mar 2009 21:35:17 +0000
parents 28e99aa0053f
children 72312a7ac08a
comparison
equal deleted inserted replaced
22:28e99aa0053f 23:f9846f896df3
26 <xs:element name="unitEquipment" type="unitequipmenttype" /> 26 <xs:element name="unitEquipment" type="unitequipmenttype" />
27 <xs:element name="unitAbilities" type="unitabilitiestype" /> 27 <xs:element name="unitAbilities" type="unitabilitiestype" />
28 <xs:element name="requirements" type="requirementstype" /> 28 <xs:element name="requirements" type="requirementstype" />
29 <xs:element name="contains" type="containstype" /> 29 <xs:element name="contains" type="containstype" />
30 <xs:element name="extraData" type="extradatatype" /> 30 <xs:element name="extraData" type="extradatatype" />
31 <xs:element name="notes" type="xsd:string" /> 31 <xs:element name="notes" type="xs:string" />
32 </xs:all> 32 </xs:all>
33 <xs:attribute name="id" type="xs:ID" /> 33 <xs:attribute name="id" type="xs:ID" />
34 <xs:attribute name="typeName" type="xs:string" use="required"/> 34 <xs:attribute name="typeName" type="xs:string" use="required"/>
35 <xs:attribute name="cat" type="xs:string" use="required"/> 35 <xs:attribute name="cat" type="xs:string" use="required"/>
36 <xs:attribute name="unitPoints" type="core:nonNegativeDecimal" default="0"/> 36 <xs:attribute name="unitPoints" type="core:nonNegativeDecimal" default="0"/>
37 <xs:attribute name="points" type="core:nonNegativeDecimal" use="required"/> 37 <xs:attribute name="points" type="core:nonNegativeDecimal" use="required"/>
38 <xs:attribute name="minNumber" type="core:nonNegativeInteger" default="0"/> 38 <xs:attribute name="minNumber" type="core:nonNegativeInteger" default="0"/>
39 <xs:attribute name="maxNumber" type="core:infiniteOrNonNegativeInteger" default="-1"/> 39 <xs:attribute name="maxNumber" type="core:infiniteOrNonNegativeInteger" default="-1"/>
40 <xs:attribute name="minSize" type="core:positiveInteger" default="5"/> 40 <xs:attribute name="minSize" type="core:positiveInteger" default="5"/>
41 <xs:attribute name="maxSize" type="core:infiniteOrNonNegativeInteger" default="-1"/> 41 <xs:attribute name="maxSize" type="core:infiniteOrNonNegativeInteger" default="-1"/>
42 <xs:attribute name="baseSize" type="xsd:nonNegativeInteger" default="0"/> 42 <xs:attribute name="baseSize" type="xs:nonNegativeInteger" default="0"/>
43 </xs:complexType> 43 </xs:complexType>
44 <xs:complexType name="statstype"> 44 <xs:complexType name="statstype">
45 <xs:sequence> 45 <xs:sequence>
46 <xs:element name="stat" type="stattype" minOccurs="1" maxOccurs="unbounded"/> 46 <xs:element name="stat" type="stattype" minOccurs="1" maxOccurs="unbounded"/>
47 </xs:sequence> 47 </xs:sequence>
48 </xs:complexType> 48 </xs:complexType>
49 <xs:complexType name="stattype"> 49 <xs:complexType name="stattype">
50 <xs:simpleContent> 50 <xs:simpleContent>
51 <xs:extension base="xs:string"/> 51 <xs:extension base="xs:string">
52 <xs:attribute name="name" type="xs:string" use="required"/>
53 </xs:extension>
52 </xs:simpleContent> 54 </xs:simpleContent>
53 <xs:attribute name="name" type="xs:string" use="required"/>
54 </xs:complexType> 55 </xs:complexType>
55 <xs:complexType name="unitequipmenttype"> 56 <xs:complexType name="unitequipmenttype">
56 <xs:sequence> 57 <xs:sequence>
57 <xs:element name="unitEquipmentItem" type="unitequipmentitemtype" maxOccurs="unbounded"/> 58 <xs:element name="unitEquipmentItem" type="unitequipmentitemtype" maxOccurs="unbounded"/>
58 </xs:sequence> 59 </xs:sequence>
87 <xs:element name="requirement" type="requirementtype"/> 88 <xs:element name="requirement" type="requirementtype"/>
88 </xs:sequence> 89 </xs:sequence>
89 </xs:complexType> 90 </xs:complexType>
90 <xs:complexType name="requirementtype"> 91 <xs:complexType name="requirementtype">
91 <xs:simpleContent> 92 <xs:simpleContent>
92 <xs:extension base="xs:string"/> 93 <xs:extension base="xs:string">
94 <xs:attribute name="requirementName" type="xs:string" use="required"/>
95 </xs:extension>
93 </xs:simpleContent> 96 </xs:simpleContent>
94 <xs:attribute name="requirementName" type="xs:string" use="required"/>
95 </xs:complexType> 97 </xs:complexType>
96 <xs:complexType name="containstype"> 98 <xs:complexType name="containstype">
97 <xs:sequence> 99 <xs:sequence>
98 <xs:element name="containedUnit" type="containedunittype"/> 100 <xs:element name="containedUnit" type="containedunittype"/>
99 </xs:sequence> 101 </xs:sequence>
106 <xs:element name="data" type="extradatadatatype"/> 108 <xs:element name="data" type="extradatadatatype"/>
107 </xs:sequence> 109 </xs:sequence>
108 </xs:complexType> 110 </xs:complexType>
109 <xs:complexType name="extradatadatatype"> 111 <xs:complexType name="extradatadatatype">
110 <xs:simpleContent> 112 <xs:simpleContent>
111 <xs:extension base="xs:string"/> 113 <xs:extension base="xs:string">
114 <xs:attribute name="id" type="xs:ID" use="required"/>
115 </xs:extension>
112 </xs:simpleContent> 116 </xs:simpleContent>
113 <xs:attribute name="id" type="xs:ID" use="required"/>
114 </xs:complexType> 117 </xs:complexType>
115 <xs:complexType name="equipmenttype"> 118 <xs:complexType name="equipmenttype">
116 <xs:sequence> 119 <xs:sequence>
117 <xs:element name="equipmentItem" type="equipmentitemtype"/> 120 <xs:element name="equipmentItem" type="equipmentitemtype"/>
118 </xs:sequence> 121 </xs:sequence>
119 </xs:complexType> 122 </xs:complexType>
120 <xs:complexType name="equipmentitemtype"> 123 <xs:complexType name="equipmentitemtype">
121 <xs:all> 124 <xs:all>
122 <xs:element name="description" type="xsd:string" /> 125 <xs:element name="description" type="xs:string" />
123 </xs:all> 126 </xs:all>
124 <xs:attribute name="id" type="xs:ID" use="required"/> 127 <xs:attribute name="id" type="xs:ID" use="required"/>
125 <xs:attribute name="name" type="xs:string" use="required"/> 128 <xs:attribute name="name" type="xs:string" use="required"/>
126 <xs:attribute name="points" type="core:nonNegativeDecimal" use="required"/> 129 <xs:attribute name="points" type="core:nonNegativeDecimal" use="required"/>
127 </xs:complexType> 130 </xs:complexType>
130 <xs:element name="equipmentItem" type="equipmentitemtype"/> 133 <xs:element name="equipmentItem" type="equipmentitemtype"/>
131 </xs:sequence> 134 </xs:sequence>
132 </xs:complexType> 135 </xs:complexType>
133 <xs:complexType name="equipmentitemtype"> 136 <xs:complexType name="equipmentitemtype">
134 <xs:all> 137 <xs:all>
135 <xs:element name="description" type="xsd:string" /> 138 <xs:element name="description" type="xs:string" />
136 </xs:all> 139 </xs:all>
137 <xs:attribute name="id" type="xs:ID" use="required"/> 140 <xs:attribute name="id" type="xs:ID" use="required"/>
138 <xs:attribute name="name" type="xs:string" use="required"/> 141 <xs:attribute name="name" type="xs:string" use="required"/>
139 <xs:attribute name="points" type="core:nonNegativeDecimal" use="required"/> 142 <xs:attribute name="points" type="core:nonNegativeDecimal" use="required"/>
140 <xs:attribute name="armoutType" type="armourtype" default="none"/> 143 <xs:attribute name="armoutType" type="armourtype" default="none"/>
141 </xs:complexType> 144 </xs:complexType>
142 <xs:simpleType name="armourtype"> 145 <xs:simpleType name="armourtype">
143 <xs:restriction base="xsd:string"> 146 <xs:restriction base="xs:string">
144 <xs:enumeration value="None"/> 147 <xs:enumeration value="None"/>
145 <xs:enumeration value="Shield"/> 148 <xs:enumeration value="Shield"/>
146 <xs:enumeration value="LightArmour"/> 149 <xs:enumeration value="LightArmour"/>
147 <xs:enumeration value="LightArmourShield"/> 150 <xs:enumeration value="LightArmourShield"/>
148 <xs:enumeration value="HeavyArmour"/> 151 <xs:enumeration value="HeavyArmour"/>
160 <xs:element name="ability" type="abilitytype"/> 163 <xs:element name="ability" type="abilitytype"/>
161 </xs:sequence> 164 </xs:sequence>
162 </xs:complexType> 165 </xs:complexType>
163 <xs:complexType name="abilitytype"> 166 <xs:complexType name="abilitytype">
164 <xs:all> 167 <xs:all>
165 <xs:element name="description" type="xsd:string" /> 168 <xs:element name="description" type="xs:string" />
166 </xs:all> 169 </xs:all>
167 <xs:attribute name="id" type="xs:ID" use="required"/> 170 <xs:attribute name="id" type="xs:ID" use="required"/>
168 <xs:attribute name="name" type="xs:string" use="required"/> 171 <xs:attribute name="name" type="xs:string" use="required"/>
169 </xs:complexType> 172 </xs:complexType>
170 </xs:schema> 173 </xs:schema>