diff dtds/race.xsd @ 40:3664eee50390

Fixes #47 - remove magic numbers * Create "infinity" in core types * Redefine special core types without trying to use non-existant INF for Integers * Use new types in Cats and Race * Remove special handling of INF when parsing an integer attribute Closes #46 - Resolve problems using custom restrictions of decimal and double * New schemas seem to work without exceptioning
author IBBoard <dev@ibboard.co.uk>
date Sat, 21 Mar 2009 17:04:33 +0000
parents 548cfc776f54
children d0812d7de39d
line wrap: on
line diff
--- a/dtds/race.xsd	Thu Mar 19 20:12:29 2009 +0000
+++ b/dtds/race.xsd	Sat Mar 21 17:04:33 2009 +0000
@@ -33,12 +33,12 @@
   <xs:attribute name="id" type="xs:ID" />
   <xs:attribute name="typeName" type="xs:string" use="required"/>
   <xs:attribute name="cat" type="xs:string" use="required"/>
-  <xs:attribute name="unitPoints" type="core:nonNegativeDouble" default="0"/>
-  <xs:attribute name="points" type="core:nonNegativeDouble" use="required"/>
+  <xs:attribute name="unitPoints" type="core:nonNegativeNonInfiniteDouble" default="0"/>
+  <xs:attribute name="points" type="core:nonNegativeNonInfiniteDouble" use="required"/>
   <xs:attribute name="minNum" type="xs:nonNegativeInteger" default="0"/>
-  <xs:attribute name="maxNum" type="xs:positiveInteger" default="INF"/>
+  <xs:attribute name="maxNum" type="core:positiveOrInfiniteInteger" default="-1"/>
   <xs:attribute name="minSize" type="xs:positiveInteger" default="5"/>
-  <xs:attribute name="maxSize" type="xs:positiveInteger" default="INF"/>
+  <xs:attribute name="maxSize" type="core:positiveOrInfiniteInteger" default="-1"/>
   <xs:attribute name="baseSize" type="xs:nonNegativeInteger" default="0"/>
 </xs:complexType>
 <xs:complexType name="statstype">
@@ -62,8 +62,8 @@
   <xs:attribute name="id" type="xs:IDREF" />
   <xs:attribute name="required" type="xs:boolean" default="false"/>
   <xs:attribute name="exclusivityGroup" type="xs:string" default=""/>
-  <xs:attribute name="minNum" type="xs:positiveInteger" default="INF"/>
-  <xs:attribute name="maxNum" type="xs:positiveInteger" default="INF"/>
+  <xs:attribute name="minNum" type="core:positiveOrInfiniteInteger" default="-1"/>
+  <xs:attribute name="maxNum" type="core:positiveOrInfiniteInteger" default="-1"/>
   <xs:attribute name="minPercentage" type="core:percentage" default="100"/>
   <xs:attribute name="maxPercentage" type="core:percentage" default="100"/>
   <xs:attribute name="roundDirection" type="updowntype" default="up"/>
@@ -126,7 +126,7 @@
   </xs:all>
   <xs:attribute name="id" type="xs:ID" use="required"/>
   <xs:attribute name="name" type="xs:string" use="required"/>
-  <xs:attribute name="cost" type="core:nonNegativeDouble" use="required"/>
+  <xs:attribute name="cost" type="core:nonNegativeNonInfiniteDouble" use="required"/>
   <xs:attribute name="armoutType" type="armourtype" default="none"/>
 </xs:complexType>
 <xs:simpleType name="armourtype">