changeset 248:6abf70f31ae4

Re #152: Test and fix extensibility of current schemas * Make race and core schemas fully extensible and forward compatible
author IBBoard <dev@ibboard.co.uk>
date Sat, 13 Mar 2010 16:46:42 +0000
parents 874c5f0906c9
children 2f8fd45d55e2
files schemas/race.xsd schemas/warfoundry-core.xsd
diffstat 2 files changed, 23 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/schemas/race.xsd	Thu Mar 11 20:57:49 2010 +0000
+++ b/schemas/race.xsd	Sat Mar 13 16:46:42 2010 +0000
@@ -101,6 +101,9 @@
 				<xs:sequence>
 					<xs:element name="unitAbility" maxOccurs="unbounded">
 						<xs:complexType>
+							<xs:sequence>
+								<xs:any minOccurs="0" processContents="lax"/>
+							</xs:sequence>
 							<xs:attribute name="abilityID" type="xs:IDREF" />
 							<xs:attribute name="required" type="xs:boolean" default="true"/>
 							<xs:anyAttribute processContents="lax"/>
@@ -132,6 +135,9 @@
 				<xs:sequence>
 					<xs:element name="containedUnit" maxOccurs="unbounded">
 						<xs:complexType>
+							<xs:sequence>
+								<xs:any minOccurs="0" processContents="lax"/>
+							</xs:sequence>
 							<xs:attribute name="containedID" type="xs:IDREF" use="required"/>
 							<xs:anyAttribute processContents="lax"/>
 						</xs:complexType>
--- a/schemas/warfoundry-core.xsd	Thu Mar 11 20:57:49 2010 +0000
+++ b/schemas/warfoundry-core.xsd	Sat Mar 13 16:46:42 2010 +0000
@@ -4,7 +4,7 @@
 <xs:element name="extension">
 	<xs:complexType>
 		<xs:sequence>
-			<xs:any minOccurs="0" maxOccurs="unbounded" />
+			<xs:any minOccurs="0" maxOccurs="unbounded" processContent="lax"/>
 		</xs:sequence>
 	</xs:complexType>
 </xs:element>
@@ -12,26 +12,38 @@
 	<xs:choice>
 		<xs:element name="percentageLimit">
 			<xs:complexType>
+				<xs:sequence>
+					<xs:any minOccurs="0" maxOccurs="unbounded" processContent="lax"/>
+				</xs:sequence>
 				<xs:attribute name="limit" type="percentage" use="required"/>
 				<xs:attribute name="round" type="updowntype" default="up" />
-				<xs:anyAttribute/>
+				<xs:anyAttribute processContent="lax"/>
 			</xs:complexType>
 		</xs:element>
 		<xs:element name="sizeConstrainedLimit">
 			<xs:complexType>
+				<xs:sequence>
+					<xs:any minOccurs="0" maxOccurs="unbounded" processContent="lax"/>
+				</xs:sequence>
 				<xs:attribute name="limit" type="xs:nonNegativeInteger" use="required"/>
-				<xs:anyAttribute/>
+				<xs:anyAttribute processContent="lax"/>
 			</xs:complexType>
 		</xs:element>
 		<xs:element name="absoluteLimit">
 			<xs:complexType>
+				<xs:sequence>
+					<xs:any minOccurs="0" maxOccurs="unbounded" processContent="lax"/>
+				</xs:sequence>
 				<xs:attribute name="limit" type="xs:nonNegativeInteger" use="required"/>
-				<xs:anyAttribute/>
+				<xs:anyAttribute processContent="lax"/>
 			</xs:complexType>
 		</xs:element>
 		<xs:element name="unitSizeLimit">
 			<xs:complexType>
-				<xs:anyAttribute/>
+				<xs:sequence>
+					<xs:any minOccurs="0" maxOccurs="unbounded" processContent="lax"/>
+				</xs:sequence>
+				<xs:anyAttribute processContent="lax"/>
 			</xs:complexType>
 		</xs:element>
 	</xs:choice>