]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/XMLSchema/FrameworkHeaders.xsd
Intermediate Check-in this SPD schema handles both old and new elements.
[mirror_edk2.git] / Tools / XMLSchema / FrameworkHeaders.xsd
CommitLineData
878ddf1f 1<?xml version="1.0" encoding="UTF-8"?>\r
2<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.TianoCore.org/2006/Edk2.0" xmlns="http://www.TianoCore.org/2006/Edk2.0">\r
3 <!--\r
4 Filename: FrameworkHeaders.xsd\r
5 \r
6 Copyright (c) 2006, Intel Corp.\r
7 All rights reserved. This program and the accompanying materials\r
8 are licensed and made available under the terms and conditions of the BSD License\r
9 which may be found at http://opensource.org/licenses/bsd-license.php\r
10 \r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13 \r
14 -->\r
15 <xs:include schemaLocation="FrameworkDataElements.xsd"/>\r
16 <xs:element name="FdbHeader">\r
17 <xs:annotation>\r
18 <xs:documentation xml:lang="en">This is the header for the Framework Package Database file.</xs:documentation>\r
19 </xs:annotation>\r
20 <xs:complexType>\r
21 <xs:sequence>\r
22 <xs:element minOccurs="1" maxOccurs="1" ref="DatabaseName"/>\r
4688cb14 23 <!-- Value fixed during initialization: FrameworkDatabase -->\r
f29b8a33 24 <xs:choice minOccurs="1" maxOccurs="1">\r
25 <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
26 <!-- Guid needs to be removed -->\r
27 <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
28 <!-- GuidValue needs to be required -->\r
29 </xs:choice>\r
878ddf1f 30 <xs:element minOccurs="1" maxOccurs="1" ref="Version"/>\r
f29b8a33 31 <!-- Version is the version of this file -->\r
878ddf1f 32 <xs:element minOccurs="0" maxOccurs="1" ref="Path"/>\r
f29b8a33 33 <!-- Path needs to be removed -->\r
0fce57e7 34 <xs:choice minOccurs="1" maxOccurs="1">\r
f29b8a33 35 <xs:element minOccurs="0" maxOccurs="1" ref="Created"/>\r
36 <!-- Created needs to be removed -->\r
37 <xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>\r
38 <!-- CreatedDate needs to be required -->\r
39 </xs:choice>\r
40 <xs:choice minOccurs="0">\r
41 <xs:element minOccurs="0" maxOccurs="1" ref="Updated"/>\r
42 <!-- Updated needs to be removed -->\r
43 <xs:element minOccurs="0" maxOccurs="1" ref="UpdatedDate"/>\r
0fce57e7 44 </xs:choice>\r
878ddf1f 45 <xs:element minOccurs="1" maxOccurs="1" ref="Abstract"/>\r
46 <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
47 <xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>\r
48 <xs:element minOccurs="1" maxOccurs="1" ref="License"/>\r
f29b8a33 49 <xs:element minOccurs="0" maxOccurs="1" ref="Specification"/>\r
50 <!-- Specificatoin needs to be required - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00090000 -->\r
878ddf1f 51 </xs:sequence>\r
52 </xs:complexType>\r
53 </xs:element>\r
54 <xs:element name="MbdHeader">\r
f29b8a33 55 <!-- MbdHeader needs to be removed -->\r
878ddf1f 56 <xs:annotation>\r
f29b8a33 57 <xs:documentation xml:lang="en">DO NOT USE! This is the header for the Component Module Build Description (MBD) file. NOTE: The GUID may be different from the GUID in the MSA file, as the Guid is updated every time the file is changed, as the Guid may change if the contents of the file are changed.</xs:documentation>\r
878ddf1f 58 </xs:annotation>\r
59 <xs:complexType>\r
60 <xs:sequence>\r
61 <xs:element minOccurs="1" maxOccurs="1" ref="BaseName"/>\r
62 <xs:element minOccurs="1" maxOccurs="1" ref="Guid"/>\r
63 <xs:element minOccurs="1" maxOccurs="1" ref="Version"/>\r
64 <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
65 <xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>\r
66 <xs:element minOccurs="1" maxOccurs="1" ref="License"/>\r
2fdd0c7d 67 <xs:element minOccurs="0" maxOccurs="1" ref="Specification"/>\r
0fce57e7 68 <xs:choice minOccurs="1" maxOccurs="1">\r
f29b8a33 69 <xs:element minOccurs="0" maxOccurs="1" ref="Created"/>\r
70 <xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>\r
0fce57e7 71 </xs:choice>\r
72 <xs:choice minOccurs="1" maxOccurs="1">\r
f29b8a33 73 <xs:element minOccurs="0" maxOccurs="1" ref="Modified"/>\r
74 <xs:element minOccurs="0" maxOccurs="1" ref="ModifiedDate"/>\r
0fce57e7 75 </xs:choice>\r
878ddf1f 76 </xs:sequence>\r
77 </xs:complexType>\r
78 </xs:element>\r
79 <xs:element name="MbdLibHeader">\r
f29b8a33 80 <!-- MbdLibHeader needs to be removed -->\r
878ddf1f 81 <xs:annotation>\r
f29b8a33 82 <xs:documentation xml:lang="en">DO NOT USE! This is the header for the Library Module Build Description (MBD) file. NOTE: The Guid may be different from the Guid in the MSA file, as the Guid may change when the contents of the file are changed..</xs:documentation>\r
878ddf1f 83 </xs:annotation>\r
84 <xs:complexType>\r
85 <xs:sequence>\r
86 <xs:element minOccurs="1" maxOccurs="1" ref="BaseName"/>\r
87 <xs:element minOccurs="1" maxOccurs="1" ref="Guid"/>\r
88 <xs:element minOccurs="1" maxOccurs="1" ref="Version"/>\r
89 <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
90 <xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>\r
91 <xs:element minOccurs="1" maxOccurs="1" ref="License"/>\r
2fdd0c7d 92 <xs:element minOccurs="0" maxOccurs="1" ref="Specification"/>\r
0fce57e7 93 <xs:choice minOccurs="1" maxOccurs="1">\r
f29b8a33 94 <xs:element minOccurs="0" maxOccurs="1" ref="Created"/>\r
95 <xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>\r
0fce57e7 96 </xs:choice>\r
97 <xs:choice minOccurs="1" maxOccurs="1">\r
f29b8a33 98 <xs:element minOccurs="0" maxOccurs="1" ref="Modified"/>\r
99 <xs:element minOccurs="0" maxOccurs="1" ref="ModifiedDate"/>\r
0fce57e7 100 </xs:choice>\r
878ddf1f 101 </xs:sequence>\r
102 </xs:complexType>\r
103 </xs:element>\r
104 <xs:element name="MsaHeader">\r
105 <xs:annotation>\r
106 <xs:documentation xml:lang="en">This is the Component Module Surface Area Description Header - a replacement for INF files. The GUID may change when the contents of the file are changed.</xs:documentation>\r
107 </xs:annotation>\r
108 <xs:complexType>\r
109 <xs:sequence>\r
2fdd0c7d 110 <xs:choice>\r
111 <xs:element minOccurs="0" maxOccurs="1" ref="BaseName"/>\r
4688cb14 112 <!-- BaseName needs to be removed -->\r
2fdd0c7d 113 <xs:element minOccurs="0" maxOccurs="1" name="ModuleName" type="xs:NCName"/>\r
114 </xs:choice>\r
878ddf1f 115 <xs:element minOccurs="1" maxOccurs="1" ref="ModuleType"/>\r
116 <xs:element minOccurs="1" maxOccurs="1" ref="ComponentType"/>\r
f29b8a33 117 <xs:choice>\r
118 <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
119 <!-- Guid needs to be removed -->\r
120 <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
121 <!-- GuidValue needs to be required -->\r
122 </xs:choice>\r
878ddf1f 123 <xs:element minOccurs="1" maxOccurs="1" ref="Version"/>\r
124 <xs:element minOccurs="1" maxOccurs="1" ref="Abstract"/>\r
125 <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
126 <xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>\r
127 <xs:element minOccurs="1" maxOccurs="1" ref="License"/>\r
0fce57e7 128 <xs:choice minOccurs="1" maxOccurs="1">\r
f29b8a33 129 <xs:element minOccurs="0" maxOccurs="1" ref="Created"/>\r
130 <!-- Created needs to be removed -->\r
131 <xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>\r
132 <!-- CreatedDate needs to be required -->\r
133 </xs:choice>\r
134 <xs:choice>\r
135 <xs:element minOccurs="0" maxOccurs="1" ref="Updated"/>\r
136 <!-- Updated needs to be removed -->\r
137 <xs:element minOccurs="0" maxOccurs="1" ref="ModifiedDate"/>\r
0fce57e7 138 </xs:choice>\r
348e1ac1 139 <xs:element minOccurs="0" maxOccurs="1" name="SupportedArchitectures">\r
140 <xs:simpleType>\r
141 <xs:list itemType="SupportedArchitectures"/>\r
142 </xs:simpleType>\r
143 </xs:element>\r
0fce57e7 144 <xs:element minOccurs="0" maxOccurs="1" ref="Specification"/>\r
f29b8a33 145 <!-- Specification needs to be required - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00090000 -->\r
878ddf1f 146 </xs:sequence>\r
147 </xs:complexType>\r
148 </xs:element>\r
149 <xs:element name="MsaLibHeader">\r
f29b8a33 150 <!-- MsaLibHeader needs to be removed -->\r
878ddf1f 151 <xs:annotation>\r
f29b8a33 152 <xs:documentation xml:lang="en">DO NOT USE! This is the Library Module Surface Area Description Header - a replacement for INF files. The Guid may change when the contents of the file are changed.</xs:documentation>\r
878ddf1f 153 </xs:annotation>\r
154 <xs:complexType>\r
155 <xs:sequence>\r
156 <xs:element minOccurs="1" maxOccurs="1" ref="BaseName"/>\r
157 <xs:element minOccurs="1" maxOccurs="1" ref="ModuleType"/>\r
158 <xs:element minOccurs="1" maxOccurs="1" ref="ComponentType"/>\r
159 <xs:element minOccurs="1" maxOccurs="1" ref="Guid"/>\r
160 <xs:element minOccurs="1" maxOccurs="1" ref="Version"/>\r
161 <xs:element minOccurs="1" maxOccurs="1" ref="Abstract"/>\r
162 <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
163 <xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>\r
164 <xs:element minOccurs="1" maxOccurs="1" ref="License"/>\r
0fce57e7 165 <xs:choice minOccurs="1" maxOccurs="1">\r
f29b8a33 166 <xs:element minOccurs="0" maxOccurs="1" ref="Created"/>\r
167 <xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>\r
0fce57e7 168 </xs:choice>\r
878ddf1f 169 <xs:element minOccurs="0" maxOccurs="1" ref="Updated"/>\r
9e318f88 170 <xs:element minOccurs="0" maxOccurs="1" ref="Specification"/>\r
878ddf1f 171 </xs:sequence>\r
172 </xs:complexType>\r
173 </xs:element>\r
174 <xs:element name="PlatformHeader">\r
175 <xs:annotation>\r
176 <xs:documentation xml:lang="en">This head is for the Framework Platform Description file (FPD.)</xs:documentation>\r
177 </xs:annotation>\r
178 <xs:complexType>\r
179 <xs:sequence>\r
cb9f0b9e 180 <xs:element minOccurs="1" maxOccurs="1" name="PlatformName" type="PlatformNamingConvention"/>\r
bab93bdd 181 <xs:choice>\r
4688cb14 182 <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
183 <!-- DO NOT USE Guid needs to be removed -->\r
184 <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
185 <!-- GuidValue needs to be required -->\r
bab93bdd 186 </xs:choice>\r
878ddf1f 187 <xs:element minOccurs="0" maxOccurs="1" ref="Version"/>\r
188 <xs:element minOccurs="1" maxOccurs="1" ref="Abstract"/>\r
189 <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
190 <xs:element minOccurs="0" maxOccurs="1" ref="Copyright"/>\r
191 <xs:element minOccurs="0" maxOccurs="1" ref="License"/>\r
0fce57e7 192 <xs:choice minOccurs="1" maxOccurs="1">\r
4688cb14 193 <xs:element minOccurs="0" maxOccurs="1" ref="Created"/>\r
194 <!-- DO NOT USE Created needs to be removed -->\r
195 <xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>\r
196 <!-- CreatedDate needs to be required -->\r
0fce57e7 197 </xs:choice>\r
cb9f0b9e 198 <xs:element minOccurs="0" maxOccurs="1" ref="CreatedBy"/>\r
199 <!-- DO NOT USE CreatedBy needs to be removed -->\r
f29b8a33 200 <xs:choice>\r
4688cb14 201 <xs:element minOccurs="0" maxOccurs="1" ref="Updated"/>\r
202 <!-- DO NOT USE Updated needs to be removed -->\r
203 <xs:element minOccurs="0" maxOccurs="1" ref="ModifiedDate"/>\r
bab93bdd 204 </xs:choice>\r
cb9f0b9e 205 <xs:element minOccurs="0" maxOccurs="1" ref="PackageType"/>\r
206 <!-- DO NOT USE PackageType needs to be removed -->\r
2fdd0c7d 207 <xs:element minOccurs="0" maxOccurs="1" name="BuildTarget" type="BuildTargets"/>\r
f29b8a33 208 <xs:element minOccurs="0" maxOccurs="unbounded" ref="Specification"/>\r
209 <!-- Specification needs to be required - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00090000 -->\r
878ddf1f 210 </xs:sequence>\r
211 </xs:complexType>\r
212 </xs:element>\r
213 <xs:element name="SpdHeader">\r
214 <xs:annotation>\r
c12c6c7d 215 <xs:documentation xml:lang="en">This head is for the Surface Area Package Description file (SPD)</xs:documentation>\r
216 <xs:documentation xml:lang="en">The Guid MUST change when the contents of the file undergo MAJOR FUNCTIONALITY changes.</xs:documentation>\r
217 <xs:documentation xml:lang="en">The Version MUST change when the contents of the file undergo MINOR FUNCTIONALITY changes.</xs:documentation>\r
878ddf1f 218 </xs:annotation>\r
219 <xs:complexType>\r
220 <xs:sequence>\r
c12c6c7d 221 <xs:element minOccurs="1" maxOccurs="1" name="PackageName" type="UiNameType"/>\r
f29b8a33 222 <xs:choice minOccurs="1" maxOccurs="1">\r
c12c6c7d 223 <!-- DO NOT USE! Guid needs to be removed -->\r
f29b8a33 224 <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
4688cb14 225 <!-- GuidValue needs to be required -->\r
c12c6c7d 226 <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
f29b8a33 227 </xs:choice>\r
c12c6c7d 228 <xs:element minOccurs="1" maxOccurs="1" name="Version" type="xs:decimal"/>\r
878ddf1f 229 <xs:element minOccurs="1" maxOccurs="1" ref="Abstract"/>\r
230 <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
231 <xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>\r
232 <xs:element minOccurs="1" maxOccurs="1" ref="License"/>\r
0fce57e7 233 <xs:choice minOccurs="1" maxOccurs="1">\r
f29b8a33 234 <!-- Created needs to be removed -->\r
c12c6c7d 235 <xs:element minOccurs="0" maxOccurs="1" ref="Created"/>\r
236 <!-- CreatedDate needs to be removed -->\r
f29b8a33 237 <xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>\r
0fce57e7 238 </xs:choice>\r
c12c6c7d 239 <!-- E_Mail needs to be removed -->\r
878ddf1f 240 <xs:element minOccurs="0" maxOccurs="1" ref="E-Mail"/>\r
4688cb14 241 <xs:choice minOccurs="0" maxOccurs="1">\r
c12c6c7d 242 <!-- Updated needs to be removed -->\r
4688cb14 243 <xs:element minOccurs="0" maxOccurs="1" ref="Updated"/>\r
c12c6c7d 244 <!-- UpdatedDate needs to be removed -->\r
4688cb14 245 <xs:element minOccurs="0" maxOccurs="1" ref="ModifiedDate"/>\r
4688cb14 246 </xs:choice>\r
c12c6c7d 247 <!-- URL needs to be removed -->\r
878ddf1f 248 <xs:element minOccurs="0" maxOccurs="1" ref="URL"/>\r
c12c6c7d 249 <!-- PackageType needs to be removed -->\r
878ddf1f 250 <xs:element minOccurs="1" maxOccurs="1" ref="PackageType"/>\r
c12c6c7d 251 <!-- ReadOnly and RePackage remain in final -->\r
878ddf1f 252 <xs:element minOccurs="0" maxOccurs="1" ref="ReadOnly"/>\r
253 <xs:element minOccurs="0" maxOccurs="1" ref="RePackage"/>\r
c12c6c7d 254 <!-- Specification needs to be required - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052 -->\r
878ddf1f 255 <xs:element minOccurs="0" maxOccurs="unbounded" ref="Specification"/>\r
f29b8a33 256 <!-- OutputDirectory needs to be removed -->\r
c12c6c7d 257 <xs:element minOccurs="0" maxOccurs="1" ref="OutputDirectory"/>\r
878ddf1f 258 </xs:sequence>\r
259 </xs:complexType>\r
260 </xs:element>\r
261</xs:schema>\r