Mercurial > repos > IBDev-IBBoard.WarFoundry.API
changeset 249:2f8fd45d55e2
Fixes #152: Test and fix extensibility of current schemas
* Complete forward and backward compatibility of schemas (according to testing)
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 13 Mar 2010 20:51:04 +0000 |
parents | 6abf70f31ae4 |
children | b8b6a1c50023 |
files | schemas/army.xsd schemas/race.xsd schemas/system.xsd |
diffstat | 3 files changed, 13 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/schemas/army.xsd Sat Mar 13 16:46:42 2010 +0000 +++ b/schemas/army.xsd Sat Mar 13 20:51:04 2010 +0000 @@ -2,12 +2,13 @@ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ibboard.co.uk/warfoundry/army" xmlns="http://ibboard.co.uk/warfoundry/army" xmlns:core="http://ibboard.co.uk/warfoundry/core" elementFormDefault="qualified"> <xs:element name="army"> <xs:complexType> - <xs:all> + <xs:sequence> <xs:element name="units"> <xs:complexType> <xs:sequence> <xs:element name="unit" minOccurs="0" maxOccurs="unbounded" type="unit"/> </xs:sequence> + <xs:anyAttribute processContents="lax"/> </xs:complexType> </xs:element> <xs:element name="customEquipment" minOccurs="0"> @@ -32,10 +33,11 @@ </xs:complexType> </xs:element> </xs:sequence> + <xs:anyAttribute processContents="lax"/> </xs:complexType> </xs:element> <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> - </xs:all> + </xs:sequence> <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"/> @@ -48,7 +50,7 @@ <!-- Re-usable complex types --> <xs:complexType name="unit"> - <xs:all> + <xs:sequence> <xs:element name="equipment" minOccurs="0"> <xs:complexType> <xs:sequence> @@ -57,7 +59,7 @@ <xs:sequence> <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> </xs:sequence> - <xs:attribute name="id" type="xs:string" /> + <xs:attribute name="id" type="xs:string" use="required" /> <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"/> @@ -65,6 +67,7 @@ </xs:complexType> </xs:element> </xs:sequence> + <xs:anyAttribute processContents="lax"/> </xs:complexType> </xs:element> <xs:element name="contains" minOccurs="0"> @@ -83,7 +86,7 @@ </xs:complexType> </xs:element> <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> - </xs:all> + </xs:sequence> <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"/>
--- a/schemas/race.xsd Sat Mar 13 16:46:42 2010 +0000 +++ b/schemas/race.xsd Sat Mar 13 20:51:04 2010 +0000 @@ -102,7 +102,7 @@ <xs:element name="unitAbility" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> - <xs:any minOccurs="0" processContents="lax"/> + <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> </xs:sequence> <xs:attribute name="abilityID" type="xs:IDREF" /> <xs:attribute name="required" type="xs:boolean" default="true"/> @@ -136,7 +136,7 @@ <xs:element name="containedUnit" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> - <xs:any minOccurs="0" processContents="lax"/> + <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> </xs:sequence> <xs:attribute name="containedID" type="xs:IDREF" use="required"/> <xs:anyAttribute processContents="lax"/>
--- a/schemas/system.xsd Sat Mar 13 16:46:42 2010 +0000 +++ b/schemas/system.xsd Sat Mar 13 20:51:04 2010 +0000 @@ -13,6 +13,9 @@ <xs:sequence> <xs:element name="sysStat" maxOccurs="unbounded"> <xs:complexType> + <xs:sequence> + <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> + </xs:sequence> <xs:attribute name="name" type="xs:string" use="required"/> <xs:anyAttribute processContents="lax"/> </xs:complexType>