]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/XMLSchema/FrameworkPlatformDataElements.xsd
Updated MsaFiles to be a choice of <Filename> [1..*] or <MsaFile> [1..*] and added...
[mirror_edk2.git] / Tools / XMLSchema / FrameworkPlatformDataElements.xsd
CommitLineData
878ddf1f 1<?xml version="1.0" encoding="UTF-8"?>\r
2<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://www.TianoCore.org/2006/Edk2.0" targetNamespace="http://www.TianoCore.org/2006/Edk2.0">\r
3 <!--\r
4 Filename: FrameworkPlatformDataElements.xsd\r
5 \r
6 Copyright (c) 2006, Intel Corp.\r
7 All rights reserved. This program and the accompanying materials\r
8 are licensed and made available under the terms and conditions of the BSD License\r
9 which may be found at http://opensource.org/licenses/bsd-license.php\r
10 \r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13 \r
14 -->\r
15 <xs:annotation>\r
16 <xs:documentation xml:lang="en"> This schema defines EFI and Framework Platform Data Elements that are specific to platform creation.</xs:documentation>\r
17 </xs:annotation>\r
18 <xs:include schemaLocation="NamingConvention.xsd"/>\r
92e805e9 19 <xs:include schemaLocation="FrameworkDataAttributes.xsd"/>\r
878ddf1f 20 <xs:include schemaLocation="FrameworkDataTypes.xsd"/>\r
21 <xs:include schemaLocation="FrameworkDataElements.xsd"/>\r
716b2371 22 <xs:include schemaLocation="FrameworkPlatformDataTypes.xsd"/>\r
878ddf1f 23 <xs:element name="Capsule">\r
24 <xs:complexType>\r
25 <xs:sequence>\r
26 <xs:element minOccurs="1" maxOccurs="1" name="CapsuleId" type="xs:string"/>\r
27 <xs:element minOccurs="0" maxOccurs="1" ref="CapsuleOptions"/>\r
28 <xs:element minOccurs="0" maxOccurs="1" ref="CapsuleAttributes"/>\r
29 </xs:sequence>\r
30 </xs:complexType>\r
31 </xs:element>\r
32 <xs:element name="CapsuleAttributes">\r
33 <xs:annotation>\r
34 <xs:documentation xml:lang="en">This element is used specify different name value pairs.</xs:documentation>\r
35 </xs:annotation>\r
36 <xs:complexType>\r
37 <xs:sequence>\r
38 <xs:element minOccurs="0" maxOccurs="unbounded" ref="NameValue"/>\r
39 <xs:element minOccurs="0" maxOccurs="unbounded" ref="Enable"/>\r
40 <xs:element minOccurs="0" maxOccurs="unbounded" ref="Disable"/>\r
41 </xs:sequence>\r
42 </xs:complexType>\r
43 </xs:element>\r
44 <xs:element name="CapsuleOptions">\r
45 <xs:annotation>\r
46 <xs:documentation xml:lang="en">This element is used specify different name value pairs.</xs:documentation>\r
47 </xs:annotation>\r
48 <xs:complexType>\r
49 <xs:sequence>\r
50 <xs:element minOccurs="0" maxOccurs="unbounded" ref="NameValue"/>\r
51 <xs:element minOccurs="0" maxOccurs="unbounded" ref="Enable"/>\r
52 <xs:element minOccurs="0" maxOccurs="unbounded" ref="Disable"/>\r
53 </xs:sequence>\r
54 </xs:complexType>\r
55 </xs:element>\r
56 <xs:element name="Capsules">\r
57 <xs:annotation>\r
58 <xs:documentation xml:lang="en">Permit multiple Capsule Sections</xs:documentation>\r
59 </xs:annotation>\r
60 <xs:complexType>\r
61 <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
62 <xs:element ref="Capsule"/>\r
63 </xs:sequence>\r
64 </xs:complexType>\r
65 </xs:element>\r
66 <xs:element name="Disable" type="xs:string"/>\r
67 <xs:element name="Enable" type="xs:string"/>\r
68 <xs:element name="Flash">\r
69 <xs:complexType>\r
70 <xs:annotation>\r
71 <xs:documentation xml:lang="en">We allow specifying the Flash layout in this directory, or we allow specifying a flashmap filename</xs:documentation>\r
72 </xs:annotation>\r
73 <xs:sequence>\r
74 <xs:choice>\r
75 <xs:element name="FlashDefinition" type="FlashData"/>\r
76 <xs:element name="FlashDefinitionFile" type="FileNameConvention"/>\r
77 </xs:choice>\r
be05f523 78 <xs:element minOccurs="0" maxOccurs="1" ref="FvImages"/>\r
79 <xs:element minOccurs="0" maxOccurs="1" ref="Capsules"/>\r
878ddf1f 80 </xs:sequence>\r
81 <xs:attribute name="MicrocodeFile" type="FileNameConvention" use="optional"/>\r
82 </xs:complexType>\r
83 </xs:element>\r
84 <xs:element name="FlashDeviceImage">\r
85 <xs:annotation>\r
86 <xs:documentation xml:lang="en">Define contents of the regions in flash. The files and data are placed in the output image in the order they are encountered in this definition. Multiple FlashDeviceImage sections may be defined. Which one the tool should use is specified by Name on the command line.</xs:documentation>\r
87 </xs:annotation>\r
88 <xs:complexType>\r
818de870 89 <xs:all>\r
90 <xs:element minOccurs="0" maxOccurs="1" name="RawData">\r
91 <xs:complexType>\r
92 <xs:sequence minOccurs="0" maxOccurs="1">\r
93 <xs:element name="Data" type="xs:string"/>\r
94 </xs:sequence>\r
95 <xs:attributeGroup ref="RawDataAttributes"/>\r
96 </xs:complexType>\r
97 </xs:element>\r
98 <xs:element minOccurs="0" maxOccurs="1" name="File">\r
99 <xs:complexType>\r
100 <xs:attributeGroup ref="FlashDeviceImageFileAttributes"/>\r
101 </xs:complexType>\r
102 </xs:element>\r
103 </xs:all>\r
104 <xs:attributeGroup ref="FlashDeviceImageAttributes"/>\r
878ddf1f 105 </xs:complexType>\r
106 </xs:element>\r
107 <xs:element name="FlashDeviceInfo">\r
108 <xs:annotation>\r
109 <xs:documentation xml:lang="en">This is the Flash Devcie definition List</xs:documentation>\r
110 </xs:annotation>\r
111 <xs:complexType>\r
112 <xs:sequence>\r
818de870 113 <xs:element name="Blocks">\r
114 <xs:complexType>\r
115 <xs:sequence>\r
116 <xs:element minOccurs="1" maxOccurs="255" name="Block">\r
117 <xs:complexType>\r
118 <xs:simpleContent>\r
119 <xs:extension base="BlockNameType">\r
120 <xs:attributeGroup ref="BlockAttributes"/>\r
121 </xs:extension>\r
122 </xs:simpleContent>\r
123 </xs:complexType>\r
124 </xs:element>\r
125 </xs:sequence>\r
126 </xs:complexType>\r
127 </xs:element>\r
128 <xs:element name="Regions">\r
129 <xs:complexType>\r
130 <xs:sequence>\r
131 <xs:element minOccurs="1" maxOccurs="unbounded" name="Region">\r
132 <xs:complexType>\r
133 <xs:all>\r
134 <xs:element name="SubRegions">\r
135 <xs:complexType>\r
136 <xs:sequence minOccurs="0" maxOccurs="unbounded">\r
137 <xs:element name="SubRegion">\r
138 <xs:complexType>\r
139 <xs:simpleContent>\r
140 <xs:extension base="xs:string">\r
141 <xs:attributeGroup ref="SubRegionAttributes"/>\r
142 </xs:extension>\r
143 </xs:simpleContent>\r
144 </xs:complexType>\r
145 </xs:element>\r
146 </xs:sequence>\r
147 </xs:complexType>\r
148 </xs:element>\r
149 </xs:all>\r
150 <xs:attributeGroup ref="RegionAttributes"/>\r
151 </xs:complexType>\r
152 </xs:element>\r
153 </xs:sequence>\r
154 </xs:complexType>\r
155 </xs:element>\r
878ddf1f 156 </xs:sequence>\r
f29b8a33 157 <xs:attributeGroup ref="FlashDeviceInfoAttributes"/>\r
878ddf1f 158 </xs:complexType>\r
159 </xs:element>\r
160 <xs:element name="FlashDeviceOverrideImage">\r
161 <xs:annotation>\r
162 <xs:documentation xml:lang="en">Define OVERRIDE contents of the regions in flash. Only what is different here from what may defined in other areas (or files) is needed </xs:documentation>\r
163 </xs:annotation>\r
164 <xs:complexType>\r
165 <xs:sequence>\r
166 <xs:element minOccurs="0" maxOccurs="1" name="Name" type="NameConvention"/>\r
167 <xs:element minOccurs="0" maxOccurs="unbounded" name="File" type="FvImageOverrideFileType"/>\r
168 </xs:sequence>\r
169 </xs:complexType>\r
170 </xs:element>\r
171 <xs:element name="FlashDeviceOverrideInfo">\r
172 <xs:annotation>\r
173 <xs:documentation xml:lang="en">This is the Flash Devcie Override Definition list. Only what is different from the previously defined stuff needs to be included.</xs:documentation>\r
174 </xs:annotation>\r
175 <xs:complexType>\r
176 <xs:sequence>\r
177 <xs:element minOccurs="0" maxOccurs="1" name="Name" type="UCNameType"/>\r
178 <xs:element default="512KB" minOccurs="0" maxOccurs="1" name="FlashSize" type="FlashSize"/>\r
179 <xs:element minOccurs="0" maxOccurs="1" name="BaseAddress" type="HexAddressType"/>\r
180 <xs:element minOccurs="0" maxOccurs="1" name="OutputDirectory" type="DirectoryNamingConvention"/>\r
181 <xs:element minOccurs="0" maxOccurs="1" name="MicrocodeFile" type="FileNameConvention"/>\r
182 <xs:element minOccurs="0" maxOccurs="255" name="Block" type="BlockNameType"/>\r
183 <xs:element minOccurs="0" maxOccurs="unbounded" name="Region" type="RegionDataType"/>\r
184 </xs:sequence>\r
185 </xs:complexType>\r
186 </xs:element>\r
187 <xs:element name="FvImage">\r
188 <xs:complexType>\r
189 <xs:sequence>\r
190 <xs:element minOccurs="1" maxOccurs="unbounded" ref="FvImageNames"/>\r
191 <xs:element minOccurs="0" maxOccurs="1" ref="FvImageOptions"/>\r
192 </xs:sequence>\r
fb6d4eb2 193 <xs:attribute name="Type" type="FvImageTypes" use="optional"/>\r
878ddf1f 194 </xs:complexType>\r
195 </xs:element>\r
196 <xs:element name="FvImageName">\r
197 <xs:complexType>\r
198 <xs:sequence>\r
199 <xs:element ref="FvImageOptions"/>\r
200 </xs:sequence>\r
201 <xs:attribute name="Name" type="FvRegionTypes" use="required"/>\r
202 </xs:complexType>\r
203 </xs:element>\r
fb6d4eb2 204 <xs:element name="FvImageNames" type="xs:NCName"/>\r
878ddf1f 205 <xs:element name="FvImageOptions">\r
206 <xs:annotation>\r
207 <xs:documentation xml:lang="en">This element is used specify different name value pairs.</xs:documentation>\r
208 </xs:annotation>\r
209 <xs:complexType>\r
210 <xs:sequence>\r
211 <xs:element minOccurs="0" maxOccurs="unbounded" ref="NameValue"/>\r
212 <xs:element minOccurs="0" maxOccurs="unbounded" ref="Enable"/>\r
213 <xs:element minOccurs="0" maxOccurs="unbounded" ref="Disable"/>\r
214 </xs:sequence>\r
215 </xs:complexType>\r
216 </xs:element>\r
217 <xs:element name="FvImages">\r
218 <xs:annotation>\r
219 <xs:documentation xml:lang="en">This section allows the user to define specific information regarding the FvImage</xs:documentation>\r
220 </xs:annotation>\r
221 <xs:complexType>\r
222 <xs:sequence>\r
223 <xs:element minOccurs="0" maxOccurs="unbounded" ref="NameValue"/>\r
224 <xs:element minOccurs="0" maxOccurs="unbounded" ref="FvImage"/>\r
225 <xs:element minOccurs="0" maxOccurs="unbounded" ref="FvImageName"/>\r
226 </xs:sequence>\r
227 </xs:complexType>\r
228 </xs:element>\r
229 <xs:element name="ModuleSA">\r
230 <xs:annotation>\r
231 <xs:documentation xml:lang="en">This element is used to specify information in the Platform Description File.</xs:documentation>\r
232 <xs:documentation xml:lang="en">This is a mixed element, allowing the user to specify the name of the MSA file, as well as to optionally specify additional override information.</xs:documentation>\r
233 </xs:annotation>\r
234 <xs:complexType>\r
235 <xs:sequence minOccurs="1">\r
e4ecc06e 236 <!-- DO NOT USE! REMOVE SourceFiles in FINAL -->\r
237 <xs:element minOccurs="0" maxOccurs="1" ref="SourceFiles"/>\r
238 <!-- DO NOT USE! REMOVE Includes in FINAL -->\r
239 <xs:element minOccurs="0" maxOccurs="1" ref="Includes"/>\r
240 <!-- Libraries stays in FINAL -->\r
878ddf1f 241 <xs:element minOccurs="0" maxOccurs="1" ref="Libraries"/>\r
e4ecc06e 242 <!-- DO NOT USE! REMOVE Protocols in FINAL -->\r
243 <xs:element minOccurs="0" maxOccurs="1" ref="Protocols"/>\r
244 <!-- DO NOT USE! REMOVE Events in FINAL -->\r
245 <xs:element minOccurs="0" maxOccurs="1" ref="Events"/>\r
246 <!-- DO NOT USE! REMOVE Hobs in FINAL -->\r
247 <xs:element minOccurs="0" maxOccurs="1" ref="Hobs"/>\r
248 <!-- DO NOT USE! REMOVE PPIs in FINAL -->\r
249 <xs:element minOccurs="0" maxOccurs="1" ref="PPIs"/>\r
250 <!-- DO NOT USE! REMOVE Variables in FINAL -->\r
251 <xs:element minOccurs="0" maxOccurs="1" ref="Variables"/>\r
252 <!-- DO NOT USE! REMOVE BootModes in FINAL -->\r
253 <xs:element minOccurs="0" maxOccurs="1" ref="BootModes"/>\r
254 <!-- DO NOT USE! REMOVE SystemTables in FINAL -->\r
255 <xs:element minOccurs="0" maxOccurs="1" ref="SystemTables"/>\r
256 <!-- DO NOT USE! REMOVE DataHubs in FINAL -->\r
257 <xs:element minOccurs="0" maxOccurs="1" ref="DataHubs"/>\r
258 <!-- DO NOT USE! REMOVE Formsets in FINAL -->\r
259 <xs:element minOccurs="0" maxOccurs="1" ref="Formsets"/>\r
260 <!-- DO NOT USE! REMOVE Guids in FINAL -->\r
261 <xs:element minOccurs="0" maxOccurs="1" ref="Guids"/>\r
2bf4e0a1 262 <xs:choice minOccurs="0">\r
263 <!-- DO NOT USE! REMOVE Externs stays in FINAL -->\r
264 <xs:element minOccurs="0" maxOccurs="1" ref="Externs"/>\r
265 <xs:element minOccurs="0" maxOccurs="1" name="Extern">\r
266 <xs:annotation>\r
267 <xs:documentation xml:lang="en">Only specification is allow here. We need to let this be an addtion OR, if the WORD portion exists, this entry takes precedence.</xs:documentation>\r
268 </xs:annotation>\r
269 <xs:complexType>\r
270 <xs:sequence>\r
271 <xs:element minOccurs="1" maxOccurs="unbounded" ref="Specification"/>\r
272 </xs:sequence>\r
273 </xs:complexType>\r
274 </xs:element>\r
275 </xs:choice>\r
e4ecc06e 276 <xs:choice>\r
277 <!-- DO NOT USE! REMOVE PcdBuildDeclarations in FINAL -->\r
278 <xs:element minOccurs="0" maxOccurs="1" ref="PcdBuildDeclarations"/>\r
279 <!-- PcdBuildDefinition stays in FINAL -->\r
280 <xs:element minOccurs="0" maxOccurs="1" ref="PcdBuildDefinition"/>\r
281 </xs:choice>\r
282 <!-- BuildOptions stays in FINAL -->\r
f23ffa8e 283 <xs:element minOccurs="0" maxOccurs="1" ref="BuildOptions"/>\r
878ddf1f 284 </xs:sequence>\r
285 <xs:attributeGroup ref="MsaAttributes"/>\r
286 </xs:complexType>\r
287 </xs:element>\r
288 <xs:element name="NameValue">\r
289 <xs:complexType>\r
290 <xs:simpleContent>\r
291 <xs:extension base="xs:string">\r
292 <xs:attribute name="Name" type="xs:string" use="required"/>\r
293 <xs:attribute name="Value" type="xs:string" use="required"/>\r
294 </xs:extension>\r
295 </xs:simpleContent>\r
296 </xs:complexType>\r
297 </xs:element>\r
298 <xs:element name="Overrides">\r
2558d455 299 <xs:annotation>\r
300 <xs:documentation xml:lang="en">DO NOT USE! - Removing this from Schema</xs:documentation>\r
301 </xs:annotation>\r
878ddf1f 302 <xs:complexType>\r
303 <xs:sequence>\r
304 <xs:element minOccurs="0" maxOccurs="1" ref="FlashDeviceOverrideInfo"/>\r
305 <xs:element minOccurs="0" maxOccurs="1" ref="FlashDeviceOverrideImage"/>\r
306 </xs:sequence>\r
307 </xs:complexType>\r
308 </xs:element>\r
309 <xs:element name="PlatformDescriptions">\r
2558d455 310 <xs:annotation>\r
311 <xs:documentation xml:lang="en">DO NOT USE! - Use PlatformList instead</xs:documentation>\r
312 </xs:annotation>\r
313 <xs:complexType>\r
314 <xs:sequence maxOccurs="unbounded">\r
315 <xs:element ref="Platform"/>\r
316 </xs:sequence>\r
317 </xs:complexType>\r
318 </xs:element>\r
319 <xs:element name="PlatformList">\r
320 <xs:annotation>\r
321 <xs:documentation xml:lang="en">This is used in the Framework Database file</xs:documentation>\r
322 </xs:annotation>\r
878ddf1f 323 <xs:complexType>\r
324 <xs:sequence maxOccurs="unbounded">\r
325 <xs:element ref="Platform"/>\r
326 </xs:sequence>\r
327 </xs:complexType>\r
328 </xs:element>\r
2558d455 329 <xs:element name="FrameworkModules">\r
330 <xs:annotation>\r
331 <xs:documentation xml:lang="en">This is used in a Framework Platform Description (FPD) file</xs:documentation>\r
332 </xs:annotation>\r
333 <xs:complexType>\r
334 <xs:sequence>\r
2bf4e0a1 335 <xs:choice>\r
336 <xs:sequence>\r
337 <xs:element minOccurs="0" maxOccurs="1" name="SEC" type="Components"/>\r
338 <xs:element minOccurs="0" maxOccurs="1" name="PEI_CORE" type="Components"/>\r
339 <xs:element minOccurs="0" maxOccurs="1" name="PEIM" type="Components"/>\r
340 <xs:element minOccurs="0" maxOccurs="1" name="DXE_CORE" type="Components"/>\r
341 <xs:element minOccurs="0" maxOccurs="1" name="DXE_DRIVERS" type="Components"/>\r
342 <xs:element minOccurs="0" maxOccurs="1" name="OTHER_COMPONENTS" type="Components"/>\r
343 </xs:sequence>\r
344 <xs:element minOccurs="1" maxOccurs="unbounded" ref="ModuleSA"/>\r
345 </xs:choice>\r
2558d455 346 </xs:sequence>\r
347 </xs:complexType>\r
348 </xs:element>\r
878ddf1f 349 <xs:element name="TianoImage">\r
350 <xs:annotation>\r
2558d455 351 <xs:documentation xml:lang="en">DO NOT USE - Use FrameworkModules Instead.</xs:documentation>\r
878ddf1f 352 </xs:annotation>\r
353 <xs:complexType>\r
354 <xs:sequence>\r
4895d0f0 355 <xs:element minOccurs="0" maxOccurs="1" name="SEC" type="Components"/>\r
356 <xs:element minOccurs="0" maxOccurs="1" name="PEI_CORE" type="Components"/>\r
357 <xs:element minOccurs="0" maxOccurs="1" name="PEIM" type="Components"/>\r
358 <xs:element minOccurs="0" maxOccurs="1" name="DXE_CORE" type="Components"/>\r
359 <xs:element minOccurs="0" maxOccurs="1" name="DXE_DRIVERS" type="Components"/>\r
878ddf1f 360 <xs:element minOccurs="0" maxOccurs="1" name="OTHER_COMPONENTS" type="Components"/>\r
361 </xs:sequence>\r
362 </xs:complexType>\r
363 </xs:element>\r
878ddf1f 364 <xs:complexType name="Components">\r
365 <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
366 <xs:element ref="ModuleSA"/>\r
367 </xs:sequence>\r
368 </xs:complexType>\r
369 <xs:complexType name="FlashData">\r
370 <xs:sequence>\r
371 <xs:element minOccurs="0" maxOccurs="unbounded" name="UserDefinedFvRegion" type="NameConvention"/>\r
372 <xs:choice minOccurs="0" maxOccurs="1">\r
373 <xs:sequence>\r
374 <xs:element minOccurs="1" maxOccurs="1" ref="FlashDeviceInfo"/>\r
375 <xs:element minOccurs="1" maxOccurs="1" ref="FlashDeviceImage"/>\r
376 </xs:sequence>\r
377 </xs:choice>\r
378 <xs:element minOccurs="0" maxOccurs="1" ref="Overrides"/>\r
379 </xs:sequence>\r
380 </xs:complexType>\r
381 <xs:complexType name="FvImageFileType">\r
382 <xs:sequence>\r
383 <xs:element minOccurs="1" maxOccurs="1" name="Name" type="FileNameConvention"/>\r
384 <xs:element minOccurs="1" maxOccurs="1" name="Region" type="FvRegionTypes"/>\r
385 <xs:element minOccurs="1" maxOccurs="unbounded" name="RawData" type="RawDataType"/>\r
386 </xs:sequence>\r
387 </xs:complexType>\r
388 <xs:complexType name="FvImageOverrideFileType">\r
389 <xs:sequence>\r
390 <xs:element minOccurs="0" maxOccurs="1" name="Name" type="FileNameConvention"/>\r
391 <xs:element minOccurs="0" maxOccurs="1" name="Region" type="FvRegionTypes"/>\r
392 <xs:element minOccurs="0" maxOccurs="1" name="UserDefinedFvRegion" type="NameConvention"/>\r
393 <xs:element minOccurs="0" maxOccurs="unbounded" name="RawData" type="RawDataType"/>\r
394 </xs:sequence>\r
395 </xs:complexType>\r
396 <xs:complexType name="RawDataType">\r
397 <xs:sequence>\r
398 <xs:element minOccurs="1" maxOccurs="1" name="Name" type="NameConvention"/>\r
399 <xs:element minOccurs="0" maxOccurs="1" name="Region" type="FvRegionTypes"/>\r
400 <xs:element minOccurs="0" maxOccurs="1" name="UserDefinedFvRegion" type="NameConvention"/>\r
401 <xs:element minOccurs="1" maxOccurs="1" name="SubRegion" type="FvSubRegionTypes"/>\r
402 <xs:element minOccurs="1" maxOccurs="1" name="Data" type="HexDataType"/>\r
403 </xs:sequence>\r
404 </xs:complexType>\r
405 <xs:complexType name="RegionDataType">\r
406 <xs:annotation>\r
407 <xs:documentation xml:lang="en">Define the regions and their uses for the device</xs:documentation>\r
408 </xs:annotation>\r
409 <xs:sequence>\r
410 <xs:element minOccurs="1" maxOccurs="1" name="Name" type="UCNameType"/>\r
411 <xs:element minOccurs="1" maxOccurs="1" name="Size" type="HexAddressType"/>\r
412 <xs:element minOccurs="1" maxOccurs="unbounded" name="Attributes" type="EfiFvAttributeType"/>\r
413 <xs:element minOccurs="1" maxOccurs="1" name="AreaType" type="EfiFvAreaType"/>\r
414 <xs:element minOccurs="0" maxOccurs="unbounded" name="SubRegion" type="SubRegionType"/>\r
415 </xs:sequence>\r
416 </xs:complexType>\r
417 <xs:complexType name="SubRegionType">\r
418 <xs:annotation>\r
419 <xs:documentation xml:lang="en">Define the regions and their uses for the device</xs:documentation>\r
420 </xs:annotation>\r
421 <xs:sequence>\r
422 <xs:element default="true" minOccurs="1" maxOccurs="1" name="CreateHob" type="xs:boolean"/>\r
423 <xs:element minOccurs="1" maxOccurs="1" name="Name" type="UCNameType"/>\r
424 <xs:element minOccurs="1" maxOccurs="1" name="Size" type="HexAddressType"/>\r
425 <xs:element minOccurs="1" maxOccurs="unbounded" name="Attributes" type="EfiFvAttributeType"/>\r
426 <xs:element minOccurs="1" maxOccurs="1" name="AreaType" type="EfiFvAreaType"/>\r
427 <xs:element minOccurs="1" maxOccurs="1" name="NameGuid" type="EfiNameGuidType"/>\r
428 </xs:sequence>\r
429 </xs:complexType>\r
430</xs:schema>\r