]>
Commit | Line | Data |
---|---|---|
1 | <?xml version="1.0" encoding="UTF-8"?>\r | |
2 | <!--\r | |
3 | Filename: SurfaceArea.xsd\r | |
4 | \r | |
5 | Copyright (c) 2006, Intel Corp.\r | |
6 | All rights reserved. This program and the accompanying materials\r | |
7 | are licensed and made available under the terms and conditions of the BSD License\r | |
8 | which may be found at http://opensource.org/licenses/bsd-license.php\r | |
9 | \r | |
10 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r | |
11 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
12 | \r | |
13 | -->\r | |
14 | <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"\r | |
15 | targetNamespace="http://www.TianoCore.org/2006/Edk2.0"\r | |
16 | xmlns="http://www.TianoCore.org/2006/Edk2.0">\r | |
17 | <xs:annotation>\r | |
18 | <xs:documentation xml:lang="en"> This schema defines FDP Manifest </xs:documentation>\r | |
19 | </xs:annotation>\r | |
20 | <!--<xs:include schemaLocation="http://nwlxweb02.jf.intel.com/2006/Edk2.0/FrameworkHeaders.xsd"/>-->\r | |
21 | <xs:include schemaLocation="FrameworkDataElements.xsd"/>\r | |
22 | <xs:element name="FrameworkDevPkgManifest">\r | |
23 | <xs:annotation>\r | |
24 | <xs:documentation xml:lang="en">At the top level of the Manifest we have four sections:\r | |
25 | Header, Private, Public and Contents.</xs:documentation>\r | |
26 | </xs:annotation>\r | |
27 | <xs:complexType>\r | |
28 | <xs:sequence>\r | |
29 | <xs:element minOccurs="1" maxOccurs="1" ref="Header"/>\r | |
30 | <xs:element minOccurs="0" maxOccurs="1" ref="Private"/>\r | |
31 | <xs:element minOccurs="0" maxOccurs="1" ref="Public"/>\r | |
32 | <xs:element minOccurs="1" maxOccurs="1" ref="Contents"/>\r | |
33 | </xs:sequence>\r | |
34 | </xs:complexType>\r | |
35 | </xs:element>\r | |
36 | <xs:element name="Header">\r | |
37 | <xs:annotation>\r | |
38 | <xs:documentation xml:lang="en"> The Header contains some three elements that can\r | |
39 | uniquely identify this package (PackageName, Guid, Version) as well as several\r | |
40 | fields that identify the licensing and compyright status of the contents of the\r | |
41 | package. The rest of the fields are there to idenify who created the package and\r | |
42 | when it was made. The buid fields are here to identify when the package was created,\r | |
43 | not when the package was compiled. </xs:documentation>\r | |
44 | </xs:annotation>\r | |
45 | <xs:complexType>\r | |
46 | <xs:sequence>\r | |
47 | <xs:element minOccurs="1" maxOccurs="1" ref="PackageName"/>\r | |
48 | <xs:element minOccurs="1" maxOccurs="1" ref="Guid"/>\r | |
49 | <xs:element minOccurs="1" maxOccurs="1" ref="Version"/>\r | |
50 | <xs:element minOccurs="0" maxOccurs="1" ref="Copyright"/>\r | |
51 | <xs:element minOccurs="1" maxOccurs="1" ref="License"/>\r | |
52 | <xs:element minOccurs="1" maxOccurs="1" name="PackageType" type="PackageType"/>\r | |
53 | <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r | |
54 | <xs:element minOccurs="1" maxOccurs="1" ref="Created"/>\r | |
55 | <xs:element minOccurs="0" maxOccurs="1" ref="Creator"/>\r | |
56 | <xs:element minOccurs="0" maxOccurs="1" ref="Vendor"/>\r | |
57 | <xs:element minOccurs="0" maxOccurs="unbounded" ref="Updated"/>\r | |
58 | <xs:element minOccurs="0" maxOccurs="unbounded" ref="Modifier"/>\r | |
59 | <xs:element minOccurs="0" maxOccurs="unbounded" ref="DefaultInstallDir"/>\r | |
60 | <xs:element minOccurs="0" maxOccurs="1" ref="BuildNumber"/>\r | |
61 | <xs:element minOccurs="0" maxOccurs="unbounded" ref="BuildTarget"/>\r | |
62 | <xs:element minOccurs="0" maxOccurs="1" ref="BuildSystem"/>\r | |
63 | <xs:element minOccurs="0" maxOccurs="1" ref="BuildType"/>\r | |
64 | <xs:element minOccurs="0" maxOccurs="1" ref="ReleaseType"/>\r | |
65 | </xs:sequence>\r | |
66 | </xs:complexType>\r | |
67 | </xs:element>\r | |
68 | <xs:element name="BuildNumber" type="xs:integer">\r | |
69 | <xs:annotation>\r | |
70 | <xs:documentation> The Build number is an integer that is meant to represent the exact\r | |
71 | build of the package. </xs:documentation>\r | |
72 | </xs:annotation>\r | |
73 | </xs:element>\r | |
74 | <xs:element name="Type">\r | |
75 | <xs:annotation>\r | |
76 | <xs:documentation> In the Type field we can record what kinds of modules are contained\r | |
77 | in the package. The possibilities are source, binary and mixed (both source and\r | |
78 | binary.) </xs:documentation>\r | |
79 | </xs:annotation>\r | |
80 | <xs:complexType>\r | |
81 | <xs:attributeGroup ref="attlist.Type"/>\r | |
82 | </xs:complexType>\r | |
83 | </xs:element>\r | |
84 | <xs:attributeGroup name="attlist.Type">\r | |
85 | <xs:attribute name="Value" use="required">\r | |
86 | <xs:simpleType>\r | |
87 | <xs:restriction base="xs:token">\r | |
88 | <xs:enumeration value="Source"/>\r | |
89 | <xs:enumeration value="Binary"/>\r | |
90 | <xs:enumeration value="Mixed"/>\r | |
91 | </xs:restriction>\r | |
92 | </xs:simpleType>\r | |
93 | </xs:attribute>\r | |
94 | </xs:attributeGroup>\r | |
95 | <xs:attributeGroup name="attlist.Guid">\r | |
96 | <xs:attribute name="Value" use="required" type="xs:NMTOKEN"/>\r | |
97 | </xs:attributeGroup>\r | |
98 | <xs:element name="BuildTarget" type="SupportedArchitectures">\r | |
99 | <xs:annotation>\r | |
100 | <xs:documentation> The build target is used to record what target architecture the\r | |
101 | modules within this package were compiled for. </xs:documentation>\r | |
102 | </xs:annotation>\r | |
103 | </xs:element>\r | |
104 | <xs:element name="Creator">\r | |
105 | <xs:annotation>\r | |
106 | <xs:documentation> In the creator field, we can record the name, user id, and email\r | |
107 | address of the person who created this package. </xs:documentation>\r | |
108 | </xs:annotation>\r | |
109 | <xs:complexType>\r | |
110 | <xs:attributeGroup ref="attlist.Creator"/>\r | |
111 | </xs:complexType>\r | |
112 | </xs:element>\r | |
113 | <xs:attributeGroup name="attlist.Creator">\r | |
114 | <xs:attribute name="Name" use="required"/>\r | |
115 | <xs:attribute name="UserId"/>\r | |
116 | <xs:attribute name="Email"/>\r | |
117 | </xs:attributeGroup>\r | |
118 | <xs:element name="Modifier">\r | |
119 | <xs:annotation>\r | |
120 | <xs:documentation> In the Modifier field, we can record the name, user id, and email\r | |
121 | address of the person who changed/updated or modified this package.\r | |
122 | </xs:documentation>\r | |
123 | </xs:annotation>\r | |
124 | <xs:complexType>\r | |
125 | <xs:attributeGroup ref="attlist.Modifier"/>\r | |
126 | </xs:complexType>\r | |
127 | </xs:element>\r | |
128 | <xs:attributeGroup name="attlist.Modifier">\r | |
129 | <xs:attribute name="Name" use="required"/>\r | |
130 | <xs:attribute name="UserId"/>\r | |
131 | <xs:attribute name="Email"/>\r | |
132 | </xs:attributeGroup>\r | |
133 | <xs:element name="Vendor" type="xs:token">\r | |
134 | <xs:annotation>\r | |
135 | <xs:documentation> The name of the company, organization or individual that created or\r | |
136 | distributes the package. </xs:documentation>\r | |
137 | </xs:annotation>\r | |
138 | </xs:element>\r | |
139 | <xs:element name="BuildSystem">\r | |
140 | <xs:annotation>\r | |
141 | <xs:documentation>This is the place to record the name and DNS name of the computer on\r | |
142 | which the package was created.</xs:documentation>\r | |
143 | </xs:annotation>\r | |
144 | <xs:complexType>\r | |
145 | <xs:attributeGroup ref="attlist.BuildSystem"/>\r | |
146 | </xs:complexType>\r | |
147 | </xs:element>\r | |
148 | <xs:attributeGroup name="attlist.BuildSystem">\r | |
149 | <xs:attribute name="Name" use="required"/>\r | |
150 | <xs:attribute name="NetAddr"/>\r | |
151 | </xs:attributeGroup>\r | |
152 | <xs:element name="BuildType">\r | |
153 | <xs:annotation>\r | |
154 | <xs:documentation> The package may be Debug or Production. </xs:documentation>\r | |
155 | </xs:annotation>\r | |
156 | <xs:simpleType>\r | |
157 | <xs:restriction base="xs:token">\r | |
158 | <xs:enumeration value="Debug"/>\r | |
159 | <xs:enumeration value="Production"/>\r | |
160 | </xs:restriction>\r | |
161 | </xs:simpleType>\r | |
162 | </xs:element>\r | |
163 | <xs:element name="ReleaseType">\r | |
164 | <xs:annotation>\r | |
165 | <xs:documentation> We may identify the quality level of the package here.\r | |
166 | </xs:documentation>\r | |
167 | </xs:annotation>\r | |
168 | <xs:simpleType>\r | |
169 | <xs:restriction base="xs:token">\r | |
170 | <xs:enumeration value="Developer Build"/>\r | |
171 | <xs:enumeration value="Experimental Release"/>\r | |
172 | <xs:enumeration value="Alpha Release"/>\r | |
173 | <xs:enumeration value="Beta Release"/>\r | |
174 | <xs:enumeration value="Release Canidate"/>\r | |
175 | <xs:enumeration value="Official Release"/>\r | |
176 | <xs:enumeration value="Patch Release"/>\r | |
177 | <xs:enumeration value="Integration Build Release"/>\r | |
178 | </xs:restriction>\r | |
179 | </xs:simpleType>\r | |
180 | </xs:element>\r | |
181 | <xs:element name="DefaultInstallDir">\r | |
182 | <xs:annotation>\r | |
183 | <xs:documentation> This is the directory, relative to the root of the workspace, where\r | |
184 | the package will be installed by default. </xs:documentation>\r | |
185 | </xs:annotation>\r | |
186 | <xs:complexType>\r | |
187 | <xs:attributeGroup ref="attlist.DefaultInstallDir"/>\r | |
188 | </xs:complexType>\r | |
189 | </xs:element>\r | |
190 | <xs:attributeGroup name="attlist.DefaultInstallDir">\r | |
191 | <xs:attribute name="Name" use="required"/>\r | |
192 | </xs:attributeGroup>\r | |
193 | <xs:element name="Dependencies">\r | |
194 | <xs:annotation>\r | |
195 | <xs:documentation> We can track the pakages that this package provides (these are the\r | |
196 | packages contained in this pacakge.) We also record which packages are required by\r | |
197 | this package. </xs:documentation>\r | |
198 | </xs:annotation>\r | |
199 | <xs:complexType>\r | |
200 | <xs:sequence>\r | |
201 | <xs:element minOccurs="0" ref="Requires"/>\r | |
202 | <xs:element minOccurs="0" ref="Provides"/>\r | |
203 | </xs:sequence>\r | |
204 | </xs:complexType>\r | |
205 | </xs:element>\r | |
206 | <xs:element name="Requires">\r | |
207 | <xs:annotation>\r | |
208 | <xs:documentation> This is a list of the packages that this package requires to be\r | |
209 | installed in the workspace for package to function and/or build correctly. In the\r | |
210 | case of source packages, these are the necessary dependencies for successful\r | |
211 | build-time operation of the package. For binary packages these dependencies are\r | |
212 | necessary for successful runtime operation.</xs:documentation>\r | |
213 | </xs:annotation>\r | |
214 | <xs:complexType mixed="true">\r | |
215 | <xs:choice minOccurs="0" maxOccurs="unbounded">\r | |
216 | <xs:element name="Package">\r | |
217 | <xs:annotation>\r | |
218 | <xs:documentation xml:lang="en">This tag is used in the Framework Package\r | |
219 | Database File to track individual package information. The Path is a\r | |
220 | relative path to the SPD File.</xs:documentation>\r | |
221 | </xs:annotation>\r | |
222 | <xs:complexType>\r | |
223 | <xs:sequence maxOccurs="unbounded">\r | |
224 | <xs:element minOccurs="0" maxOccurs="1" ref="PackageName"/>\r | |
225 | <xs:element minOccurs="1" maxOccurs="1" ref="Guid"/>\r | |
226 | <xs:element minOccurs="1" maxOccurs="1" ref="Version"/>\r | |
227 | <xs:element minOccurs="1" maxOccurs="1" ref="Path"/>\r | |
228 | <xs:element minOccurs="1" maxOccurs="1" ref="InstalledDate"/>\r | |
229 | </xs:sequence>\r | |
230 | <xs:attributeGroup ref="PackageAttributes"/>\r | |
231 | </xs:complexType>\r | |
232 | </xs:element>\r | |
233 | <xs:element ref="Includes"/>\r | |
234 | <xs:element name="Library">\r | |
235 | <xs:complexType>\r | |
236 | <xs:simpleContent>\r | |
237 | <xs:extension base="BaseNameConvention">\r | |
238 | <xs:attributeGroup ref="LibraryAttributes"/>\r | |
239 | </xs:extension>\r | |
240 | </xs:simpleContent>\r | |
241 | </xs:complexType>\r | |
242 | </xs:element>\r | |
243 | <xs:element name="Protocol">\r | |
244 | <xs:complexType>\r | |
245 | <xs:simpleContent>\r | |
246 | <xs:extension base="C_Name">\r | |
247 | <xs:attributeGroup ref="ProtocolAttributes"/>\r | |
248 | </xs:extension>\r | |
249 | </xs:simpleContent>\r | |
250 | </xs:complexType>\r | |
251 | </xs:element>\r | |
252 | <xs:element ref="Guid"/>\r | |
253 | <xs:element ref="File"/>\r | |
254 | </xs:choice>\r | |
255 | </xs:complexType>\r | |
256 | </xs:element>\r | |
257 | <xs:element name="Provides">\r | |
258 | <xs:annotation>\r | |
259 | <xs:documentation>The list of dependencies that the package fulfills.</xs:documentation>\r | |
260 | </xs:annotation>\r | |
261 | <xs:complexType>\r | |
262 | <xs:choice minOccurs="0" maxOccurs="unbounded">\r | |
263 | <xs:element name="Package">\r | |
264 | <xs:annotation>\r | |
265 | <xs:documentation xml:lang="en">This tag is used in the Framework Package\r | |
266 | Database File to track individual package information. The Path is a\r | |
267 | relative path to the SPD File.</xs:documentation>\r | |
268 | </xs:annotation>\r | |
269 | <xs:complexType>\r | |
270 | <xs:sequence maxOccurs="unbounded">\r | |
271 | <xs:element minOccurs="0" maxOccurs="1" ref="PackageName"/>\r | |
272 | <xs:element minOccurs="1" maxOccurs="1" ref="Guid"/>\r | |
273 | <xs:element minOccurs="1" maxOccurs="1" ref="Version"/>\r | |
274 | <xs:element minOccurs="1" maxOccurs="1" ref="Path"/>\r | |
275 | <xs:element minOccurs="1" maxOccurs="1" ref="InstalledDate"/>\r | |
276 | </xs:sequence>\r | |
277 | <xs:attributeGroup ref="PackageAttributes"/>\r | |
278 | </xs:complexType>\r | |
279 | </xs:element>\r | |
280 | <xs:element ref="Includes"/>\r | |
281 | <xs:element name="Library">\r | |
282 | <xs:annotation><xs:documentation>\r | |
283 | A library. It can be provided by or required by this or other packages.\r | |
284 | </xs:documentation></xs:annotation>\r | |
285 | <xs:complexType>\r | |
286 | <xs:simpleContent>\r | |
287 | <xs:extension base="BaseNameConvention">\r | |
288 | <xs:attributeGroup ref="LibraryAttributes"/>\r | |
289 | </xs:extension>\r | |
290 | </xs:simpleContent>\r | |
291 | </xs:complexType>\r | |
292 | </xs:element>\r | |
293 | <xs:element name="Protocol">\r | |
294 | <xs:annotation>\r | |
295 | <xs:documentation>\r | |
296 | A protocol. It can be provided by or required by this or other packages.\r | |
297 | </xs:documentation>\r | |
298 | </xs:annotation>\r | |
299 | <xs:complexType>\r | |
300 | <xs:simpleContent>\r | |
301 | <xs:extension base="C_Name">\r | |
302 | <xs:attributeGroup ref="ProtocolAttributes"/>\r | |
303 | </xs:extension>\r | |
304 | </xs:simpleContent>\r | |
305 | </xs:complexType>\r | |
306 | </xs:element>\r | |
307 | <xs:element ref="Guid"/>\r | |
308 | <xs:element ref="File"/>\r | |
309 | </xs:choice>\r | |
310 | </xs:complexType>\r | |
311 | </xs:element>\r | |
312 | <xs:attributeGroup name="attlist.Library">\r | |
313 | <xs:attribute name="Name" use="required"/>\r | |
314 | </xs:attributeGroup>\r | |
315 | <xs:attributeGroup name="attlist.Protocol">\r | |
316 | <xs:attribute name="Name" use="required"/>\r | |
317 | <xs:attribute name="Guid" use="required" type="xs:NMTOKEN"/>\r | |
318 | </xs:attributeGroup>\r | |
319 | <xs:element name="Private">\r | |
320 | <xs:annotation>\r | |
321 | <xs:documentation> The Private section is a place where the files are listed that should\r | |
322 | not be seen by the users of this package. </xs:documentation>\r | |
323 | </xs:annotation>\r | |
324 | <xs:complexType mixed="true">\r | |
325 | <xs:sequence>\r | |
326 | <xs:element minOccurs="0" maxOccurs="unbounded" ref="File"/>\r | |
327 | </xs:sequence>\r | |
328 | </xs:complexType>\r | |
329 | </xs:element>\r | |
330 | <xs:element name="Public">\r | |
331 | <xs:annotation>\r | |
332 | <xs:documentation> The Public section is a list of files that are meant to be seen by\r | |
333 | the users of the package. </xs:documentation>\r | |
334 | </xs:annotation>\r | |
335 | <xs:complexType mixed="true">\r | |
336 | <xs:sequence>\r | |
337 | <xs:element minOccurs="0" maxOccurs="unbounded" ref="File"/>\r | |
338 | </xs:sequence>\r | |
339 | </xs:complexType>\r | |
340 | </xs:element>\r | |
341 | <xs:element name="Contents">\r | |
342 | <xs:annotation>\r | |
343 | <xs:documentation>This is a list of all the files within this package. Each file is\r | |
344 | identified by its path relative to the workspace root.</xs:documentation>\r | |
345 | </xs:annotation>\r | |
346 | <xs:complexType>\r | |
347 | <xs:sequence>\r | |
348 | <xs:element maxOccurs="unbounded" ref="File"/>\r | |
349 | </xs:sequence>\r | |
350 | </xs:complexType>\r | |
351 | </xs:element>\r | |
352 | <xs:element name="File">\r | |
353 | <xs:annotation>\r | |
354 | <xs:documentation xml:lang="en">Specify a filename including the path</xs:documentation>\r | |
355 | </xs:annotation>\r | |
356 | <xs:complexType>\r | |
357 | <xs:simpleContent>\r | |
358 | <xs:extension base="xs:normalizedString">\r | |
359 | <xs:attributeGroup ref="attlist.File"/>\r | |
360 | </xs:extension>\r | |
361 | </xs:simpleContent>\r | |
362 | </xs:complexType>\r | |
363 | </xs:element>\r | |
364 | <xs:attributeGroup name="attlist.File">\r | |
365 | <xs:attribute name="Type"/>\r | |
366 | <xs:attribute name="Desc"/>\r | |
367 | <xs:attribute name="Size" type="xs:NMTOKEN"/>\r | |
368 | <xs:attribute name="CDate" type="xs:NMTOKEN"/>\r | |
369 | <xs:attribute name="CTime" type="xs:NMTOKEN"/>\r | |
370 | <xs:attribute name="MDate" type="xs:NMTOKEN"/>\r | |
371 | <xs:attribute name="MTime" type="xs:NMTOKEN"/>\r | |
372 | <xs:attribute name="ADate" type="xs:NMTOKEN"/>\r | |
373 | <xs:attribute name="ATime" type="xs:NMTOKEN"/>\r | |
374 | <xs:attribute name="Checksum" type="xs:NMTOKEN"/>\r | |
375 | </xs:attributeGroup>\r | |
376 | </xs:schema>\r |