changeset 40:7002a9cb0ed6

Re #152: Test and fix extensibility of current schemas * Add lots of extra attributes (from non-existant schema and from existing schema but not defined in schema) * Add category overrides
author IBBoard <dev@ibboard.co.uk>
date Thu, 11 Mar 2010 21:00:24 +0000
parents 5669f2ef6444
children 9980a76e6a5e
files testdata/extended-data.racex
diffstat 1 files changed, 95 insertions(+), 161 deletions(-) [+]
line wrap: on
line diff
--- a/testdata/extended-data.racex	Sun Feb 28 21:10:41 2010 +0000
+++ b/testdata/extended-data.racex	Thu Mar 11 21:00:24 2010 +0000
@@ -1,162 +1,96 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<race xmlns="http://ibboard.co.uk/warfoundry/race" xmlns:core="http://ibboard.co.uk/warfoundry/core" id="EmpireAlt" name="Empire (Extended)" system="test" lang="en">
-	<units>
-		<unit id="Empire1" typeName="Empire General" cat="cat1" points="100" maxNum="1" maxSize="1">
-			<stats>
-				<stat name="M">4</stat>
-				<stat name="WS">6</stat>
-				<stat name="BS">6</stat>
-				<stat name="S">4</stat>
-				<stat name="T">4</stat>
-				<stat name="W">3</stat>
-				<stat name="I">6</stat>
-				<stat name="A">4</stat>
-				<stat name="Ld">9</stat>
-			</stats>
-			<unitEquipment>
-				<unitEquipmentItem id="equip1" required="true" />
-			</unitEquipment>
-		</unit>
-		<unit id="Empire2" typeName="Swordsmen" cat="cat2" points="10">
-			<stats>
-				<stat name="M">4</stat>
-				<stat name="WS">3</stat>
-				<stat name="BS">3</stat>
-				<stat name="S">4</stat>
-				<stat name="T">3</stat>
-				<stat name="W">1</stat>
-				<stat name="I">4</stat>
-				<stat name="A">1</stat>
-				<stat name="Ld">7</stat>
-			</stats>
-			<unitEquipment>
-				<unitEquipmentItem id="equip1" required="true" exclusivityGroup="group1" />
-				<unitEquipmentItem id="equip2"/>
-				<unitEquipmentItem id="equip3" required="true" exclusivityGroup="group1" />
-			</unitEquipment>
-			<contains>
-				<containedUnit containedID="Empire3" />
-			</contains>
-		</unit>
-		<unit id="Empire3" typeName="Swordsmen Champion" cat="cat2" points="35" minSize="1" maxSize="1">
-			<stats>
-				<stat name="M">4</stat>
-				<stat name="WS">4</stat>
-				<stat name="BS">3</stat>
-				<stat name="S">4</stat>
-				<stat name="T">3</stat>
-				<stat name="W">1</stat>
-				<stat name="I">4</stat>
-				<stat name="A">2</stat>
-				<stat name="Ld">7</stat>
-			</stats>
-			<unitEquipment>
-				<unitEquipmentItem id="equip1" required="true" exclusivityGroup="group1" />
-				<unitEquipmentItem id="equip2"/>
-				<unitEquipmentItem id="equip3" required="true" exclusivityGroup="group1" />
-			</unitEquipment>
-			<notes>Champions shouldn't be taken on their own, but we don't stop this yet. DON'T DO IT!</notes>
-		</unit>
-		<unit id="Empire4" typeName="Gunnery Specialists" cat="cat2" points="15">
-			<stats>
-				<stat name="M">4</stat>
-				<stat name="WS">3</stat>
-				<stat name="BS">4</stat>
-				<stat name="S">4</stat>
-				<stat name="T">3</stat>
-				<stat name="W">1</stat>
-				<stat name="I">4</stat>
-				<stat name="A">1</stat>
-				<stat name="Ld">7</stat>
-			</stats>
-			<unitEquipment>
-				<unitEquipmentItem id="equip4" required="true" exclusivityGroup="group1">
-					<minLimit>
-						<core:percentageLimit limit="50" />
-					</minLimit>
-					<maxLimit>
-						<core:percentageLimit limit="100" />
-					</maxLimit>
-				</unitEquipmentItem>
-				<unitEquipmentItem id="equip1" required="true" />
-				<unitEquipmentItem id="equip5">
-					<minLimit>
-						<core:sizeConstrainedLimit limit="0" />
-					</minLimit>
-					<maxLimit>
-						<core:sizeConstrainedLimit limit="5" />
-					</maxLimit>
-				</unitEquipmentItem>
-			</unitEquipment>
-			<unitAbilities>
-				<unitAbility abilityID="goodShot"/>
-			</unitAbilities>
-			<contains>
-				<containedUnit containedID="Empire3" />
-			</contains>
-		</unit>
-		<unit id="Empire5" typeName="Gunnery Heavies" cat="cat2" points="13">
-			<stats>
-				<stat name="M">4</stat>
-				<stat name="WS">3</stat>
-				<stat name="BS">4</stat>
-				<stat name="S">4</stat>
-				<stat name="T">3</stat>
-				<stat name="W">1</stat>
-				<stat name="I">4</stat>
-				<stat name="A">1</stat>
-				<stat name="Ld">7</stat>
-			</stats>
-			<equipmentSlots>
-				<equipmentSlot name="heavyWeapons">
-					<maxLimit>
-						<core:sizeConstrainedLimit limit="5" />
-					</maxLimit>
-				</equipmentSlot>
-			</equipmentSlots>
-			<unitEquipment>
-				<unitEquipmentItem id="equip4" required="true" />
-				<unitEquipmentItem id="equip6" equipmentSlot="heavyWeapons">
-					<minLimit>
-						<core:sizeConstrainedLimit limit="0" />
-					</minLimit>
-					<maxLimit>
-						<core:sizeConstrainedLimit limit="3" />
-					</maxLimit>
-				</unitEquipmentItem>
-				<unitEquipmentItem id="equip7" equipmentSlot="heavyWeapons">
-					<minLimit>
-						<core:sizeConstrainedLimit limit="0" />
-					</minLimit>
-					<maxLimit>
-						<core:sizeConstrainedLimit limit="3" />
-					</maxLimit>
-				</unitEquipmentItem>
-				<unitEquipmentItem id="equip8" equipmentSlot="heavyWeapons">
-					<minLimit>
-						<core:sizeConstrainedLimit limit="0" />
-					</minLimit>
-					<maxLimit>
-						<core:sizeConstrainedLimit limit="3" />
-					</maxLimit>
-				</unitEquipmentItem>
-			</unitEquipment>
-			<contains>
-				<containedUnit containedID="Empire3" />
-			</contains>
-		</unit>
-	</units>
-	<equipment>
-		<equipmentItem id="equip1" name="sword" cost="1"/>
-		<equipmentItem id="equip2" name="shield" cost="1"/>
-		<equipmentItem id="equip3" name="broadsword" cost="2" />
-		<equipmentItem id="equip4" name="Standard Guns" cost="3" />
-		<equipmentItem id="equip5" name="Special Guns" cost="5" />
-		<equipmentItem id="equip6" name="Long Gun" cost="4" />
-		<equipmentItem id="equip7" name="Big Gun" cost="8" />
-		<equipmentItem id="equip8" name="Quick Gun" cost="6" />
-	</equipment>
-	<abilities>
-		<ability id="goodShot" name="Good Shot"><description>The unit is a 'Good Shot' and can add +1 to any to hit roll with missile weapons.</description></ability>
-	</abilities>
+<?xml version="1.0" encoding="UTF-8"?>
+<race xmlns="http://ibboard.co.uk/warfoundry/race" xmlns:cats="http://ibboard.co.uk/warfoundry/cats" xmlns:ext="http://ibboard.co.uk/warfoundry/missing" id="EmpireAlt" name="Empire (Extended)" system="test" extraAttrib="value" ext:extraAttrib="en">
+	<categories extraAttrib="value" ext:extraAttrib="en">
+		<cats:cat id="cat1" name="Cat1"  extraAttrib="value" ext:extraAttrib="en">
+			<child></child>
+		</cats:cat>
+	</categories>
+	<units>
+		<unit id="Empire1" typeName="Empire General" cat="cat1" points="100" maxNum="1" maxSize="1" extraAttrib="value" ext:extraAttrib="en">
+			<stats extraAttrib="value" ext:extraAttrib="en">
+				<stat name="m" extraAttrib="value" ext:extraAttrib="en">4</stat>
+				<stat name="WS">6</stat>
+				<stat name="BS">6</stat>
+				<stat name="S">4</stat>
+				<stat name="T">4</stat>
+				<stat name="W">3</stat>
+				<stat name="I">6</stat>
+				<stat name="A">4</stat>
+				<stat name="Ld">9</stat>
+			</stats>
+			<unitEquipment extraAttrib="value" ext:extraAttrib="en">
+				<unitEquipmentItem id="equip1" required="true" extraAttrib="value" ext:extraAttrib="en" />
+			</unitEquipment>
+			<extraData extraAttrib="value" ext:extraAttrib="en">
+				<data id="data" extraAttrib="value" ext:extraAttrib="en"></data>
+			</extraData>
+		</unit>
+		<unit id="Empire2" typeName="Swordsmen" cat="cat2" points="10">
+			<stats>
+				<stat name="M">4</stat>
+				<stat name="WS">3</stat>
+				<stat name="BS">3</stat>
+				<stat name="S">4</stat>
+				<stat name="T">3</stat>
+				<stat name="W">1</stat>
+				<stat name="I">4</stat>
+				<stat name="A">1</stat>
+				<stat name="Ld">7</stat>
+			</stats>
+			<unitEquipment>
+				<unitEquipmentItem id="equip1" required="true" exclusivityGroup="group1" />
+				<unitEquipmentItem id="equip2"/>
+				<unitEquipmentItem id="equip3" required="true" exclusivityGroup="group1" />
+			</unitEquipment>
+			<contains>
+				<containedUnit containedID="Empire3" extraAttrib="value" ext:extraAttrib="en" />
+			</contains>
+		</unit>
+		<unit id="Empire3" typeName="Swordsmen Champion" cat="cat2" points="35">
+			<stats>
+				<stat name="M">4</stat>
+				<stat name="WS">4</stat>
+				<stat name="BS">3</stat>
+				<stat name="S">4</stat>
+				<stat name="T">3</stat>
+				<stat name="W">1</stat>
+				<stat name="I">4</stat>
+				<stat name="A">2</stat>
+				<stat name="Ld">7</stat>
+			</stats>
+			<unitEquipment>
+				<unitEquipmentItem id="equip1" required="true" exclusivityGroup="group1" />
+				<unitEquipmentItem id="equip2"/>
+				<unitEquipmentItem id="equip3" required="true" exclusivityGroup="group1" />
+			</unitEquipment>
+		</unit>
+		<unit id="Empire4" typeName="Gunnery Specialists" cat="cat2" points="15">
+			<stats>
+				<stat name="M">4</stat>
+				<stat name="WS">3</stat>
+				<stat name="BS">4</stat>
+				<stat name="S">4</stat>
+				<stat name="T">3</stat>
+				<stat name="W">1</stat>
+				<stat name="I">4</stat>
+				<stat name="A">1</stat>
+				<stat name="Ld">7</stat>
+			</stats>
+			<unitEquipment>
+				<unitEquipmentItem id="equip4" required="true" exclusivityGroup="group1" minPercentage="50" maxPercentage="100" />
+				<unitEquipmentItem id="equip1" required="true" />
+				<unitEquipmentItem id="equip5" minNum="0" maxNum="5" />
+			</unitEquipment>
+			<contains extraAttrib="value" ext:extraAttrib="en">
+				<containedUnit containedID="Empire3" extraAttrib="value" ext:extraAttrib="en" />
+			</contains>
+		</unit>
+	</units>
+	<equipment extraAttrib="value" ext:extraAttrib="en">
+		<equipmentItem id="equip1" name="sword" cost="1" extraAttrib="value" ext:extraAttrib="en"/>
+		<equipmentItem id="equip2" name="shield" cost="1"/>
+		<equipmentItem id="equip3" name="broadsword" cost="2" />
+		<equipmentItem id="equip4" name="Standard Guns" cost="3" />
+		<equipmentItem id="equip5" name="Special Guns" cost="5" />
+	</equipment>
 </race>
\ No newline at end of file