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 |
92fb4401 |
3 | <!--\r |
878ddf1f |
4 | Filename: FrameworkDataElements.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 |
92fb4401 |
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="FrameworkPlatformDataTypes.xsd"/>\r |
21 | <xs:include schemaLocation="FrameworkDataAttributes.xsd"/>\r |
22 | <xs:element name="Abstract" type="Sentence">\r |
878ddf1f |
23 | <xs:annotation>\r |
92fb4401 |
24 | <xs:documentation xml:lang="en">Abstract is valid for all Description Files</xs:documentation>\r |
25 | <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 |
878ddf1f |
26 | </xs:annotation>\r |
92fb4401 |
27 | </xs:element>\r |
28 | <xs:element name="AntTask">\r |
29 | <xs:annotation>\r |
30 | <xs:documentation xml:lang="en">This is a sub-element of UserDefinedAntTasks</xs:documentation>\r |
31 | <xs:documentation xml:lang="en">Define a file that contains one or more ant tasks that are to be added into or replacing of sequences of build steps. These files will be called using the ant-call task on a file name. These files must be valid apache-ant formatted task files.</xs:documentation>\r |
32 | </xs:annotation>\r |
33 | <xs:complexType>\r |
34 | <xs:sequence>\r |
35 | <xs:element minOccurs="0" maxOccurs="1" name="AntCmdOptions" type="xs:normalizedString"/>\r |
36 | <xs:element minOccurs="0" maxOccurs="1" name="Filename" type="PathAndFilename"/>\r |
37 | </xs:sequence>\r |
38 | <xs:attribute name="Id" type="xs:int" use="required"/>\r |
39 | </xs:complexType>\r |
40 | </xs:element>\r |
41 | <xs:element name="BootModes">\r |
42 | <xs:annotation>\r |
43 | <xs:documentation xml:lang="en">BootModes is valid for all Description Files</xs:documentation>\r |
44 | <xs:documentation xml:lang="en">This is a list of BootModes Supported by the Module</xs:documentation>\r |
45 | </xs:annotation>\r |
46 | <xs:complexType>\r |
47 | <xs:sequence>\r |
48 | <xs:element minOccurs="1" maxOccurs="unbounded" name="BootMode">\r |
49 | <xs:complexType>\r |
50 | <xs:sequence minOccurs="0">\r |
51 | <xs:element name="HelpText" type="Paragraph"/>\r |
52 | </xs:sequence>\r |
53 | <xs:attributeGroup ref="BootModeAttributes"/>\r |
54 | </xs:complexType>\r |
55 | </xs:element>\r |
56 | </xs:sequence>\r |
57 | </xs:complexType>\r |
58 | </xs:element>\r |
59 | <xs:element name="BuildOptions">\r |
60 | <xs:annotation>\r |
61 | <xs:documentation xml:lang="en">BuildOptions is valid for FPD files.</xs:documentation>\r |
62 | </xs:annotation>\r |
63 | <xs:complexType>\r |
64 | <xs:sequence>\r |
65 | <xs:element minOccurs="0" maxOccurs="1" ref="UserDefinedAntTasks"/>\r |
66 | <xs:element minOccurs="0" maxOccurs="1" ref="Options"/>\r |
67 | <xs:element minOccurs="0" maxOccurs="unbounded" ref="UserExtensions"/>\r |
68 | <!-- The following sections are legacy and will be removed -->\r |
92fb4401 |
69 | <xs:element minOccurs="0" maxOccurs="unbounded" name="Ffs">\r |
70 | <xs:complexType>\r |
878ddf1f |
71 | <xs:sequence>\r |
92fb4401 |
72 | <xs:element minOccurs="0" maxOccurs="unbounded" name="Attribute">\r |
73 | <xs:complexType>\r |
74 | <xs:attribute name="Name" type="C_NameType"/>\r |
ccb4cab3 |
75 | <xs:attribute name="Value" type="xs:string"/>\r |
92fb4401 |
76 | </xs:complexType>\r |
77 | </xs:element>\r |
78 | <xs:element minOccurs="0" maxOccurs="1" name="Sections">\r |
79 | <xs:complexType>\r |
80 | <xs:sequence minOccurs="1">\r |
81 | <xs:element name="Section" minOccurs="0" maxOccurs="unbounded">\r |
82 | <xs:complexType>\r |
83 | <xs:sequence>\r |
84 | <xs:element ref=" Filenames " minOccurs="0"/>\r |
85 | <xs:element name="Args" type=" ArgsType " minOccurs="0"/>\r |
86 | <xs:element name="OutFile" type=" FileNameConvention " minOccurs="0"/>\r |
87 | <xs:element name="OutputFileExtension" type=" xs:string " minOccurs="0"/>\r |
88 | <xs:element name="ToolName" type=" ToolType " minOccurs="0"/>\r |
89 | </xs:sequence>\r |
90 | <xs:attributeGroup ref=" SectionsAttributes "/>\r |
91 | </xs:complexType>\r |
878ddf1f |
92 | </xs:element>\r |
92fb4401 |
93 | <xs:element name="Sections" minOccurs="0" maxOccurs="unbounded">\r |
94 | <xs:complexType>\r |
878ddf1f |
95 | <xs:sequence minOccurs="1" maxOccurs="unbounded">\r |
92fb4401 |
96 | <xs:element name="Section">\r |
97 | <xs:complexType>\r |
98 | <xs:sequence>\r |
99 | <xs:element ref=" Filenames " minOccurs="0"/>\r |
100 | <xs:element name="Args" type=" ArgsType " minOccurs="0"/>\r |
101 | <xs:element name="OutFile" type=" FileNameConvention " minOccurs="0"/>\r |
102 | <xs:element name="OutputFileExtension" type=" xs:string " minOccurs="0"/>\r |
103 | <xs:element name="ToolName" type=" ToolType " minOccurs="0"/>\r |
104 | </xs:sequence>\r |
105 | <xs:attributeGroup ref="SectionsAttributes"/>\r |
106 | </xs:complexType>\r |
107 | </xs:element>\r |
108 | </xs:sequence>\r |
109 | <xs:attributeGroup ref=" SectionsAttributes "/>\r |
110 | </xs:complexType>\r |
111 | </xs:element>\r |
112 | </xs:sequence>\r |
113 | <xs:attributeGroup ref=" SectionsAttributes "/>\r |
114 | </xs:complexType>\r |
115 | </xs:element>\r |
116 | </xs:sequence>\r |
117 | <xs:attribute name="FfsKey" type="KeywordType" use="optional"/>\r |
118 | </xs:complexType>\r |
119 | </xs:element>\r |
92fb4401 |
120 | </xs:sequence>\r |
121 | </xs:complexType>\r |
122 | </xs:element>\r |
123 | <xs:element name="Copyright" type="Paragraph"/>\r |
124 | <xs:element name="DataHubs">\r |
125 | <xs:annotation>\r |
126 | <xs:documentation xml:lang="en">This is a list of DataHubRecord elements.</xs:documentation>\r |
127 | </xs:annotation>\r |
128 | <xs:complexType>\r |
129 | <xs:sequence>\r |
130 | <xs:element minOccurs="1" maxOccurs="unbounded" name="DataHubRecord">\r |
131 | <xs:complexType>\r |
878ddf1f |
132 | <xs:sequence>\r |
92fb4401 |
133 | <xs:element minOccurs="1" maxOccurs="1" name="DataHubCName" type="C_NameType"/>\r |
134 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
135 | </xs:sequence>\r |
136 | <xs:attributeGroup ref="DataHubAttributes"/>\r |
137 | </xs:complexType>\r |
138 | </xs:element>\r |
139 | </xs:sequence>\r |
140 | </xs:complexType>\r |
141 | </xs:element>\r |
142 | <xs:element name="DefaultValue">\r |
143 | <xs:annotation>\r |
144 | <xs:documentation xml:lang="en">The default setting of a PCD entry.</xs:documentation>\r |
145 | </xs:annotation>\r |
146 | <xs:complexType>\r |
147 | <xs:simpleContent>\r |
148 | <xs:extension base="xs:normalizedString"/>\r |
149 | </xs:simpleContent>\r |
150 | </xs:complexType>\r |
151 | </xs:element>\r |
152 | <xs:element name="Description" type="Paragraph">\r |
153 | <xs:annotation>\r |
154 | <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 |
155 | </xs:annotation>\r |
156 | </xs:element>\r |
157 | <xs:element name="DynamicPcdBuildDefinitions">\r |
158 | <xs:annotation>\r |
159 | <xs:documentation xml:lang="en">Child of Framework Platform Description (FPD)</xs:documentation>\r |
160 | <xs:documentation xml:lang="en">FPD uses this PCD information for Dynamic PCDs Only</xs:documentation>\r |
161 | </xs:annotation>\r |
162 | <xs:complexType>\r |
163 | <xs:sequence>\r |
164 | <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdBuildData">\r |
165 | <xs:complexType>\r |
878ddf1f |
166 | <xs:sequence>\r |
92fb4401 |
167 | <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r |
168 | <xs:element minOccurs="1" maxOccurs="1" name="Token" type="TokenDataType"/>\r |
169 | <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName" type="C_NameType"/>\r |
170 | <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/>\r |
171 | <xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize" type="DatumSizeLimitation"/>\r |
172 | <xs:element minOccurs="1" maxOccurs="unbounded" name="SkuInfo">\r |
173 | <xs:complexType>\r |
174 | <xs:sequence>\r |
175 | <xs:element minOccurs="1" maxOccurs="1" name="SkuId" type="xs:nonNegativeInteger"/>\r |
176 | <xs:choice>\r |
177 | <xs:group minOccurs="0" maxOccurs="1" ref="HiiEnable"/>\r |
178 | <xs:group minOccurs="0" maxOccurs="1" ref="VpdEnable"/>\r |
179 | <xs:group minOccurs="0" maxOccurs="1" ref="DefaultGroup"/>\r |
180 | </xs:choice>\r |
181 | </xs:sequence>\r |
182 | </xs:complexType>\r |
183 | </xs:element>\r |
184 | </xs:sequence>\r |
185 | <xs:attributeGroup ref="DynamicBuildPcdAttributes"/>\r |
186 | </xs:complexType>\r |
187 | </xs:element>\r |
188 | </xs:sequence>\r |
189 | </xs:complexType>\r |
190 | </xs:element>\r |
191 | <xs:element name="Events">\r |
192 | <xs:annotation>\r |
193 | <xs:documentation xml:lang="en">This is a list of MSA Events</xs:documentation>\r |
194 | </xs:annotation>\r |
195 | <xs:complexType>\r |
196 | <xs:sequence>\r |
197 | <xs:element minOccurs="0" maxOccurs="1" name="CreateEvents">\r |
198 | <xs:complexType>\r |
0850ca3b |
199 | <xs:sequence>\r |
92fb4401 |
200 | <xs:element minOccurs="1" maxOccurs="unbounded" name="EventTypes">\r |
201 | <xs:complexType>\r |
202 | <xs:sequence>\r |
203 | <xs:element minOccurs="1" maxOccurs="1" name="EventType" type="EventTypes"/>\r |
204 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
205 | </xs:sequence>\r |
206 | <xs:attributeGroup ref="EventAttributes"/>\r |
207 | </xs:complexType>\r |
208 | </xs:element>\r |
209 | </xs:sequence>\r |
210 | </xs:complexType>\r |
211 | </xs:element>\r |
212 | <xs:element minOccurs="0" maxOccurs="1" name="SignalEvents">\r |
213 | <xs:annotation>\r |
214 | <xs:documentation xml:lang="en">Module has an event that is waiting to be signaled. Event is named by GUID.</xs:documentation>\r |
215 | </xs:annotation>\r |
216 | <xs:complexType>\r |
c12c6c7d |
217 | <xs:sequence>\r |
92fb4401 |
218 | <xs:element minOccurs="1" maxOccurs="unbounded" name="EventTypes">\r |
219 | <xs:complexType>\r |
220 | <xs:sequence>\r |
221 | <xs:element minOccurs="1" maxOccurs="1" name="EventType" type="EventTypes"/>\r |
222 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
223 | </xs:sequence>\r |
224 | <xs:attributeGroup ref="EventAttributes"/>\r |
225 | </xs:complexType>\r |
226 | </xs:element>\r |
227 | </xs:sequence>\r |
228 | </xs:complexType>\r |
229 | </xs:element>\r |
230 | </xs:sequence>\r |
231 | </xs:complexType>\r |
232 | </xs:element>\r |
233 | <xs:element name="Externs">\r |
234 | <xs:annotation>\r |
235 | <xs:documentation xml:lang="en">This is a child of MSA files.</xs:documentation>\r |
236 | </xs:annotation>\r |
237 | <xs:complexType>\r |
238 | <xs:sequence minOccurs="1">\r |
239 | <xs:element minOccurs="0" maxOccurs="1" name="PcdIsDriver" type="PcdDriverTypes"/>\r |
9c091616 |
240 | <xs:element minOccurs="0" maxOccurs="1" name="TianoR8FlashMap_h" type="xs:boolean" default="false"/>\r |
92fb4401 |
241 | <xs:element minOccurs="0" maxOccurs="unbounded" name="Specification" type="Sentence"/>\r |
242 | <xs:element minOccurs="0" maxOccurs="unbounded" name="Extern">\r |
243 | <xs:complexType>\r |
5529d1f8 |
244 | <xs:choice minOccurs="1" maxOccurs="1">\r |
245 | <xs:sequence minOccurs="0" maxOccurs="1">\r |
92fb4401 |
246 | <xs:annotation>\r |
247 | <xs:documentation xml:lang="en">Driver Module</xs:documentation>\r |
248 | </xs:annotation>\r |
249 | <xs:element minOccurs="0" maxOccurs="1" name="ModuleEntryPoint" type="C_NameType"/>\r |
250 | <xs:element minOccurs="0" maxOccurs="1" name="ModuleUnloadImage" type="C_NameType"/>\r |
251 | </xs:sequence>\r |
5529d1f8 |
252 | <xs:sequence minOccurs="0" maxOccurs="1">\r |
92fb4401 |
253 | <xs:annotation>\r |
254 | <xs:documentation xml:lang="en">Library Module</xs:documentation>\r |
255 | </xs:annotation>\r |
256 | <xs:element minOccurs="0" maxOccurs="1" name="Constructor" type="C_NameType"/>\r |
257 | <xs:element minOccurs="0" maxOccurs="1" name="Destructor" type="C_NameType"/>\r |
258 | </xs:sequence>\r |
5529d1f8 |
259 | <xs:sequence minOccurs="0" maxOccurs="1">\r |
92fb4401 |
260 | <xs:annotation>\r |
261 | <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 |
262 | <xs:documentation xml:lang="en">Permit User Defined Extern Tags</xs:documentation>\r |
263 | </xs:annotation>\r |
5529d1f8 |
264 | <xs:element minOccurs="1" maxOccurs="1" name="DriverBinding" type="C_NameType"/>\r |
92fb4401 |
265 | <xs:element minOccurs="0" maxOccurs="1" name="ComponentName" type="C_NameType"/>\r |
266 | <xs:element minOccurs="0" maxOccurs="1" name="DriverConfig" type="C_NameType"/>\r |
267 | <xs:element minOccurs="0" maxOccurs="1" name="DriverDiag" type="C_NameType"/>\r |
268 | </xs:sequence>\r |
5529d1f8 |
269 | <xs:sequence minOccurs="0" maxOccurs="1">\r |
92fb4401 |
270 | <xs:annotation>\r |
271 | <xs:documentation xml:lang="en"> Module Call Backs</xs:documentation>\r |
272 | </xs:annotation>\r |
273 | <xs:element minOccurs="0" maxOccurs="1" name="SetVirtualAddressMapCallBack" type="C_NameType"/>\r |
274 | <xs:element minOccurs="0" maxOccurs="1" name="ExitBootServicesCallBack" type="C_NameType"/>\r |
275 | </xs:sequence>\r |
276 | </xs:choice>\r |
277 | <xs:attributeGroup ref="ExternAttributes"/>\r |
278 | </xs:complexType>\r |
279 | </xs:element>\r |
280 | </xs:sequence>\r |
281 | </xs:complexType>\r |
282 | </xs:element>\r |
283 | <xs:element name="Filename">\r |
284 | <xs:annotation>\r |
285 | <xs:documentation xml:lang="en">Describe the valid content of a filename This should extend PathAndFilename - Variable names not allowed here!</xs:documentation>\r |
286 | </xs:annotation>\r |
287 | <xs:complexType>\r |
288 | <xs:simpleContent>\r |
289 | <xs:extension base="PathAndFilename">\r |
290 | <xs:attributeGroup ref="FilenameAttributes"/>\r |
291 | </xs:extension>\r |
292 | </xs:simpleContent>\r |
293 | </xs:complexType>\r |
294 | </xs:element>\r |
295 | <xs:element name="Filenames">\r |
296 | <xs:annotation>\r |
297 | <xs:documentation xml:lang="en">This is a list of Filenames</xs:documentation>\r |
298 | </xs:annotation>\r |
299 | <xs:complexType>\r |
300 | <xs:sequence minOccurs="1">\r |
301 | <xs:element minOccurs="0" maxOccurs="unbounded" ref="Filename"/>\r |
302 | </xs:sequence>\r |
303 | </xs:complexType>\r |
304 | </xs:element>\r |
305 | <xs:element name="GuidDeclarations">\r |
306 | <xs:annotation>\r |
307 | <xs:documentation xml:lang="en">This is a child of PackageSurfaceArea (SPD) </xs:documentation>\r |
308 | </xs:annotation>\r |
309 | <xs:complexType>\r |
310 | <xs:sequence>\r |
311 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">\r |
312 | <xs:complexType>\r |
b1d9f2a3 |
313 | <xs:sequence>\r |
92fb4401 |
314 | <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r |
315 | <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="GuidType"/>\r |
316 | <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
317 | </xs:sequence>\r |
318 | <xs:attributeGroup ref="GuidDeclarationAttributes"/>\r |
319 | </xs:complexType>\r |
320 | </xs:element>\r |
321 | </xs:sequence>\r |
322 | </xs:complexType>\r |
323 | </xs:element>\r |
324 | <xs:element name="Guids">\r |
325 | <xs:complexType>\r |
326 | <xs:sequence>\r |
327 | <xs:element minOccurs="1" maxOccurs="unbounded" name="GuidCNames">\r |
328 | <xs:annotation>\r |
329 | <xs:documentation xml:lang="en">Describe the valid content of a GUID element in and MSA file.</xs:documentation>\r |
330 | </xs:annotation>\r |
331 | <xs:complexType>\r |
c12c6c7d |
332 | <xs:sequence>\r |
92fb4401 |
333 | <xs:element minOccurs="1" maxOccurs="1" name="GuidCName" type="C_NameType"/>\r |
334 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
335 | </xs:sequence>\r |
336 | <xs:attributeGroup ref="GuidAttributes"/>\r |
337 | </xs:complexType>\r |
338 | </xs:element>\r |
339 | </xs:sequence>\r |
340 | </xs:complexType>\r |
341 | </xs:element>\r |
342 | <xs:element name="HiiPackages">\r |
343 | <xs:annotation>\r |
344 | <xs:documentation xml:lang="en">Describe the list of a HiiPackage elements</xs:documentation>\r |
345 | </xs:annotation>\r |
346 | <xs:complexType>\r |
347 | <xs:sequence>\r |
348 | <xs:element minOccurs="1" maxOccurs="unbounded" name="HiiPackage">\r |
349 | <xs:complexType>\r |
c12c6c7d |
350 | <xs:sequence>\r |
92fb4401 |
351 | <xs:element minOccurs="1" maxOccurs="1" name="HiiCName" type="C_NameType"/>\r |
352 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
353 | </xs:sequence>\r |
354 | <xs:attributeGroup ref="HiiPackageAttributes"/>\r |
355 | </xs:complexType>\r |
356 | </xs:element>\r |
357 | </xs:sequence>\r |
358 | </xs:complexType>\r |
359 | </xs:element>\r |
360 | <xs:element name="Hobs">\r |
361 | <xs:complexType>\r |
362 | <xs:sequence>\r |
363 | <xs:element minOccurs="1" maxOccurs="unbounded" name="HobTypes">\r |
364 | <xs:complexType>\r |
b1d9f2a3 |
365 | <xs:sequence>\r |
92fb4401 |
366 | <xs:element minOccurs="1" maxOccurs="1" name="HobType" type="HobTypes"/>\r |
367 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
368 | </xs:sequence>\r |
369 | <xs:attributeGroup ref="HobAttributes"/>\r |
370 | </xs:complexType>\r |
371 | </xs:element>\r |
372 | </xs:sequence>\r |
373 | </xs:complexType>\r |
374 | </xs:element>\r |
375 | <xs:element name="IncludeHeader">\r |
376 | <xs:complexType>\r |
377 | <xs:simpleContent>\r |
378 | <xs:extension base="PathAndFilename">\r |
379 | <xs:attributeGroup ref="IncludeHeaderAttributes"/>\r |
380 | </xs:extension>\r |
381 | </xs:simpleContent>\r |
382 | </xs:complexType>\r |
383 | </xs:element>\r |
384 | <xs:element name="IndustryStdIncludes">\r |
385 | <xs:complexType>\r |
386 | <xs:sequence>\r |
387 | <xs:element minOccurs="1" maxOccurs="unbounded" ref="IndustryStdHeader"/>\r |
388 | </xs:sequence>\r |
389 | </xs:complexType>\r |
390 | </xs:element>\r |
391 | <xs:element name="IndustryStdHeader">\r |
392 | <xs:complexType>\r |
393 | <xs:sequence>\r |
394 | <xs:element minOccurs="1" maxOccurs="1" name="IncludeHeader" type="PathAndFilename"/>\r |
395 | <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
396 | </xs:sequence>\r |
397 | <xs:attributeGroup ref="IndustryStdHeaderAttributes"/>\r |
398 | </xs:complexType>\r |
399 | </xs:element>\r |
400 | <xs:element name="Libraries">\r |
401 | <xs:annotation>\r |
402 | <xs:documentation xml:lang="en">Different (Module) Instances of Libraries used ONLY in FPD Files.</xs:documentation>\r |
403 | </xs:annotation>\r |
404 | <xs:complexType>\r |
405 | <xs:sequence>\r |
406 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Instance">\r |
407 | <xs:complexType>\r |
408 | <xs:attributeGroup ref="LibraryAttributes"/>\r |
409 | </xs:complexType>\r |
410 | </xs:element>\r |
411 | </xs:sequence>\r |
412 | </xs:complexType>\r |
413 | </xs:element>\r |
414 | <xs:element name="LibraryClass">\r |
415 | <xs:annotation>\r |
416 | <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 |
417 | </xs:annotation>\r |
418 | <xs:complexType>\r |
419 | <xs:sequence>\r |
420 | <xs:element minOccurs="1" maxOccurs="1" name="Keyword" type="KeywordType"/>\r |
421 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
422 | </xs:sequence>\r |
423 | <xs:attributeGroup ref="LibraryClassAttributes"/>\r |
424 | </xs:complexType>\r |
425 | </xs:element>\r |
426 | <!-- LAH This is SPD LibraryClassDeclarations FINAL version -->\r |
427 | <xs:element name="LibraryClassDeclarations">\r |
428 | <xs:complexType>\r |
429 | <xs:sequence>\r |
430 | <xs:element minOccurs="1" maxOccurs="unbounded" name="LibraryClass">\r |
431 | <xs:complexType>\r |
878ddf1f |
432 | <xs:sequence>\r |
92fb4401 |
433 | <xs:element minOccurs="1" maxOccurs="1" name="IncludeHeader" type="PathAndFilename"/>\r |
434 | <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
435 | </xs:sequence>\r |
436 | <xs:attributeGroup ref="LibraryClassDeclarationAttributes"/>\r |
437 | </xs:complexType>\r |
438 | </xs:element>\r |
439 | </xs:sequence>\r |
440 | </xs:complexType>\r |
441 | </xs:element>\r |
442 | <xs:element name="LibraryClassDefinitions">\r |
443 | <xs:annotation>\r |
444 | <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 |
445 | </xs:annotation>\r |
446 | <xs:complexType>\r |
447 | <xs:sequence>\r |
448 | <xs:element minOccurs="1" maxOccurs="unbounded" ref="LibraryClass"/>\r |
449 | </xs:sequence>\r |
450 | </xs:complexType>\r |
451 | </xs:element>\r |
452 | <xs:element name="License">\r |
453 | <xs:complexType>\r |
454 | <xs:simpleContent>\r |
455 | <xs:extension base="Paragraph">\r |
456 | <xs:attribute name="URL" type="xs:anyURI" use="optional"/>\r |
457 | </xs:extension>\r |
458 | </xs:simpleContent>\r |
459 | </xs:complexType>\r |
460 | </xs:element>\r |
461 | <xs:element name="ModuleBuildOptions">\r |
462 | <xs:complexType>\r |
463 | <xs:sequence>\r |
700c2b96 |
464 | <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>\r |
92fb4401 |
465 | </xs:sequence>\r |
466 | </xs:complexType>\r |
467 | </xs:element>\r |
468 | <xs:element name="ModuleSaBuildOptions">\r |
469 | <xs:complexType>\r |
470 | <xs:sequence>\r |
700c2b96 |
471 | <xs:element minOccurs="0" maxOccurs="1" name="FvBinding" type="KeywordList"/>\r |
92fb4401 |
472 | <!-- The FfsFileNameGuid allows the Platform Integrator to specify a GUID for the FFS File Name GUID -->\r |
473 | <xs:element minOccurs="0" maxOccurs="1" name="FfsFileNameGuid" type="GuidType"/>\r |
474 | <!-- If binding is specified, you MUST specify the FfsFormatKey -->\r |
475 | <xs:element minOccurs="0" maxOccurs="1" name="FfsFormatKey" type="KeywordType"/>\r |
476 | <xs:element minOccurs="0" maxOccurs="1" ref="Options"/>\r |
477 | </xs:sequence>\r |
478 | </xs:complexType>\r |
479 | </xs:element>\r |
480 | <xs:element name="ModuleDefinitions">\r |
481 | <xs:complexType>\r |
482 | <xs:sequence>\r |
483 | <xs:element minOccurs="1" maxOccurs="1" name="SupportedArchitectures" type="ArchListType"/>\r |
484 | <xs:element minOccurs="1" maxOccurs="1" name="BinaryModule" type="xs:boolean" default="false"/>\r |
485 | <xs:element minOccurs="1" maxOccurs="1" name="OutputFileBasename" type="FileNameConvention"/>\r |
486 | <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom">\r |
487 | <xs:complexType>\r |
e4ecc06e |
488 | <xs:sequence>\r |
92fb4401 |
489 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Cloned">\r |
490 | <xs:complexType>\r |
491 | <xs:sequence>\r |
492 | <xs:element minOccurs="1" maxOccurs="1" name="PackageGuid" type="GuidType"/>\r |
493 | <xs:element minOccurs="1" maxOccurs="1" name="PackageVersion" type="VersionDataType"/>\r |
494 | <xs:element minOccurs="1" maxOccurs="1" name="ModuleGuid" type="GuidType"/>\r |
495 | <xs:element minOccurs="1" maxOccurs="1" name="ModuleVersion" type="VersionDataType"/>\r |
496 | </xs:sequence>\r |
9ede7fad |
497 | <!-- The Id is a number used to track heritage the first entry will be 0 and increment from then on. -->\r |
700c2b96 |
498 | <xs:attribute name="Id" type="xs:nonNegativeInteger" use="required"/>\r |
9ede7fad |
499 | <!-- If the original module was installed from a FAR, track the FAR it came from. -->\r |
500 | <xs:attribute name="FarGuid" type="GuidType" use="optional"/>\r |
92fb4401 |
501 | </xs:complexType>\r |
502 | </xs:element>\r |
503 | </xs:sequence>\r |
504 | </xs:complexType>\r |
505 | </xs:element>\r |
506 | </xs:sequence>\r |
507 | </xs:complexType>\r |
508 | </xs:element>\r |
509 | <xs:element name="ModuleType" type="ModuleTypeDef">\r |
510 | <xs:annotation>\r |
511 | <xs:documentation xml:lang="en">Describe the valid EFI Phase that the Module is designed to execute under.</xs:documentation>\r |
512 | </xs:annotation>\r |
513 | </xs:element>\r |
514 | <!-- Use in Final -->\r |
515 | <xs:element name="MsaFiles">\r |
516 | <xs:annotation>\r |
517 | <xs:documentation xml:lang="en">MsaFiles is a child of Surface Area Package Description (SPD) files</xs:documentation>\r |
518 | </xs:annotation>\r |
519 | <xs:complexType>\r |
520 | <xs:sequence>\r |
521 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename" type="PathAndFilename"/>\r |
522 | </xs:sequence>\r |
523 | </xs:complexType>\r |
524 | </xs:element>\r |
525 | <xs:element name="Options">\r |
526 | <xs:complexType>\r |
527 | <xs:sequence>\r |
528 | <xs:element minOccurs="1" maxOccurs="unbounded" ref="Option"/>\r |
529 | </xs:sequence>\r |
530 | </xs:complexType>\r |
531 | </xs:element>\r |
532 | <xs:element name="Option">\r |
533 | <!-- This element is used to store flags from the Tools -->\r |
534 | <xs:complexType>\r |
535 | <xs:simpleContent>\r |
536 | <xs:extension base="xs:normalizedString">\r |
537 | <xs:attributeGroup ref="OptionAttributes"/>\r |
538 | </xs:extension>\r |
539 | </xs:simpleContent>\r |
540 | </xs:complexType>\r |
541 | </xs:element>\r |
542 | <xs:element name="PackageDefinitions">\r |
543 | <xs:complexType>\r |
544 | <xs:sequence>\r |
545 | <xs:element minOccurs="1" maxOccurs="1" name="ReadOnly" type="xs:boolean" default="false"/>\r |
546 | <xs:element minOccurs="1" maxOccurs="1" name="RePackage" type="xs:boolean" default="false"/>\r |
547 | <xs:element minOccurs="0" maxOccurs="1" name="ClonedFrom">\r |
548 | <xs:complexType>\r |
549 | <xs:sequence>\r |
550 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Cloned">\r |
551 | <xs:complexType>\r |
552 | <xs:sequence>\r |
553 | <xs:element minOccurs="1" maxOccurs="1" name="PackageGuid" type="GuidType"/>\r |
554 | <xs:element minOccurs="1" maxOccurs="1" name="PackageVersion" type="VersionDataType"/>\r |
555 | </xs:sequence>\r |
9ede7fad |
556 | <!-- The Id is a number used to track heritage the first entry will be 0 and increment from then on. -->\r |
700c2b96 |
557 | <xs:attribute name="Id" type="xs:nonNegativeInteger" use="required"/>\r |
9ede7fad |
558 | <!-- If the original Package was installed from a FAR, track the FAR it came from. -->\r |
559 | <xs:attribute name="FarGuid" type="GuidType" use="optional"/>\r |
92fb4401 |
560 | </xs:complexType>\r |
561 | </xs:element>\r |
562 | </xs:sequence>\r |
563 | </xs:complexType>\r |
564 | </xs:element>\r |
565 | </xs:sequence>\r |
566 | </xs:complexType>\r |
567 | </xs:element>\r |
568 | <xs:element name="PackageDependencies">\r |
569 | <xs:annotation>\r |
570 | <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 |
571 | <xs:documentation xml:lang="en">Attributes to PackageName include Required: Usage PackageGuid PackageVesion, Optional: FeatureFlag</xs:documentation>\r |
572 | </xs:annotation>\r |
573 | <xs:complexType>\r |
574 | <xs:sequence>\r |
575 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Package">\r |
576 | <xs:complexType>\r |
577 | <xs:attributeGroup ref="PackageAttributes"/>\r |
578 | </xs:complexType>\r |
579 | </xs:element>\r |
580 | </xs:sequence>\r |
581 | </xs:complexType>\r |
582 | </xs:element>\r |
583 | <xs:element name="PackageHeaders">\r |
584 | <xs:annotation>\r |
585 | <xs:documentation xml:lang="en">PackageHeaders is a child of PackageSurfaceArea (SPD) </xs:documentation>\r |
586 | </xs:annotation>\r |
587 | <xs:complexType>\r |
588 | <xs:sequence>\r |
589 | <xs:element minOccurs="1" maxOccurs="unbounded" name="IncludePkgHeader">\r |
590 | <xs:complexType>\r |
878ddf1f |
591 | <xs:simpleContent>\r |
92fb4401 |
592 | <xs:extension base="PathAndFilename">\r |
593 | <xs:attributeGroup ref="PackageHeaderAttributes"/>\r |
594 | </xs:extension>\r |
878ddf1f |
595 | </xs:simpleContent>\r |
92fb4401 |
596 | </xs:complexType>\r |
597 | </xs:element>\r |
598 | </xs:sequence>\r |
599 | </xs:complexType>\r |
600 | </xs:element>\r |
601 | <xs:element name="PackageList">\r |
602 | <!-- Valid for DB usage only! -->\r |
603 | <xs:annotation>\r |
604 | <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 |
605 | </xs:annotation>\r |
606 | <xs:complexType>\r |
607 | <xs:sequence>\r |
608 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename" type="DbPathAndFilename"/>\r |
609 | </xs:sequence>\r |
610 | </xs:complexType>\r |
611 | </xs:element>\r |
612 | <!-- PcdBuildDefinition is a child of FPD ModuleSA element for FIXED_AT_BUILD, PATCHABLE_IN_MODULE, and FEATURE_FLAG PCDS Only! -->\r |
613 | <xs:element name="PcdBuildDefinition">\r |
614 | <xs:annotation>\r |
615 | <xs:documentation xml:lang="en">Child of FPD ModuleSA element for FIXED_AT_BUILD, PATCHABLE_IN_MODULE, and FEATURE_FLAG PCDS Only!</xs:documentation>\r |
616 | </xs:annotation>\r |
617 | <xs:complexType>\r |
618 | <xs:sequence>\r |
619 | <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdData">\r |
620 | <xs:complexType>\r |
f0147869 |
621 | <xs:sequence>\r |
92fb4401 |
622 | <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r |
623 | <xs:element minOccurs="1" maxOccurs="1" name="Token" type="TokenDataType"/>\r |
624 | <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName" type="C_NameType"/>\r |
625 | <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/>\r |
626 | <!-- MaxDatumSize is only required if the DatumType is VOID* -->\r |
627 | <xs:element minOccurs="0" maxOccurs="1" name="MaxDatumSize" type="DatumSizeLimitation"/>\r |
628 | <xs:element minOccurs="0" maxOccurs="1" name="Value" type="DefaultValueType"/>\r |
629 | </xs:sequence>\r |
630 | <xs:attributeGroup ref="PcdBuildDefinitionAttributes"/>\r |
631 | </xs:complexType>\r |
632 | </xs:element>\r |
633 | </xs:sequence>\r |
634 | </xs:complexType>\r |
635 | </xs:element>\r |
636 | <xs:group name="DefaultGroup">\r |
637 | <xs:sequence>\r |
638 | <xs:element minOccurs="1" maxOccurs="1" name="Value" type="DefaultValueType"/>\r |
639 | </xs:sequence>\r |
640 | </xs:group>\r |
641 | <xs:group name="HiiEnable">\r |
642 | <xs:annotation>\r |
643 | <xs:documentation xml:lang="en">If HiiEnable group is specified, then HiiEnable is default true</xs:documentation>\r |
644 | </xs:annotation>\r |
645 | <xs:sequence>\r |
646 | <xs:element minOccurs="1" maxOccurs="1" name="VariableName" type="HexWordArrayType"/>\r |
647 | <xs:element minOccurs="1" maxOccurs="1" name="VariableGuid" type="C_NameType"/>\r |
648 | <xs:element minOccurs="1" maxOccurs="1" name="VariableOffset" type="Hex64BitDataType"/>\r |
649 | <xs:element minOccurs="1" maxOccurs="1" name="HiiDefaultValue" type="DefaultValueType"/>\r |
650 | </xs:sequence>\r |
651 | </xs:group>\r |
652 | <xs:group name="VpdEnable">\r |
653 | <xs:annotation>\r |
654 | <xs:documentation xml:lang="en">If VpdEnable group is specified, then VpdEnable is default true</xs:documentation>\r |
655 | </xs:annotation>\r |
656 | <xs:sequence>\r |
657 | <xs:element minOccurs="1" maxOccurs="1" name="VpdOffset" type="Hex64BitDataType"/>\r |
658 | </xs:sequence>\r |
659 | </xs:group>\r |
660 | <xs:element name="PcdCoded">\r |
661 | <xs:annotation>\r |
662 | <xs:documentation xml:lang="en">Child of Module Surface Area Description (MSA)</xs:documentation>\r |
663 | </xs:annotation>\r |
664 | <xs:complexType>\r |
665 | <xs:sequence>\r |
666 | <xs:element minOccurs="1" maxOccurs="unbounded" name="PcdEntry">\r |
667 | <xs:complexType>\r |
f0147869 |
668 | <xs:sequence>\r |
92fb4401 |
669 | <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r |
670 | <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName" type="C_NameType"/>\r |
671 | <xs:element minOccurs="0" maxOccurs="1" name="DefaultValue" type="DefaultValueType"/>\r |
672 | <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
673 | </xs:sequence>\r |
674 | <!-- 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 |
675 | <xs:attributeGroup ref="PcdCodedAttributes"/>\r |
676 | </xs:complexType>\r |
677 | </xs:element>\r |
678 | </xs:sequence>\r |
679 | </xs:complexType>\r |
680 | </xs:element>\r |
681 | <!-- LAH This is PcdDeclarations FINAL version -->\r |
682 | <xs:element name="PcdDeclarations">\r |
683 | <xs:annotation>\r |
684 | <xs:documentation xml:lang="en">PcdDeclaratins is a child of Package Surface Area Description (SPD)</xs:documentation>\r |
685 | </xs:annotation>\r |
686 | <xs:complexType>\r |
687 | <xs:sequence minOccurs="1">\r |
688 | <xs:element maxOccurs="unbounded" name="PcdEntry">\r |
689 | <xs:complexType>\r |
878ddf1f |
690 | <xs:sequence>\r |
92fb4401 |
691 | <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r |
692 | <xs:element minOccurs="1" maxOccurs="1" name="Token" type="TokenDataType"/>\r |
693 | <xs:element minOccurs="1" maxOccurs="1" name="TokenSpaceGuidCName" type="C_NameType"/>\r |
694 | <xs:element minOccurs="1" maxOccurs="1" name="DatumType" type="PcdDataTypes"/>\r |
695 | <xs:element minOccurs="1" maxOccurs="1" name="ValidUsage" type="PcdListType"/>\r |
696 | <xs:element minOccurs="0" maxOccurs="1" name="DefaultValue" type="DefaultValueType"/>\r |
697 | <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
698 | </xs:sequence>\r |
699 | <xs:attributeGroup ref="PcdDeclarationAttributes"/>\r |
700 | </xs:complexType>\r |
701 | </xs:element>\r |
702 | </xs:sequence>\r |
703 | </xs:complexType>\r |
704 | </xs:element>\r |
705 | <xs:element name="FarList">\r |
706 | <!-- Valid for DB usage only! -->\r |
707 | <xs:annotation>\r |
708 | <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 |
709 | </xs:annotation>\r |
710 | <xs:complexType>\r |
711 | <xs:sequence>\r |
712 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Filename" type="DbPathAndFilename"/>\r |
713 | </xs:sequence>\r |
714 | </xs:complexType>\r |
715 | </xs:element>\r |
716 | <xs:element name="FfsFormatDeclarations">\r |
717 | <xs:complexType>\r |
718 | <xs:sequence>\r |
719 | <xs:element minOccurs="1" maxOccurs="unbounded" name="FfsFormatDeclaration">\r |
720 | <!-- Required Attributes are the FfsFormatKeyword and SupModuleList -->\r |
721 | <xs:complexType>\r |
e4ecc06e |
722 | <xs:sequence>\r |
92fb4401 |
723 | <xs:element minOccurs="1" maxOccurs="unbounded" ref="ProcessStep"/>\r |
724 | </xs:sequence>\r |
725 | <xs:attributeGroup ref="FfsAttributes"/>\r |
726 | </xs:complexType>\r |
727 | </xs:element>\r |
728 | </xs:sequence>\r |
729 | </xs:complexType>\r |
730 | </xs:element>\r |
731 | <xs:element name="PpiDeclarations">\r |
732 | <xs:annotation>\r |
733 | <xs:documentation xml:lang="en">PpiDeclarations is a child of PackageSurfaceArea (SPD) </xs:documentation>\r |
734 | </xs:annotation>\r |
735 | <xs:complexType>\r |
736 | <xs:sequence>\r |
737 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">\r |
738 | <xs:complexType>\r |
6c4dc226 |
739 | <xs:sequence>\r |
92fb4401 |
740 | <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r |
741 | <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="GuidType"/>\r |
742 | <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
743 | </xs:sequence>\r |
744 | <xs:attributeGroup ref="PpiDeclarationAttributes"/>\r |
745 | </xs:complexType>\r |
746 | </xs:element>\r |
747 | </xs:sequence>\r |
748 | </xs:complexType>\r |
749 | </xs:element>\r |
750 | <xs:element name="PPIs">\r |
751 | <xs:annotation>\r |
752 | <xs:documentation xml:lang="en">Provide for one or more Ppi or PpiNotify sections. </xs:documentation>\r |
753 | </xs:annotation>\r |
754 | <xs:complexType>\r |
755 | <xs:sequence minOccurs="1">\r |
756 | <xs:element minOccurs="0" maxOccurs="unbounded" name="Ppi">\r |
757 | <xs:complexType>\r |
6c4dc226 |
758 | <xs:sequence>\r |
92fb4401 |
759 | <xs:element minOccurs="1" maxOccurs="1" name="PpiCName" type="C_NameType"/>\r |
760 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
761 | </xs:sequence>\r |
762 | <xs:attributeGroup ref="PpiAttributes"/>\r |
763 | </xs:complexType>\r |
764 | </xs:element>\r |
765 | <xs:element minOccurs="0" maxOccurs="unbounded" name="PpiNotify">\r |
766 | <xs:complexType>\r |
878ddf1f |
767 | <xs:sequence>\r |
92fb4401 |
768 | <xs:element minOccurs="1" maxOccurs="1" name="PpiNotifyCName" type="C_NameType"/>\r |
769 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
770 | </xs:sequence>\r |
771 | <xs:attributeGroup ref="PpiNotifyAttributes"/>\r |
772 | </xs:complexType>\r |
773 | </xs:element>\r |
774 | </xs:sequence>\r |
775 | </xs:complexType>\r |
776 | </xs:element>\r |
777 | <xs:element name="ProtocolDeclarations">\r |
778 | <xs:annotation>\r |
779 | <xs:documentation xml:lang="en">ProtocolDeclarations is a child of PackageSurfaceArea (SPD) </xs:documentation>\r |
780 | </xs:annotation>\r |
781 | <xs:complexType>\r |
782 | <xs:sequence>\r |
783 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Entry">\r |
784 | <xs:complexType>\r |
878ddf1f |
785 | <xs:sequence>\r |
92fb4401 |
786 | <xs:element minOccurs="1" maxOccurs="1" name="C_Name" type="C_NameType"/>\r |
787 | <xs:element minOccurs="1" maxOccurs="1" name="GuidValue" type="GuidType"/>\r |
788 | <xs:element minOccurs="1" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
789 | </xs:sequence>\r |
790 | <xs:attributeGroup ref="ProtocolDeclarationAttributes"/>\r |
791 | </xs:complexType>\r |
792 | </xs:element>\r |
793 | </xs:sequence>\r |
794 | </xs:complexType>\r |
795 | </xs:element>\r |
796 | <xs:element name="Protocols">\r |
797 | <xs:annotation>\r |
798 | <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 |
799 | </xs:annotation>\r |
800 | <xs:complexType>\r |
801 | <xs:sequence>\r |
802 | <xs:element minOccurs="0" maxOccurs="unbounded" name="Protocol">\r |
803 | <xs:complexType>\r |
878ddf1f |
804 | <xs:sequence>\r |
92fb4401 |
805 | <xs:element minOccurs="1" maxOccurs="1" name="ProtocolCName" type="C_NameType"/>\r |
806 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
807 | </xs:sequence>\r |
808 | <xs:attributeGroup ref="ProtocolAttributes"/>\r |
809 | </xs:complexType>\r |
810 | </xs:element>\r |
811 | <xs:element minOccurs="0" maxOccurs="unbounded" name="ProtocolNotify">\r |
812 | <xs:complexType>\r |
87c6a4af |
813 | <xs:sequence>\r |
92fb4401 |
814 | <xs:element minOccurs="1" maxOccurs="1" name="ProtocolNotifyCName" type="C_NameType"/>\r |
815 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
816 | </xs:sequence>\r |
817 | <xs:attributeGroup ref="ProtocolNotifyAttributes"/>\r |
818 | </xs:complexType>\r |
819 | </xs:element>\r |
820 | </xs:sequence>\r |
821 | </xs:complexType>\r |
822 | </xs:element>\r |
823 | <xs:element name="ProcessStep">\r |
824 | <xs:complexType>\r |
825 | <xs:sequence>\r |
702c120a |
826 | <!-- The following is a macro for Apache ANT -->\r |
827 | <xs:element minOccurs="0" maxOccurs="1" name="MacroDefFile">\r |
828 | <xs:complexType>\r |
829 | <xs:simpleContent>\r |
830 | <xs:extension base="PathAndFilename">\r |
ccb4cab3 |
831 | <xs:attribute name="MacroName" type="KeywordType" use="required"/>\r |
702c120a |
832 | </xs:extension>\r |
833 | </xs:simpleContent>\r |
834 | </xs:complexType>\r |
835 | </xs:element>\r |
836 | <!-- The following is for System Executables -->\r |
837 | <xs:element minOccurs="0" maxOccurs="1" name="ToolName" type="xs:NCName"/>\r |
838 | <xs:element minOccurs="0" maxOccurs="unbounded" name="ToolArgs" type="xs:normalizedString"/>\r |
839 | <xs:element minOccurs="0" maxOccurs="unbounded" name="InputPattern" type="xs:normalizedString"/>\r |
840 | <xs:element minOccurs="0" maxOccurs="1" name="OutputPattern" type="xs:normalizedString"/>\r |
92fb4401 |
841 | </xs:sequence>\r |
842 | <xs:attributeGroup ref="ProcessStepAttributes"/>\r |
843 | </xs:complexType>\r |
844 | </xs:element>\r |
845 | <xs:element name="SourceFiles">\r |
846 | <xs:annotation>\r |
847 | <xs:documentation xml:lang="en">Multiple Filenames may be specified, and they may also be scoped to a specific Architecture.</xs:documentation>\r |
848 | </xs:annotation>\r |
849 | <xs:complexType>\r |
850 | <xs:sequence>\r |
851 | <xs:element minOccurs="1" maxOccurs="unbounded" ref="Filename"/>\r |
852 | </xs:sequence>\r |
853 | </xs:complexType>\r |
854 | </xs:element>\r |
855 | <xs:element name="SkuInfo">\r |
856 | <xs:complexType>\r |
857 | <xs:sequence>\r |
858 | <xs:element minOccurs="1" maxOccurs="unbounded" name="UiSkuName">\r |
859 | <xs:complexType>\r |
878ddf1f |
860 | <xs:simpleContent>\r |
92fb4401 |
861 | <xs:extension base="UiNameType">\r |
862 | <xs:attribute name="SkuID" type="xs:nonNegativeInteger" use="required"/>\r |
863 | </xs:extension>\r |
878ddf1f |
864 | </xs:simpleContent>\r |
92fb4401 |
865 | </xs:complexType>\r |
866 | </xs:element>\r |
867 | </xs:sequence>\r |
868 | </xs:complexType>\r |
869 | </xs:element>\r |
870 | <xs:element name="SystemTables">\r |
871 | <xs:annotation>\r |
872 | <xs:documentation xml:lang="en">This is list of System Table elements.</xs:documentation>\r |
873 | </xs:annotation>\r |
874 | <xs:complexType>\r |
875 | <xs:sequence>\r |
876 | <xs:element minOccurs="1" maxOccurs="unbounded" name="SystemTableCNames">\r |
877 | <xs:complexType>\r |
31a76725 |
878 | <xs:sequence>\r |
92fb4401 |
879 | <xs:element minOccurs="1" maxOccurs="1" name="SystemTableCName" type="C_NameType"/>\r |
880 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
881 | </xs:sequence>\r |
882 | <xs:attributeGroup ref="SystemTableAttributes"/>\r |
883 | </xs:complexType>\r |
884 | </xs:element>\r |
885 | </xs:sequence>\r |
886 | </xs:complexType>\r |
887 | </xs:element>\r |
888 | <xs:element name="UserDefinedAntTasks">\r |
889 | <xs:annotation>\r |
890 | <xs:documentation xml:lang="en">This is a sub-element of BuildOptions</xs:documentation>\r |
891 | <xs:documentation xml:lang="en">Permit Users to define their own custom ANT tasks.</xs:documentation>\r |
892 | </xs:annotation>\r |
893 | <xs:complexType>\r |
894 | <xs:sequence>\r |
895 | <xs:element minOccurs="1" maxOccurs="unbounded" ref="AntTask"/>\r |
896 | </xs:sequence>\r |
897 | </xs:complexType>\r |
898 | </xs:element>\r |
899 | <xs:element name="UserExtensions">\r |
900 | <xs:complexType>\r |
901 | <xs:sequence>\r |
c606a536 |
902 | <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>\r |
92fb4401 |
903 | </xs:sequence>\r |
904 | <xs:attribute name="UserID" type="xs:NCName" use="required"/>\r |
905 | <xs:attribute name="Identifier" type="xs:nonNegativeInteger" use="required"/>\r |
906 | </xs:complexType>\r |
907 | </xs:element>\r |
908 | <xs:element name="Variables">\r |
909 | <xs:annotation>\r |
910 | <xs:documentation xml:lang="en">An MSA FILE list of EFI Variables described by string pair.</xs:documentation>\r |
911 | </xs:annotation>\r |
912 | <xs:complexType>\r |
913 | <xs:sequence>\r |
914 | <xs:element minOccurs="1" maxOccurs="unbounded" name="Variable">\r |
915 | <xs:annotation>\r |
916 | <xs:documentation xml:lang="en">This is an EFI Variable Entry</xs:documentation>\r |
917 | </xs:annotation>\r |
918 | <xs:complexType>\r |
f0147869 |
919 | <xs:sequence>\r |
92fb4401 |
920 | <xs:element minOccurs="1" maxOccurs="1" name="VariableName" type="HexWordArrayType"/>\r |
921 | <xs:element minOccurs="1" maxOccurs="1" name="GuidC_Name" type="C_NameType"/>\r |
922 | <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r |
923 | </xs:sequence>\r |
924 | <xs:attributeGroup ref="VariableAttributes"/>\r |
925 | </xs:complexType>\r |
926 | </xs:element>\r |
927 | </xs:sequence>\r |
928 | </xs:complexType>\r |
929 | </xs:element>\r |
930 | <xs:element name="Version" type="VersionDataType"/>\r |
878ddf1f |
931 | </xs:schema>\r |