]>
Commit | Line | Data |
---|---|---|
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/2007/Edk2.1" targetNamespace="http://www.TianoCore.org/2007/Edk2.1">\r | |
3 | <!--\r | |
4 | Filename: FrameworkDataElements.xsd\r | |
5 | \r | |
6 | Copyright (c) 2007, 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 Data Elements </xs:documentation>\r | |
17 | </xs:annotation>\r | |
18 | <xs:include schemaLocation="NamingConvention.xsd"/>\r | |
19 | <xs:include schemaLocation="FrameworkDataTypes.xsd"/>\r | |
20 | <xs:include schemaLocation="FrameworkDataAttributes.xsd"/>\r | |
21 | <xs:element name="Abstract" type="Sentence">\r | |
22 | <xs:annotation>\r | |
23 | <xs:documentation xml:lang="en">Abstract is valid for all Description Files</xs:documentation>\r | |
24 | <xs:documentation xml:lang="en">This section is required. This is a single sentence to describe the module and will be used in sample files as the abstract data in the header comment section.</xs:documentation>\r | |
25 | </xs:annotation>\r | |
26 | </xs:element>\r | |
27 | <xs:element name="BootModes">\r | |
28 | <xs:annotation>\r | |
29 | <xs:documentation xml:lang="en">BootModes is valid for all Description Files</xs:documentation>\r | |
30 | <xs:documentation xml:lang="en">This is a list of BootModes Supported by the Module</xs:documentation>\r | |
31 | </xs:annotation>\r | |
32 | <xs:complexType>\r | |
33 | <xs:sequence>\r | |
34 | <xs:element minOccurs="1" maxOccurs="unbounded" name="BootMode">\r | |
35 | <xs:complexType>\r | |
36 | <xs:sequence minOccurs="0">\r | |
37 | <xs:element name="HelpText" type="Paragraph"/>\r | |
38 | </xs:sequence>\r | |
39 | <xs:attributeGroup ref="BootModeAttributes"/>\r | |
40 | </xs:complexType>\r | |
41 | </xs:element>\r | |
42 | </xs:sequence>\r | |
43 | </xs:complexType>\r | |
44 | </xs:element>\r | |
45 | <xs:element name="Copyright" type="Paragraph"/>\r | |
46 | <xs:element name="DataHubs">\r | |
47 | <xs:annotation>\r | |
48 | <xs:documentation xml:lang="en">This is a list of DataHubRecord elements.</xs:documentation>\r | |
49 | </xs:annotation>\r | |
50 | <xs:complexType>\r | |
51 | <xs:sequence>\r | |
52 | <xs:element minOccurs="1" maxOccurs="unbounded" name="DataHubRecord">\r | |
53 | <xs:complexType>\r | |
54 | <xs:sequence>\r | |
55 | <xs:element minOccurs="1" maxOccurs="1" name="DataHubCName" type="C_NameType"/>\r | |
56 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
57 | </xs:sequence>\r | |
58 | <xs:attributeGroup ref="DataHubAttributes"/>\r | |
59 | </xs:complexType>\r | |
60 | </xs:element>\r | |
61 | </xs:sequence>\r | |
62 | </xs:complexType>\r | |
63 | </xs:element>\r | |
64 | <xs:element name="DefaultValue">\r | |
65 | <xs:annotation>\r | |
66 | <xs:documentation xml:lang="en">The default setting of a PCD entry.</xs:documentation>\r | |
67 | </xs:annotation>\r | |
68 | <xs:complexType>\r | |
69 | <xs:simpleContent>\r | |
70 | <xs:extension base="xs:normalizedString"/>\r | |
71 | </xs:simpleContent>\r | |
72 | </xs:complexType>\r | |
73 | </xs:element>\r | |
74 | <xs:element name="Depex">\r | |
75 | <xs:annotation>\r | |
76 | <xs:documentation xml:lang="en">This section is used to describe the DXE or PEI Dependency code</xs:documentation>\r | |
77 | </xs:annotation>\r | |
78 | <xs:complexType>\r | |
79 | <xs:sequence>\r | |
80 | <xs:element minOccurs="0" maxOccurs="unbounded" name="Define" type="xs:normalizedString"/>\r | |
81 | <xs:element minOccurs="0" maxOccurs="unbounded" name="Expression" type="xs:string"/>\r | |
82 | </xs:sequence>\r | |
83 | </xs:complexType>\r | |
84 | </xs:element>\r | |
85 | <xs:element name="Description" type="Paragraph">\r | |
86 | <xs:annotation>\r | |
87 | <xs:documentation xml:lang="en">This section is required for new modules and libraries and must contain more information than the Abstract.</xs:documentation>\r | |
88 | </xs:annotation>\r | |
89 | </xs:element>\r | |
90 | <xs:element name="BinaryFiles">\r | |
91 | <xs:annotation>\r | |
92 | <xs:documentation xml:lang="en">Multiple Filenames may be specified, and they may also be scoped to a specific Architecture.</xs:documentation>\r | |
93 | </xs:annotation>\r | |
94 | <xs:complexType>\r | |
95 | <xs:sequence>\r | |
96 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
97 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">\r | |
98 | <xs:complexType>\r | |
99 | <xs:simpleContent>\r | |
100 | <xs:extension base="PathAndFilename"> \r | |
101 | <xs:attributeGroup ref="BinaryFileAttributes"/>\r | |
102 | </xs:extension>\r | |
103 | </xs:simpleContent>\r | |
104 | </xs:complexType>\r | |
105 | </xs:element>\r | |
106 | </xs:sequence>\r | |
107 | </xs:complexType>\r | |
108 | </xs:element>\r | |
109 | <xs:element name="Events">\r | |
110 | <xs:annotation>\r | |
111 | <xs:documentation xml:lang="en">This is a list of MSA Events</xs:documentation>\r | |
112 | </xs:annotation>\r | |
113 | <xs:complexType>\r | |
114 | <xs:sequence>\r | |
115 | <xs:element minOccurs="0" maxOccurs="1" name="CreateEvents">\r | |
116 | <xs:complexType>\r | |
117 | <xs:sequence>\r | |
118 | <xs:element minOccurs="1" maxOccurs="unbounded" name="EventTypes">\r | |
119 | <xs:complexType>\r | |
120 | <xs:sequence>\r | |
121 | <xs:element minOccurs="1" maxOccurs="1" name="EventType" type="EventTypes"/>\r | |
122 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
123 | </xs:sequence>\r | |
124 | <xs:attributeGroup ref="EventAttributes"/>\r | |
125 | </xs:complexType>\r | |
126 | </xs:element>\r | |
127 | </xs:sequence>\r | |
128 | </xs:complexType>\r | |
129 | </xs:element>\r | |
130 | <xs:element minOccurs="0" maxOccurs="1" name="SignalEvents">\r | |
131 | <xs:annotation>\r | |
132 | <xs:documentation xml:lang="en">Module has an event that is waiting to be signaled. Event is named by GUID.</xs:documentation>\r | |
133 | </xs:annotation>\r | |
134 | <xs:complexType>\r | |
135 | <xs:sequence>\r | |
136 | <xs:element minOccurs="1" maxOccurs="unbounded" name="EventTypes">\r | |
137 | <xs:complexType>\r | |
138 | <xs:sequence>\r | |
139 | <xs:element minOccurs="1" maxOccurs="1" name="EventType" type="EventTypes"/>\r | |
140 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
141 | </xs:sequence>\r | |
142 | <xs:attributeGroup ref="EventAttributes"/>\r | |
143 | </xs:complexType>\r | |
144 | </xs:element>\r | |
145 | </xs:sequence>\r | |
146 | </xs:complexType>\r | |
147 | </xs:element>\r | |
148 | </xs:sequence>\r | |
149 | </xs:complexType>\r | |
150 | </xs:element>\r | |
151 | <xs:element name="Externs">\r | |
152 | <xs:annotation>\r | |
153 | <xs:documentation xml:lang="en">This is a child of MSA files.</xs:documentation>\r | |
154 | </xs:annotation>\r | |
155 | <xs:complexType>\r | |
156 | <xs:sequence minOccurs="1">\r | |
157 | <xs:element minOccurs="0" maxOccurs="1" name="PcdIsDriver" type="PcdDriverTypes"/>\r | |
158 | <xs:element minOccurs="0" maxOccurs="1" name="TianoR8FlashMap_h" type="xs:boolean" default="false"/>\r | |
159 | <xs:element minOccurs="0" maxOccurs="unbounded" name="Specification" type="Sentence"/>\r | |
160 | <xs:element minOccurs="0" maxOccurs="unbounded" name="Extern">\r | |
161 | <xs:complexType>\r | |
162 | <xs:choice minOccurs="1" maxOccurs="1">\r | |
163 | <xs:sequence minOccurs="0" maxOccurs="1">\r | |
164 | <xs:annotation>\r | |
165 | <xs:documentation xml:lang="en">Driver Module</xs:documentation>\r | |
166 | </xs:annotation>\r | |
167 | <xs:element minOccurs="0" maxOccurs="1" name="ModuleEntryPoint" type="C_NameType"/>\r | |
168 | <xs:element minOccurs="0" maxOccurs="1" name="ModuleUnloadImage" type="C_NameType"/>\r | |
169 | </xs:sequence>\r | |
170 | <xs:sequence minOccurs="0" maxOccurs="1">\r | |
171 | <xs:annotation>\r | |
172 | <xs:documentation xml:lang="en">Library Module</xs:documentation>\r | |
173 | </xs:annotation>\r | |
174 | <xs:element minOccurs="0" maxOccurs="1" name="Constructor" type="C_NameType"/>\r | |
175 | <xs:element minOccurs="0" maxOccurs="1" name="Destructor" type="C_NameType"/>\r | |
176 | </xs:sequence>\r | |
177 | <xs:sequence minOccurs="0" maxOccurs="1">\r | |
178 | <xs:annotation>\r | |
179 | <xs:documentation xml:lang="en">Allow multiple entries for DriverBinding, ComponentName, DriverConfig and DriverDiag elements. For ComponentName, DriverConfig and/or DriverDiag - you must have a 1:1 mapping to DriverBinding if the element is defined.</xs:documentation>\r | |
180 | <xs:documentation xml:lang="en">Permit User Defined Extern Tags</xs:documentation>\r | |
181 | </xs:annotation>\r | |
182 | <xs:element minOccurs="1" maxOccurs="1" name="DriverBinding" type="C_NameType"/>\r | |
183 | <xs:element minOccurs="0" maxOccurs="1" name="ComponentName" type="C_NameType"/>\r | |
184 | <xs:element minOccurs="0" maxOccurs="1" name="DriverConfig" type="C_NameType"/>\r | |
185 | <xs:element minOccurs="0" maxOccurs="1" name="DriverDiag" type="C_NameType"/>\r | |
186 | </xs:sequence>\r | |
187 | <xs:sequence minOccurs="0" maxOccurs="1">\r | |
188 | <xs:annotation>\r | |
189 | <xs:documentation xml:lang="en"> Module Call Backs</xs:documentation>\r | |
190 | </xs:annotation>\r | |
191 | <xs:element minOccurs="0" maxOccurs="1" name="SetVirtualAddressMapCallBack" type="C_NameType"/>\r | |
192 | <xs:element minOccurs="0" maxOccurs="1" name="ExitBootServicesCallBack" type="C_NameType"/>\r | |
193 | </xs:sequence>\r | |
194 | </xs:choice>\r | |
195 | <xs:attributeGroup ref="ExternAttributes"/>\r | |
196 | </xs:complexType>\r | |
197 | </xs:element>\r | |
198 | </xs:sequence>\r | |
199 | </xs:complexType>\r | |
200 | </xs:element>\r | |
201 | <xs:element name="Filename">\r | |
202 | <xs:annotation>\r | |
203 | <xs:documentation xml:lang="en">Describe the valid content of a filename This should extend PathAndFilename - Variable names not allowed here!</xs:documentation>\r | |
204 | </xs:annotation>\r | |
205 | <xs:complexType>\r | |
206 | <xs:simpleContent>\r | |
207 | <xs:extension base="PathAndFilename">\r | |
208 | <xs:attributeGroup ref="FilenameAttributes"/>\r | |
209 | </xs:extension>\r | |
210 | </xs:simpleContent>\r | |
211 | </xs:complexType>\r | |
212 | </xs:element>\r | |
213 | <xs:element name="Filenames">\r | |
214 | <xs:annotation>\r | |
215 | <xs:documentation xml:lang="en">This is a list of Filenames</xs:documentation>\r | |
216 | </xs:annotation>\r | |
217 | <xs:complexType>\r | |
218 | <xs:sequence minOccurs="1">\r | |
219 | <xs:element minOccurs="0" maxOccurs="unbounded" ref="Filename"/>\r | |
220 | </xs:sequence>\r | |
221 | </xs:complexType>\r | |
222 | </xs:element>\r | |
223 | <xs:element name="GuidDeclarations">\r | |
224 | <xs:annotation>\r | |
225 | <xs:documentation xml:lang="en">This is a child of PackageSurfaceArea (SPD) </xs:documentation>\r | |
226 | </xs:annotation>\r | |
227 | <xs:complexType>\r | |
228 | <xs:sequence>\r | |
229 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">\r | |
230 | <xs:complexType>\r | |
231 | <xs:sequence>\r | |
232 | <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r | |
233 | <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="GuidType"/>\r | |
234 | <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
235 | </xs:sequence>\r | |
236 | <xs:attributeGroup ref="GuidDeclarationAttributes"/>\r | |
237 | </xs:complexType>\r | |
238 | </xs:element>\r | |
239 | </xs:sequence>\r | |
240 | </xs:complexType>\r | |
241 | </xs:element>\r | |
242 | <xs:element name="Guids">\r | |
243 | <xs:complexType>\r | |
244 | <xs:sequence>\r | |
245 | <xs:element minOccurs="1" maxOccurs="unbounded" name="GuidCNames">\r | |
246 | <xs:annotation>\r | |
247 | <xs:documentation xml:lang="en">Describe the valid content of a GUID element in and MSA file.</xs:documentation>\r | |
248 | </xs:annotation>\r | |
249 | <xs:complexType>\r | |
250 | <xs:sequence>\r | |
251 | <xs:element minOccurs="1" maxOccurs="1" name="GuidCName" type="C_NameType"/>\r | |
252 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
253 | </xs:sequence>\r | |
254 | <xs:attributeGroup ref="GuidAttributes"/>\r | |
255 | </xs:complexType>\r | |
256 | </xs:element>\r | |
257 | </xs:sequence>\r | |
258 | </xs:complexType>\r | |
259 | </xs:element>\r | |
260 | <xs:element name="HiiPackages">\r | |
261 | <xs:annotation>\r | |
262 | <xs:documentation xml:lang="en">Describe the list of a HiiPackage elements</xs:documentation>\r | |
263 | </xs:annotation>\r | |
264 | <xs:complexType>\r | |
265 | <xs:sequence>\r | |
266 | <xs:element minOccurs="1" maxOccurs="unbounded" name="HiiPackage">\r | |
267 | <xs:complexType>\r | |
268 | <xs:sequence>\r | |
269 | <xs:element minOccurs="1" maxOccurs="1" name="HiiCName" type="C_NameType"/>\r | |
270 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
271 | </xs:sequence>\r | |
272 | <xs:attributeGroup ref="HiiPackageAttributes"/>\r | |
273 | </xs:complexType>\r | |
274 | </xs:element>\r | |
275 | </xs:sequence>\r | |
276 | </xs:complexType>\r | |
277 | </xs:element>\r | |
278 | <xs:element name="Hobs">\r | |
279 | <xs:complexType>\r | |
280 | <xs:sequence>\r | |
281 | <xs:element minOccurs="1" maxOccurs="unbounded" name="HobTypes">\r | |
282 | <xs:complexType>\r | |
283 | <xs:sequence>\r | |
284 | <xs:element minOccurs="1" maxOccurs="1" name="HobType" type="HobTypes"/>\r | |
285 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
286 | </xs:sequence>\r | |
287 | <xs:attributeGroup ref="HobAttributes"/>\r | |
288 | </xs:complexType>\r | |
289 | </xs:element>\r | |
290 | </xs:sequence>\r | |
291 | </xs:complexType>\r | |
292 | </xs:element>\r | |
293 | <xs:element name="IncludeHeader">\r | |
294 | <xs:complexType>\r | |
295 | <xs:simpleContent>\r | |
296 | <xs:extension base="PathAndFilename">\r | |
297 | <xs:attributeGroup ref="IncludeHeaderAttributes"/>\r | |
298 | </xs:extension>\r | |
299 | </xs:simpleContent>\r | |
300 | </xs:complexType>\r | |
301 | </xs:element>\r | |
302 | <xs:element name="IndustryStdIncludes">\r | |
303 | <xs:complexType>\r | |
304 | <xs:sequence>\r | |
305 | <xs:element minOccurs="1" maxOccurs="unbounded" ref="IndustryStdHeader"/>\r | |
306 | </xs:sequence>\r | |
307 | </xs:complexType>\r | |
308 | </xs:element>\r | |
309 | <xs:element name="IndustryStdHeader">\r | |
310 | <xs:complexType>\r | |
311 | <xs:sequence>\r | |
312 | <xs:element minOccurs="1" maxOccurs="1" name="IncludeHeader" type="PathAndFilename"/>\r | |
313 | <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
314 | </xs:sequence>\r | |
315 | <xs:attributeGroup ref="IndustryStdHeaderAttributes"/>\r | |
316 | </xs:complexType>\r | |
317 | </xs:element>\r | |
318 | <xs:element name="LibraryClass">\r | |
319 | <xs:annotation>\r | |
320 | <xs:documentation xml:lang="en">Used in MSA files. This defines what class of library is being supported = produced (library module) or consumed by a module.</xs:documentation>\r | |
321 | </xs:annotation>\r | |
322 | <xs:complexType>\r | |
323 | <xs:sequence>\r | |
324 | <xs:element minOccurs="1" maxOccurs="1" name="Keyword" type="KeywordType"/>\r | |
325 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
326 | </xs:sequence>\r | |
327 | <xs:attributeGroup ref="LibraryClassAttributes"/>\r | |
328 | </xs:complexType>\r | |
329 | </xs:element>\r | |
330 | <!-- LAH This is SPD LibraryClassDeclarations FINAL version -->\r | |
331 | <xs:element name="LibraryClassDeclarations">\r | |
332 | <xs:complexType>\r | |
333 | <xs:sequence>\r | |
334 | <xs:element minOccurs="1" maxOccurs="unbounded" name="LibraryClass">\r | |
335 | <xs:complexType>\r | |
336 | <xs:sequence>\r | |
337 | <xs:element minOccurs="1" maxOccurs="1" name="IncludeHeader" type="PathAndFilename"/>\r | |
338 | <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
339 | </xs:sequence>\r | |
340 | <xs:attributeGroup ref="LibraryClassDeclarationAttributes"/>\r | |
341 | </xs:complexType>\r | |
342 | </xs:element>\r | |
343 | </xs:sequence>\r | |
344 | </xs:complexType>\r | |
345 | </xs:element>\r | |
346 | <xs:element name="LibraryClassDefinitions">\r | |
347 | <xs:annotation>\r | |
348 | <xs:documentation xml:lang="en">This section defines what Classes of Library that this library supports. A Library may belong to multiple different library classes.</xs:documentation>\r | |
349 | </xs:annotation>\r | |
350 | <xs:complexType>\r | |
351 | <xs:sequence>\r | |
352 | <xs:element minOccurs="1" maxOccurs="unbounded" ref="LibraryClass"/>\r | |
353 | </xs:sequence>\r | |
354 | </xs:complexType>\r | |
355 | </xs:element>\r | |
356 | <xs:element name="License">\r | |
357 | <xs:complexType>\r | |
358 | <xs:simpleContent>\r | |
359 | <xs:extension base="Paragraph">\r | |
360 | <xs:attribute name="URL" type="xs:anyURI" use="optional"/>\r | |
361 | </xs:extension>\r | |
362 | </xs:simpleContent>\r | |
363 | </xs:complexType>\r | |
364 | </xs:element>\r | |
365 | <xs:element name="ModuleBuildOptions">\r | |
366 | <xs:complexType>\r | |
367 | <xs:sequence>\r | |
368 | <xs:element minOccurs="0" maxOccurs="1" ref="Options"/>\r | |
369 | <xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/>\r | |
370 | </xs:sequence>\r | |
371 | </xs:complexType>\r | |
372 | </xs:element>\r | |
373 | <xs:element name="ModuleDefinitions">\r | |
374 | <xs:complexType>\r | |
375 | <xs:sequence>\r | |
376 | <xs:element minOccurs="1" maxOccurs="1" name="SupportedArchitectures" type="ArchListType"/>\r | |
377 | <xs:element minOccurs="1" maxOccurs="1" name="BinaryModule" type="xs:boolean" default="false"/>\r | |
378 | <xs:element minOccurs="1" maxOccurs="1" name="OutputFileBasename" type="FileNameConvention"/>\r | |
379 | <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom">\r | |
380 | <xs:complexType>\r | |
381 | <xs:sequence>\r | |
382 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Cloned">\r | |
383 | <xs:complexType>\r | |
384 | <xs:sequence>\r | |
385 | <xs:element minOccurs="1" maxOccurs="1" name="PackageGuid" type="GuidType"/>\r | |
386 | <xs:element minOccurs="1" maxOccurs="1" name="PackageVersion" type="VersionDataType"/>\r | |
387 | <xs:element minOccurs="1" maxOccurs="1" name="ModuleGuid" type="GuidType"/>\r | |
388 | <xs:element minOccurs="1" maxOccurs="1" name="ModuleVersion" type="VersionDataType"/>\r | |
389 | </xs:sequence>\r | |
390 | <!-- The Id is a number used to track heritage the first entry will be 0 and increment from then on. -->\r | |
391 | <xs:attribute name="Id" type="xs:nonNegativeInteger" use="required"/>\r | |
392 | <!-- If the original module was installed from a FAR, track the FAR it came from. -->\r | |
393 | <xs:attribute name="FarGuid" type="GuidType" use="optional"/>\r | |
394 | </xs:complexType>\r | |
395 | </xs:element>\r | |
396 | </xs:sequence>\r | |
397 | </xs:complexType>\r | |
398 | </xs:element>\r | |
399 | </xs:sequence>\r | |
400 | </xs:complexType>\r | |
401 | </xs:element>\r | |
402 | <xs:element name="ModuleType" type="ModuleTypeDef">\r | |
403 | <xs:annotation>\r | |
404 | <xs:documentation xml:lang="en">Describe the valid EFI Phase that the Module is designed to execute under.</xs:documentation>\r | |
405 | </xs:annotation>\r | |
406 | </xs:element>\r | |
407 | <!-- Use in Final -->\r | |
408 | <xs:element name="MsaFiles">\r | |
409 | <xs:annotation>\r | |
410 | <xs:documentation xml:lang="en">MsaFiles is a child of Surface Area Package Description (SPD) files</xs:documentation>\r | |
411 | </xs:annotation>\r | |
412 | <xs:complexType>\r | |
413 | <xs:sequence>\r | |
414 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename" type="PathAndFilename"/>\r | |
415 | </xs:sequence>\r | |
416 | </xs:complexType>\r | |
417 | </xs:element>\r | |
418 | <xs:element name="Options">\r | |
419 | <xs:complexType>\r | |
420 | <xs:sequence>\r | |
421 | <xs:element minOccurs="1" maxOccurs="unbounded" ref="Option"/>\r | |
422 | </xs:sequence>\r | |
423 | </xs:complexType>\r | |
424 | </xs:element>\r | |
425 | <xs:element name="NonProcessedFiles">\r | |
426 | <xs:complexType>\r | |
427 | <xs:sequence minOccurs="1" maxOccurs="unbounded">\r | |
428 | <xs:element name="Filename" type="PathAndFilename"/>\r | |
429 | </xs:sequence>\r | |
430 | </xs:complexType>\r | |
431 | </xs:element>\r | |
432 | <xs:element name="Option">\r | |
433 | <!-- This element is used to store flags from the Tools -->\r | |
434 | <xs:complexType>\r | |
435 | <xs:simpleContent>\r | |
436 | <xs:extension base="xs:normalizedString">\r | |
437 | <xs:attributeGroup ref="OptionAttributes"/>\r | |
438 | </xs:extension>\r | |
439 | </xs:simpleContent>\r | |
440 | </xs:complexType>\r | |
441 | </xs:element>\r | |
442 | <xs:element name="PackageDefinitions">\r | |
443 | <xs:complexType>\r | |
444 | <xs:sequence>\r | |
445 | <xs:element minOccurs="1" maxOccurs="1" name="ReadOnly" type="xs:boolean" default="false"/>\r | |
446 | <xs:element minOccurs="1" maxOccurs="1" name="RePackage" type="xs:boolean" default="false"/>\r | |
447 | <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom">\r | |
448 | <xs:complexType>\r | |
449 | <xs:sequence>\r | |
450 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Cloned">\r | |
451 | <xs:complexType>\r | |
452 | <xs:sequence>\r | |
453 | <xs:element minOccurs="1" maxOccurs="1" name="PackageGuid" type="GuidType"/>\r | |
454 | <xs:element minOccurs="1" maxOccurs="1" name="PackageVersion" type="VersionDataType"/>\r | |
455 | </xs:sequence>\r | |
456 | <!-- The Id is a number used to track heritage the first entry will be 0 and increment from then on. -->\r | |
457 | <xs:attribute name="Id" type="xs:nonNegativeInteger" use="required"/>\r | |
458 | <!-- If the original Package was installed from a FAR, track the FAR it came from. -->\r | |
459 | <xs:attribute name="FarGuid" type="GuidType" use="optional"/>\r | |
460 | </xs:complexType>\r | |
461 | </xs:element>\r | |
462 | </xs:sequence>\r | |
463 | </xs:complexType>\r | |
464 | </xs:element>\r | |
465 | </xs:sequence>\r | |
466 | </xs:complexType>\r | |
467 | </xs:element>\r | |
468 | <xs:element name="PackageDependencies">\r | |
469 | <xs:annotation>\r | |
470 | <xs:documentation xml:lang="en">This tag is used in the Module Surface Area Description File (MSA) to track package dependencies for a module.</xs:documentation>\r | |
471 | <xs:documentation xml:lang="en">Attributes to PackageName include Required: Usage PackageGuid PackageVesion, Optional: FeatureFlag</xs:documentation>\r | |
472 | </xs:annotation>\r | |
473 | <xs:complexType>\r | |
474 | <xs:sequence>\r | |
475 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Package">\r | |
476 | <xs:complexType>\r | |
477 | <xs:attributeGroup ref="PackageAttributes"/>\r | |
478 | </xs:complexType>\r | |
479 | </xs:element>\r | |
480 | </xs:sequence>\r | |
481 | </xs:complexType>\r | |
482 | </xs:element>\r | |
483 | <xs:element name="PackageHeaders">\r | |
484 | <xs:annotation>\r | |
485 | <xs:documentation xml:lang="en">PackageHeaders is a child of PackageSurfaceArea (SPD) </xs:documentation>\r | |
486 | </xs:annotation>\r | |
487 | <xs:complexType>\r | |
488 | <xs:sequence>\r | |
489 | <xs:element minOccurs="1" maxOccurs="unbounded" name="IncludePkgHeader">\r | |
490 | <xs:complexType>\r | |
491 | <xs:simpleContent>\r | |
492 | <xs:extension base="PathAndFilename">\r | |
493 | <xs:attributeGroup ref="PackageHeaderAttributes"/>\r | |
494 | </xs:extension>\r | |
495 | </xs:simpleContent>\r | |
496 | </xs:complexType>\r | |
497 | </xs:element>\r | |
498 | </xs:sequence>\r | |
499 | </xs:complexType>\r | |
500 | </xs:element>\r | |
501 | <xs:element name="PackageList">\r | |
502 | <!-- Valid for DB usage only! -->\r | |
503 | <xs:annotation>\r | |
504 | <xs:documentation xml:lang="en">This tag is used in the Framework Package Database File to track all packages (SPD files) installed in a workspace. (Database)</xs:documentation>\r | |
505 | </xs:annotation>\r | |
506 | <xs:complexType>\r | |
507 | <xs:sequence>\r | |
508 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename">\r | |
509 | <xs:complexType>\r | |
510 | <xs:simpleContent>\r | |
511 | <xs:extension base="PathAndFilename"> \r | |
512 | <xs:attributeGroup ref="PackageNameAttributes"/>\r | |
513 | </xs:extension>\r | |
514 | </xs:simpleContent>\r | |
515 | </xs:complexType>\r | |
516 | </xs:element>\r | |
517 | </xs:sequence>\r | |
518 | </xs:complexType>\r | |
519 | </xs:element>\r | |
520 | <xs:element name="PcdCoded">\r | |
521 | <xs:annotation>\r | |
522 | <xs:documentation xml:lang="en">Child of Module Surface Area Description (MSA)</xs:documentation>\r | |
523 | </xs:annotation>\r | |
524 | <xs:complexType>\r | |
525 | <xs:sequence>\r | |
526 | <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdEntry">\r | |
527 | <xs:complexType>\r | |
528 | <xs:sequence>\r | |
529 | <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r | |
530 | <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName" type="C_NameType"/>\r | |
531 | <xs:element minOccurs="0" maxOccurs="1" name="DefaultValue" type="DefaultValueType"/>\r | |
532 | <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
533 | </xs:sequence>\r | |
534 | <!-- MSA file declares a single usage, and must match one of the entries in what the SPD file declares as the set of possible Item Types. -->\r | |
535 | <xs:attributeGroup ref="PcdCodedAttributes"/>\r | |
536 | </xs:complexType>\r | |
537 | </xs:element>\r | |
538 | </xs:sequence>\r | |
539 | </xs:complexType>\r | |
540 | </xs:element>\r | |
541 | <!-- LAH This is PcdDeclarations FINAL version -->\r | |
542 | <xs:element name="PcdDeclarations">\r | |
543 | <xs:annotation>\r | |
544 | <xs:documentation xml:lang="en">PcdDeclaratins is a child of Package Surface Area Description (SPD)</xs:documentation>\r | |
545 | </xs:annotation>\r | |
546 | <xs:complexType>\r | |
547 | <xs:sequence minOccurs="1">\r | |
548 | <xs:element maxOccurs="unbounded" name="PcdEntry">\r | |
549 | <xs:complexType>\r | |
550 | <xs:sequence>\r | |
551 | <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r | |
552 | <xs:element minOccurs="1" maxOccurs="1" name="Token" type="TokenDataType"/>\r | |
553 | <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName" type="C_NameType"/>\r | |
554 | <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/>\r | |
555 | <xs:element minOccurs="1" maxOccurs="1" name="ValidUsage" type="PcdListType"/>\r | |
556 | <xs:element minOccurs="0" maxOccurs="1" name="DefaultValue" type="DefaultValueType"/>\r | |
557 | <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
558 | </xs:sequence>\r | |
559 | <xs:attributeGroup ref="PcdDeclarationAttributes"/>\r | |
560 | </xs:complexType>\r | |
561 | </xs:element>\r | |
562 | </xs:sequence>\r | |
563 | </xs:complexType>\r | |
564 | </xs:element>\r | |
565 | <xs:element name="FarList">\r | |
566 | <!-- Valid for DB usage only! -->\r | |
567 | <xs:annotation>\r | |
568 | <xs:documentation xml:lang="en">This tag is used in the Framework Package Database File to track all DISTRIBUTION packages (FAR files) installed in a workspace. (Database)</xs:documentation>\r | |
569 | </xs:annotation>\r | |
570 | <xs:complexType>\r | |
571 | <xs:sequence>\r | |
572 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename" type="DbPathAndFilename"/>\r | |
573 | </xs:sequence>\r | |
574 | </xs:complexType>\r | |
575 | </xs:element>\r | |
576 | <xs:element name="PpiDeclarations">\r | |
577 | <xs:annotation>\r | |
578 | <xs:documentation xml:lang="en">PpiDeclarations is a child of PackageSurfaceArea (SPD) </xs:documentation>\r | |
579 | </xs:annotation>\r | |
580 | <xs:complexType>\r | |
581 | <xs:sequence>\r | |
582 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">\r | |
583 | <xs:complexType>\r | |
584 | <xs:sequence>\r | |
585 | <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r | |
586 | <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="GuidType"/>\r | |
587 | <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
588 | </xs:sequence>\r | |
589 | <xs:attributeGroup ref="PpiDeclarationAttributes"/>\r | |
590 | </xs:complexType>\r | |
591 | </xs:element>\r | |
592 | </xs:sequence>\r | |
593 | </xs:complexType>\r | |
594 | </xs:element>\r | |
595 | <xs:element name="PPIs">\r | |
596 | <xs:annotation>\r | |
597 | <xs:documentation xml:lang="en">Provide for one or more Ppi or PpiNotify sections. </xs:documentation>\r | |
598 | </xs:annotation>\r | |
599 | <xs:complexType>\r | |
600 | <xs:sequence minOccurs="1">\r | |
601 | <xs:element minOccurs="0" maxOccurs="unbounded" name="Ppi">\r | |
602 | <xs:complexType>\r | |
603 | <xs:sequence>\r | |
604 | <xs:element minOccurs="1" maxOccurs="1" name="PpiCName" type="C_NameType"/>\r | |
605 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
606 | </xs:sequence>\r | |
607 | <xs:attributeGroup ref="PpiAttributes"/>\r | |
608 | </xs:complexType>\r | |
609 | </xs:element>\r | |
610 | <xs:element minOccurs="0" maxOccurs="unbounded" name="PpiNotify">\r | |
611 | <xs:complexType>\r | |
612 | <xs:sequence>\r | |
613 | <xs:element minOccurs="1" maxOccurs="1" name="PpiNotifyCName" type="C_NameType"/>\r | |
614 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
615 | </xs:sequence>\r | |
616 | <xs:attributeGroup ref="PpiNotifyAttributes"/>\r | |
617 | </xs:complexType>\r | |
618 | </xs:element>\r | |
619 | </xs:sequence>\r | |
620 | </xs:complexType>\r | |
621 | </xs:element>\r | |
622 | <xs:element name="ProtocolDeclarations">\r | |
623 | <xs:annotation>\r | |
624 | <xs:documentation xml:lang="en">ProtocolDeclarations is a child of PackageSurfaceArea (SPD) </xs:documentation>\r | |
625 | </xs:annotation>\r | |
626 | <xs:complexType>\r | |
627 | <xs:sequence>\r | |
628 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">\r | |
629 | <xs:complexType>\r | |
630 | <xs:sequence>\r | |
631 | <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r | |
632 | <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="GuidType"/>\r | |
633 | <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
634 | </xs:sequence>\r | |
635 | <xs:attributeGroup ref="ProtocolDeclarationAttributes"/>\r | |
636 | </xs:complexType>\r | |
637 | </xs:element>\r | |
638 | </xs:sequence>\r | |
639 | </xs:complexType>\r | |
640 | </xs:element>\r | |
641 | <xs:element name="Protocols">\r | |
642 | <xs:annotation>\r | |
643 | <xs:documentation xml:lang="en">If either Protocol or ProtocolNotify sections are needed, one or more of them should be specified within this section</xs:documentation>\r | |
644 | </xs:annotation>\r | |
645 | <xs:complexType>\r | |
646 | <xs:sequence>\r | |
647 | <xs:element minOccurs="0" maxOccurs="unbounded" name="Protocol">\r | |
648 | <xs:complexType>\r | |
649 | <xs:sequence>\r | |
650 | <xs:element minOccurs="1" maxOccurs="1" name="ProtocolCName" type="C_NameType"/>\r | |
651 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
652 | </xs:sequence>\r | |
653 | <xs:attributeGroup ref="ProtocolAttributes"/>\r | |
654 | </xs:complexType>\r | |
655 | </xs:element>\r | |
656 | <xs:element minOccurs="0" maxOccurs="unbounded" name="ProtocolNotify">\r | |
657 | <xs:complexType>\r | |
658 | <xs:sequence>\r | |
659 | <xs:element minOccurs="1" maxOccurs="1" name="ProtocolNotifyCName" type="C_NameType"/>\r | |
660 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
661 | </xs:sequence>\r | |
662 | <xs:attributeGroup ref="ProtocolNotifyAttributes"/>\r | |
663 | </xs:complexType>\r | |
664 | </xs:element>\r | |
665 | </xs:sequence>\r | |
666 | </xs:complexType>\r | |
667 | </xs:element>\r | |
668 | <xs:element name="SourceFiles">\r | |
669 | <xs:annotation>\r | |
670 | <xs:documentation xml:lang="en">Multiple Filenames may be specified, and they may also be scoped to a specific Architecture.</xs:documentation>\r | |
671 | </xs:annotation>\r | |
672 | <xs:complexType>\r | |
673 | <xs:sequence>\r | |
674 | <xs:element minOccurs="1" maxOccurs="unbounded" ref="Filename"/>\r | |
675 | </xs:sequence>\r | |
676 | </xs:complexType>\r | |
677 | </xs:element>\r | |
678 | <xs:element name="SystemTables">\r | |
679 | <xs:annotation>\r | |
680 | <xs:documentation xml:lang="en">This is list of System Table elements.</xs:documentation>\r | |
681 | </xs:annotation>\r | |
682 | <xs:complexType>\r | |
683 | <xs:sequence>\r | |
684 | <xs:element minOccurs="1" maxOccurs="unbounded" name="SystemTableCNames">\r | |
685 | <xs:complexType>\r | |
686 | <xs:sequence>\r | |
687 | <xs:element minOccurs="1" maxOccurs="1" name="SystemTableCName" type="C_NameType"/>\r | |
688 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
689 | </xs:sequence>\r | |
690 | <xs:attributeGroup ref="SystemTableAttributes"/>\r | |
691 | </xs:complexType>\r | |
692 | </xs:element>\r | |
693 | </xs:sequence>\r | |
694 | </xs:complexType>\r | |
695 | </xs:element>\r | |
696 | <xs:element name="UserExtensions">\r | |
697 | <xs:complexType>\r | |
698 | <xs:sequence>\r | |
699 | <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>\r | |
700 | </xs:sequence>\r | |
701 | <xs:attribute name="UserID" type="xs:NCName" use="required"/>\r | |
702 | <xs:attribute name="Identifier" type="xs:string" use="required"/>\r | |
703 | </xs:complexType>\r | |
704 | </xs:element>\r | |
705 | <xs:element name="Variables">\r | |
706 | <xs:annotation>\r | |
707 | <xs:documentation xml:lang="en">An MSA FILE list of EFI Variables described by string pair.</xs:documentation>\r | |
708 | </xs:annotation>\r | |
709 | <xs:complexType>\r | |
710 | <xs:sequence>\r | |
711 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Variable">\r | |
712 | <xs:annotation>\r | |
713 | <xs:documentation xml:lang="en">This is an EFI Variable Entry</xs:documentation>\r | |
714 | </xs:annotation>\r | |
715 | <xs:complexType>\r | |
716 | <xs:sequence>\r | |
717 | <xs:element minOccurs="1" maxOccurs="1" name="VariableName" type="HexWordArrayType"/>\r | |
718 | <xs:element minOccurs="1" maxOccurs="1" name="GuidC_Name" type="C_NameType"/>\r | |
719 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r | |
720 | </xs:sequence>\r | |
721 | <xs:attributeGroup ref="VariableAttributes"/>\r | |
722 | </xs:complexType>\r | |
723 | </xs:element>\r | |
724 | </xs:sequence>\r | |
725 | </xs:complexType>\r | |
726 | </xs:element>\r | |
727 | <xs:element name="Version" type="VersionDataType"/>\r | |
728 | </xs:schema>\r |