diff dtds/army.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
line wrap: on
line diff
--- a/dtds/army.xsd	Wed Sep 30 19:08:08 2009 +0000
+++ b/dtds/army.xsd	Sun Oct 04 10:49:17 2009 +0000
@@ -3,22 +3,22 @@
 <xs:element name="army">
 	<xs:complexType>
 		<xs:all>
-			<xs:element name="units" minOccurs="1">
+			<xs:element name="units">
 				<xs:complexType>
 					<xs:sequence>
 						<xs:element name="unit" minOccurs="0" maxOccurs="unbounded">
 							<xs:complexType>
 								<xs:all>
-									<xs:element name="equipment" minOccurs="0" maxOccurs="1">
+									<xs:element name="equipment" minOccurs="0">
 										<xs:complexType>
 											<xs:sequence>
-												<xs:element name="equipItem" minOccurs="1" maxOccurs="unbounded">
+												<xs:element name="equipItem" maxOccurs="unbounded">
 													<xs:complexType>
 														<xs:sequence>
-															<xs:any minOccurs="0" />
+															<xs:element ref="core:extension" minOccurs="0" />
 														</xs:sequence>
-														<xs:attribute name="id" type="xs:string" /> <!-- ID reference to either a custom equipment item or a Race equipment item -->
-														<xs:attribute name="amount" type="core:nonNegativeOrInfiniteIntegerOrPercentage" use="required"/><!-- Double used to allow for percentages to be stored -->
+														<xs:attribute name="id" type="xs:string" />
+														<xs:attribute name="amount" type="core:nonNegativeOrInfiniteIntegerOrPercentage" use="required"/>
 														<xs:attribute name="amountType" type="equipmentAmountType" default="ratio"/>
 														<xs:attribute name="isCustomEquipment" type="xs:boolean" default="false"/>
 														<xs:anyAttribute/>
@@ -33,7 +33,7 @@
 												<xs:element name="containedUnit">
 													<xs:complexType>
 														<xs:sequence>
-															<xs:any minOccurs="0" />
+															<xs:element ref="core:extension" minOccurs="0" />
 														</xs:sequence>
 														<xs:attribute name="containedID" type="xs:IDREF" use="required"/>
 														<xs:anyAttribute/>
@@ -42,7 +42,7 @@
 											</xs:sequence>
 										</xs:complexType>
 									</xs:element>
-									<xs:any minOccurs="0" />
+									<xs:element ref="core:extension" minOccurs="0" />
 								</xs:all>
 								<xs:attribute name="id" type="xs:ID" />
 								<xs:attribute name="unitType" type="xs:string" use="required"/>
@@ -61,10 +61,10 @@
 						<xs:element name="customEquip" minOccurs="0" maxOccurs="unbounded">
 							<xs:complexType>
 								<xs:sequence>
-									<xs:element name="customEquipPart" minOccurs="1" maxOccurs="unbounded">
+									<xs:element name="customEquipPart"  maxOccurs="unbounded">
 										<xs:complexType>
 											<xs:sequence>
-												<xs:any minOccurs="0" />
+												<xs:element ref="core:extension" minOccurs="0" />
 											</xs:sequence>
 											<xs:attribute name="partIDRef" type="xs:string" />
 											<xs:anyAttribute/>
@@ -78,7 +78,7 @@
 					</xs:sequence>
 				</xs:complexType>
 			</xs:element>
-			<xs:any minOccurs="0" />
+			<xs:element ref="core:extension" minOccurs="0" />
 		</xs:all>
 		<xs:attribute name="id" type="xs:ID" />
 		<xs:attribute name="name" type="xs:string" use="required"/>