diff schemas/army.xsd @ 244:9e4a78464b1a

Re #152: Test and fix extensibility of current schemas * Make xs:anyAttribute and xs:any do lax parsing so that we don't get schema errors * Move Army schema away from core:extension to straight xs:any Needs more testing
author IBBoard <dev@ibboard.co.uk>
date Sun, 28 Feb 2010 21:09:45 +0000
parents b8883707c489
children 2f8fd45d55e2
line wrap: on
line diff
--- a/schemas/army.xsd	Sat Feb 27 15:03:18 2010 +0000
+++ b/schemas/army.xsd	Sun Feb 28 21:09:45 2010 +0000
@@ -19,28 +19,29 @@
 									<xs:element name="customEquipPart"  maxOccurs="unbounded">
 										<xs:complexType>
 											<xs:sequence>
-												<xs:element ref="core:extension" minOccurs="0" />
+												<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
 											</xs:sequence>
 											<xs:attribute name="partIDRef" type="xs:string" />
-											<xs:anyAttribute/>
+											<xs:anyAttribute processContents="lax"/>
 										</xs:complexType>
 									</xs:element>
+									<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
 								</xs:sequence>
 								<xs:attribute name="id" type="xs:ID" />
-								<xs:anyAttribute/>
+								<xs:anyAttribute processContents="lax"/>
 							</xs:complexType>
 						</xs:element>
 					</xs:sequence>
 				</xs:complexType>
 			</xs:element>
-			<xs:element ref="core:extension" minOccurs="0" />
+			<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
 		</xs:all>
 		<xs:attribute name="id" type="xs:ID" />
 		<xs:attribute name="name" type="xs:string" use="required"/>
 		<xs:attribute name="system" type="xs:string" use="required"/>
 		<xs:attribute name="race" type="xs:string" use="required"/>
 		<xs:attribute name="maxPoints" type="xs:positiveInteger" use="required"/>
-		<xs:anyAttribute/>
+		<xs:anyAttribute processContents="lax"/>
 	</xs:complexType>
 </xs:element>
 
@@ -54,13 +55,13 @@
 					<xs:element name="equipItem" maxOccurs="unbounded">
 						<xs:complexType>
 							<xs:sequence>
-								<xs:element ref="core:extension" minOccurs="0" />
+								<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
 							</xs:sequence>
 							<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/>
+							<xs:anyAttribute processContents="lax"/>
 						</xs:complexType>
 					</xs:element>
 				</xs:sequence>
@@ -72,23 +73,23 @@
 					<xs:element name="containedUnit">
 						<xs:complexType>
 							<xs:sequence>
-								<xs:element ref="core:extension" minOccurs="0" />
+								<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
 							</xs:sequence>
 							<xs:attribute name="containedID" type="xs:IDREF" use="required"/>
-							<xs:anyAttribute/>
+							<xs:anyAttribute processContents="lax"/>
 						</xs:complexType>
 					</xs:element>
 				</xs:sequence>
 			</xs:complexType>
 		</xs:element>
-		<xs:element ref="core:extension" minOccurs="0" />
+		<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
 	</xs:all>
 	<xs:attribute name="id" type="xs:ID" />
 	<xs:attribute name="unitType" type="xs:string" use="required"/>
 	<xs:attribute name="unitName" type="xs:string" use="required"/>
 	<xs:attribute name="size" type="xs:positiveInteger" use="required"/>
 	<xs:attribute name="race" type="xs:string" default=""/>
-	<xs:anyAttribute/>
+	<xs:anyAttribute processContents="lax"/>
 </xs:complexType>
 
 <xs:simpleType name="equipmentAmountType">