changeset 278:c1d55ea8a2a1

Re #297: Move Categories over to key/keyref from ID/IDREF * Make category use a string for an ID * Add key to system - key needs to be outside <complexType> so we can't put it in warfoundry-cats.xsd at the moment TODO: Add matching code to Race, or find a way to "alias" and create a categories element that uses the type and the key within warfoundry-cats.xsd
author IBBoard <dev@ibboard.co.uk>
date Wed, 07 Jul 2010 19:01:13 +0000
parents c7a95912c1e8
children 51b3027a7dae
files schemas/system.xsd schemas/warfoundry-cats.xsd
diffstat 2 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/schemas/system.xsd	Sun Jul 04 20:03:32 2010 +0000
+++ b/schemas/system.xsd	Wed Jul 07 19:01:13 2010 +0000
@@ -4,7 +4,12 @@
 <xs:element name="system">
 	<xs:complexType>
 		<xs:sequence>
-			<xs:element name="categories" type="cats:categoriestype"/>
+			<xs:element name="categories" type="cats:categoriestype">
+				<xs:key name="catsKey">
+					<xs:selector xpath="cats:cat"/>
+					<xs:field xpath="@id"/>
+				</xs:key>
+			</xs:element>
 			<xs:element name="sysStatsList">
 				<xs:complexType>
 					<xs:sequence>
--- a/schemas/warfoundry-cats.xsd	Sun Jul 04 20:03:32 2010 +0000
+++ b/schemas/warfoundry-cats.xsd	Wed Jul 07 19:01:13 2010 +0000
@@ -6,9 +6,9 @@
 		<xs:element name="cat" minOccurs="1" maxOccurs="unbounded">
 			<xs:complexType>
 				<xs:sequence>
-					<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>	
+					<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
 				</xs:sequence>
-				<xs:attribute name="id" type="xs:ID" />
+				<xs:attribute name="id" type="xs:string" use="required" />
 				<xs:attribute name="name" type="xs:string" use="required"/>
 				<xs:attribute name="minPoints" type="core:nonNegativeDouble" default="0"/>
 				<xs:attribute name="maxPoints" type="core:nonNegativeOrInfiniteInteger" default="-1"/>