comparison dtds/race.xsd @ 21:1e18de815472

Re #32 - Migrate WarFoundry to schemas * Add "WarFoundry-Core" schema to define numerical types with -1 taking a special value * Add "WarFoundry-Cats" to store common category definition between race and system * Add full system schema * Add partial implementation of race schema Re #34 - Remove choices and base/increment * "WarFoundry-Cats" schema only includes min/max points and percentage
author IBBoard <dev@ibboard.co.uk>
date Sat, 07 Mar 2009 20:47:32 +0000
parents
children 28e99aa0053f
comparison
equal deleted inserted replaced
20:b7c93a5821cd 21:1e18de815472
1 <?xml version="1.0"?>
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:core="http://ibboard.co.uk/warfoundry/core" xmlns:cats="http://ibboard.co.uk/warfoundry/cats"
3 targetNamespace="http://ibboard.co.uk/warfoundry/race" xmlns="http://ibboard.co.uk/warfoundry/race" elementFormDefault="qualified">
4 <xs:element name="race">
5 <xs:complexType>
6 <xs:sequence>
7 <xs:element name="units" type="unitstype"/>
8 <xs:element name="categories" type="cats:categoriestype" />
9 <xs:element name="equipment" type="equipmenttype" />
10 <xs:element name="abilities" type="abilitiestype" />
11 </xs:sequence>
12 <xs:attribute name="id" type="xs:ID" />
13 <xs:attribute name="subid" type="xs:string" default=""/>
14 <xs:attribute name="name" type="xs:string" use="required"/>
15 <xs:attribute name="system" type="xs:string" use="required"/>
16 </xs:complexType>
17 </xs:element>
18 <xs:complexType name="unitstype">
19 <xs:sequence>
20 <xs:element name="unit" type="unittype" minOccurs="1" maxOccurs="unbounded"/>
21 </xs:sequence>
22 </xs:complexType>
23 <xs:complexType name="unittype">
24 <xs:sequence>
25 <xs:element name="unitCats" type="unitcatstype"/>
26 <xs:element name="stats" type="statstype" />
27 <xs:element name="unitEquipment" type="unitequipmenttype" />
28 <xs:element name="requirements" type="requirementstype" />
29 <xs:element name="contains" type="containstype" />
30 <xs:element name="requirements" type="requirementstype" />
31 </xs:sequence>
32 <xs:attribute name="id" type="xs:ID" />
33 <xs:attribute name="typeName" type="xs:string" use="required"/>
34 <xs:attribute name="cat" type="xs:string" use="required"/>
35 <xs:attribute name="unitPoints" type="core:nonNegativeDecimal" default="0"/>
36 <xs:attribute name="points" type="core:nonNegativeDecimal" use="required"/>
37 <xs:attribute name="minNumber" type="core:nonNegativeInteger" default="0"/>
38 <xs:attribute name="maxNumber" type="core:infiniteOrNonNegativeInteger" default="-1"/>
39 <xs:attribute name="minSize" type="core:positiveInteger" default="5"/>
40 <xs:attribute name="maxSize" type="core:infiniteOrNonNegativeInteger" default="-1"/>
41 <xs:attribute name="baseSize" type="xsd:nonNegativeInteger" default="0"/>
42 </xs:complexType>
43 <xs:complexType name="statstype">
44 <xs:sequence>
45 <xs:element name="stat" type="stattype" minOccurs="1" maxOccurs="unbounded"/>
46 </xs:sequence>
47 </xs:complexType>
48 <xs:complexType name="stattype">
49 <xs:simpleContent>
50 <xs:extension base="xs:string"/>
51 </xs:simpleContent>
52 <xs:attribute name="name" type="xs:string" use="required"/>
53 </xs:complexType>
54 </xs:schema>