Mercurial > repos > IBDev-IBBoard.WarFoundry.API
comparison dtds/race.xsd @ 146:0b32cc40d82f
Re #152: Test and fix extensibility of current schemas
* Add extensibility to Race schema
Also:
* Code tidy for WarFoundryXmlFactoryUtils
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Wed, 23 Sep 2009 19:58:21 +0000 |
parents | f70c709dad8b |
children | 938409fc24cc |
comparison
equal
deleted
inserted
replaced
145:57517f472ab5 | 146:0b32cc40d82f |
---|---|
16 <xs:element name="stat" minOccurs="1" maxOccurs="unbounded"> | 16 <xs:element name="stat" minOccurs="1" maxOccurs="unbounded"> |
17 <xs:complexType> | 17 <xs:complexType> |
18 <xs:simpleContent> | 18 <xs:simpleContent> |
19 <xs:extension base="xs:string"> | 19 <xs:extension base="xs:string"> |
20 <xs:attribute name="name" type="xs:string" use="required"/> | 20 <xs:attribute name="name" type="xs:string" use="required"/> |
21 <xs:anyAttribute/> | |
21 </xs:extension> | 22 </xs:extension> |
22 </xs:simpleContent> | 23 </xs:simpleContent> |
23 </xs:complexType> | 24 </xs:complexType> |
24 </xs:element> | 25 </xs:element> |
25 </xs:sequence> | 26 </xs:sequence> |
27 <xs:anyAttribute/> | |
26 </xs:complexType> | 28 </xs:complexType> |
27 </xs:element> | 29 </xs:element> |
28 <xs:element name="unitEquipment"> | 30 <xs:element name="unitEquipment"> |
29 <xs:complexType> | 31 <xs:complexType> |
30 <xs:sequence> | 32 <xs:sequence> |
38 <xs:attribute name="minPercentage" type="core:percentage" default="100"/> | 40 <xs:attribute name="minPercentage" type="core:percentage" default="100"/> |
39 <xs:attribute name="maxPercentage" type="core:percentage" default="100"/> | 41 <xs:attribute name="maxPercentage" type="core:percentage" default="100"/> |
40 <xs:attribute name="roundDirection" type="updowntype" default="up"/> | 42 <xs:attribute name="roundDirection" type="updowntype" default="up"/> |
41 <xs:attribute name="costMultiplier" type="core:nonNegativeDouble" default="1"/> | 43 <xs:attribute name="costMultiplier" type="core:nonNegativeDouble" default="1"/> |
42 <xs:attribute name="costRounding" type="costroundingtype" default="UpToHalf"/> | 44 <xs:attribute name="costRounding" type="costroundingtype" default="UpToHalf"/> |
43 </xs:complexType> | 45 <xs:anyAttribute/> |
44 </xs:element> | 46 </xs:complexType> |
45 </xs:sequence> | 47 </xs:element> |
48 </xs:sequence> | |
49 <xs:anyAttribute/> | |
46 </xs:complexType> | 50 </xs:complexType> |
47 </xs:element> | 51 </xs:element> |
48 <xs:element name="unitAbilities" minOccurs="0"> | 52 <xs:element name="unitAbilities" minOccurs="0"> |
49 <xs:complexType> | 53 <xs:complexType> |
50 <xs:sequence> | 54 <xs:sequence> |
51 <xs:element name="unitAbility" maxOccurs="unbounded"> | 55 <xs:element name="unitAbility" maxOccurs="unbounded"> |
52 <xs:complexType> | 56 <xs:complexType> |
53 <xs:attribute name="abilityID" type="xs:IDREF" /> | 57 <xs:attribute name="abilityID" type="xs:IDREF" /> |
54 <xs:attribute name="required" type="xs:boolean" default="true"/> | 58 <xs:attribute name="required" type="xs:boolean" default="true"/> |
55 </xs:complexType> | 59 <xs:anyAttribute/> |
56 </xs:element> | 60 </xs:complexType> |
57 </xs:sequence> | 61 </xs:element> |
62 </xs:sequence> | |
63 <xs:anyAttribute/> | |
58 </xs:complexType> | 64 </xs:complexType> |
59 </xs:element> | 65 </xs:element> |
60 <xs:element name="requirements" minOccurs="0"> | 66 <xs:element name="requirements" minOccurs="0"> |
61 <xs:complexType> | 67 <xs:complexType> |
62 <xs:sequence> | 68 <xs:sequence> |
63 <xs:element name="requirement"> | 69 <xs:element name="requirement"> |
64 <xs:complexType> | 70 <xs:complexType> |
65 <xs:simpleContent> | 71 <xs:simpleContent> |
66 <xs:extension base="xs:string"> | 72 <xs:extension base="xs:string"> |
67 <xs:attribute name="requirementName" type="xs:string" use="required"/> | 73 <xs:attribute name="requirementName" type="xs:string" use="required"/> |
74 <xs:anyAttribute/> | |
68 </xs:extension> | 75 </xs:extension> |
69 </xs:simpleContent> | 76 </xs:simpleContent> |
70 </xs:complexType> | 77 </xs:complexType> |
71 </xs:element> | 78 </xs:element> |
72 </xs:sequence> | 79 </xs:sequence> |
80 <xs:anyAttribute/> | |
73 </xs:complexType> | 81 </xs:complexType> |
74 </xs:element> | 82 </xs:element> |
75 <xs:element name="contains" minOccurs="0"> | 83 <xs:element name="contains" minOccurs="0"> |
76 <xs:complexType> | 84 <xs:complexType> |
77 <xs:sequence> | 85 <xs:sequence> |
78 <xs:element name="containedUnit"> | 86 <xs:element name="containedUnit"> |
79 <xs:complexType> | 87 <xs:complexType> |
80 <xs:attribute name="containedID" type="xs:IDREF" use="required"/> | 88 <xs:attribute name="containedID" type="xs:IDREF" use="required"/> |
81 </xs:complexType> | 89 <xs:anyAttribute/> |
82 </xs:element> | 90 </xs:complexType> |
83 </xs:sequence> | 91 </xs:element> |
92 </xs:sequence> | |
93 <xs:anyAttribute/> | |
84 </xs:complexType> | 94 </xs:complexType> |
85 </xs:element> | 95 </xs:element> |
86 <xs:element name="extraData" minOccurs="0"> | 96 <xs:element name="extraData" minOccurs="0"> |
87 <xs:complexType> | 97 <xs:complexType> |
88 <xs:sequence> | 98 <xs:sequence> |
89 <xs:element name="data"> | 99 <xs:element name="data"> |
90 <xs:complexType> | 100 <xs:complexType> |
91 <xs:simpleContent> | 101 <xs:simpleContent> |
92 <xs:extension base="xs:string"> | 102 <xs:extension base="xs:string"> |
93 <xs:attribute name="id" type="xs:ID" use="required"/> | 103 <xs:attribute name="id" type="xs:ID" use="required"/> |
104 <xs:anyAttribute/> | |
94 </xs:extension> | 105 </xs:extension> |
95 </xs:simpleContent> | 106 </xs:simpleContent> |
96 </xs:complexType> | 107 </xs:complexType> |
97 </xs:element> | 108 </xs:element> |
98 </xs:sequence> | 109 </xs:sequence> |
110 <xs:anyAttribute/> | |
99 </xs:complexType> | 111 </xs:complexType> |
100 </xs:element> | 112 </xs:element> |
101 <xs:element name="notes" type="xs:string" minOccurs="0" /> | 113 <xs:element name="notes" type="xs:string" minOccurs="0" /> |
102 </xs:all> | 114 </xs:all> |
103 <xs:attribute name="id" type="xs:ID" /> | 115 <xs:attribute name="id" type="xs:ID" /> |
108 <xs:attribute name="minNum" type="xs:nonNegativeInteger" default="0"/> | 120 <xs:attribute name="minNum" type="xs:nonNegativeInteger" default="0"/> |
109 <xs:attribute name="maxNum" type="core:positiveOrInfiniteInteger" default="-1"/> | 121 <xs:attribute name="maxNum" type="core:positiveOrInfiniteInteger" default="-1"/> |
110 <xs:attribute name="minSize" type="xs:nonNegativeInteger" default="5"/> | 122 <xs:attribute name="minSize" type="xs:nonNegativeInteger" default="5"/> |
111 <xs:attribute name="maxSize" type="core:positiveOrInfiniteInteger" default="-1"/> | 123 <xs:attribute name="maxSize" type="core:positiveOrInfiniteInteger" default="-1"/> |
112 <xs:attribute name="baseSize" type="xs:nonNegativeInteger" default="0"/> | 124 <xs:attribute name="baseSize" type="xs:nonNegativeInteger" default="0"/> |
125 <xs:anyAttribute/> | |
113 </xs:complexType> | 126 </xs:complexType> |
114 </xs:element> | 127 </xs:element> |
115 </xs:sequence> | 128 </xs:sequence> |
116 </xs:complexType> | 129 </xs:complexType> |
117 </xs:element> | 130 </xs:element> |
126 </xs:all> | 139 </xs:all> |
127 <xs:attribute name="id" type="xs:ID" use="required"/> | 140 <xs:attribute name="id" type="xs:ID" use="required"/> |
128 <xs:attribute name="name" type="xs:string" use="required"/> | 141 <xs:attribute name="name" type="xs:string" use="required"/> |
129 <xs:attribute name="cost" type="core:nonNegativeNonInfiniteDouble" use="required"/> | 142 <xs:attribute name="cost" type="core:nonNegativeNonInfiniteDouble" use="required"/> |
130 <xs:attribute name="armourType" type="armourtype" default="None"/> | 143 <xs:attribute name="armourType" type="armourtype" default="None"/> |
144 <xs:anyAttribute/> | |
131 </xs:complexType> | 145 </xs:complexType> |
132 </xs:element> | 146 </xs:element> |
133 </xs:sequence> | 147 </xs:sequence> |
148 <xs:anyAttribute/> | |
134 </xs:complexType> | 149 </xs:complexType> |
135 </xs:element> | 150 </xs:element> |
136 <xs:element name="abilities" minOccurs="0"> | 151 <xs:element name="abilities" minOccurs="0"> |
137 <xs:complexType> | 152 <xs:complexType> |
138 <xs:sequence> | 153 <xs:sequence> |
141 <xs:all> | 156 <xs:all> |
142 <xs:element name="description" type="xs:string" /> | 157 <xs:element name="description" type="xs:string" /> |
143 </xs:all> | 158 </xs:all> |
144 <xs:attribute name="id" type="xs:ID" use="required"/> | 159 <xs:attribute name="id" type="xs:ID" use="required"/> |
145 <xs:attribute name="name" type="xs:string" use="required"/> | 160 <xs:attribute name="name" type="xs:string" use="required"/> |
161 <xs:anyAttribute/> | |
146 </xs:complexType> | 162 </xs:complexType> |
147 </xs:element> | 163 </xs:element> |
148 </xs:sequence> | 164 </xs:sequence> |
165 <xs:anyAttribute/> | |
149 </xs:complexType> | 166 </xs:complexType> |
150 </xs:element> | 167 </xs:element> |
151 </xs:all> | 168 </xs:all> |
152 <xs:attribute name="id" type="xs:ID" /> | 169 <xs:attribute name="id" type="xs:ID" /> |
153 <xs:attribute name="subid" type="xs:string" default=""/> | 170 <xs:attribute name="subid" type="xs:string" default=""/> |
154 <xs:attribute name="name" type="xs:string" use="required"/> | 171 <xs:attribute name="name" type="xs:string" use="required"/> |
155 <xs:attribute name="system" type="xs:string" use="required"/> | 172 <xs:attribute name="system" type="xs:string" use="required"/> |
173 <xs:anyAttribute/> | |
156 </xs:complexType> | 174 </xs:complexType> |
157 </xs:element> | 175 </xs:element> |
158 <xs:simpleType name="updowntype"> | 176 <xs:simpleType name="updowntype"> |
159 <xs:restriction base="xs:string"> | 177 <xs:restriction base="xs:string"> |
160 <xs:enumeration value="up"/> | 178 <xs:enumeration value="up"/> |