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"/>