Sync the type of <VariableName> with the latest email send by Larry.
[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
4688cb14 111 <!-- BaseName needs to be removed -->\r
5c5b4899 112 <xs:element minOccurs="0" maxOccurs="1" ref="BaseName"/>\r
113 <!-- ModuleName needs to be required -->\r
114 <xs:element minOccurs="0" maxOccurs="1" name="ModuleName" type="UiNameType"/>\r
2fdd0c7d 115 </xs:choice>\r
878ddf1f 116 <xs:element minOccurs="1" maxOccurs="1" ref="ModuleType"/>\r
117 <xs:element minOccurs="1" maxOccurs="1" ref="ComponentType"/>\r
f29b8a33 118 <xs:choice>\r
f29b8a33 119 <!-- Guid needs to be removed -->\r
5c5b4899 120 <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
f29b8a33 121 <!-- GuidValue needs to be required -->\r
5c5b4899 122 <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
f29b8a33 123 </xs:choice>\r
5c5b4899 124 <!-- Version needs to be a decimal in final -->\r
878ddf1f 125 <xs:element minOccurs="1" maxOccurs="1" ref="Version"/>\r
126 <xs:element minOccurs="1" maxOccurs="1" ref="Abstract"/>\r
127 <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
128 <xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>\r
129 <xs:element minOccurs="1" maxOccurs="1" ref="License"/>\r
0fce57e7 130 <xs:choice minOccurs="1" maxOccurs="1">\r
f29b8a33 131 <!-- Created needs to be removed -->\r
5c5b4899 132 <xs:element minOccurs="0" maxOccurs="1" ref="Created"/>\r
133 <!-- CreatedDate needs to be removed -->\r
f29b8a33 134 <xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>\r
f29b8a33 135 </xs:choice>\r
136 <xs:choice>\r
f29b8a33 137 <!-- Updated needs to be removed -->\r
5c5b4899 138 <xs:element minOccurs="0" maxOccurs="1" ref="Updated"/>\r
139 <!-- ModifiedDate needs to be removed -->\r
f29b8a33 140 <xs:element minOccurs="0" maxOccurs="1" ref="ModifiedDate"/>\r
0fce57e7 141 </xs:choice>\r
348e1ac1 142 <xs:element minOccurs="0" maxOccurs="1" name="SupportedArchitectures">\r
143 <xs:simpleType>\r
144 <xs:list itemType="SupportedArchitectures"/>\r
145 </xs:simpleType>\r
146 </xs:element>\r
5c5b4899 147 <xs:element default="false" minOccurs="0" name="BinaryModule" type="xs:boolean"/>\r
148 <!-- Specification needs to be required - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052 -->\r
0fce57e7 149 <xs:element minOccurs="0" maxOccurs="1" ref="Specification"/>\r
878ddf1f 150 </xs:sequence>\r
151 </xs:complexType>\r
152 </xs:element>\r
153 <xs:element name="MsaLibHeader">\r
f29b8a33 154 <!-- MsaLibHeader needs to be removed -->\r
878ddf1f 155 <xs:annotation>\r
f29b8a33 156 <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 157 </xs:annotation>\r
158 <xs:complexType>\r
159 <xs:sequence>\r
160 <xs:element minOccurs="1" maxOccurs="1" ref="BaseName"/>\r
161 <xs:element minOccurs="1" maxOccurs="1" ref="ModuleType"/>\r
162 <xs:element minOccurs="1" maxOccurs="1" ref="ComponentType"/>\r
163 <xs:element minOccurs="1" maxOccurs="1" ref="Guid"/>\r
164 <xs:element minOccurs="1" maxOccurs="1" ref="Version"/>\r
165 <xs:element minOccurs="1" maxOccurs="1" ref="Abstract"/>\r
166 <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
167 <xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>\r
168 <xs:element minOccurs="1" maxOccurs="1" ref="License"/>\r
0fce57e7 169 <xs:choice minOccurs="1" maxOccurs="1">\r
f29b8a33 170 <xs:element minOccurs="0" maxOccurs="1" ref="Created"/>\r
171 <xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>\r
0fce57e7 172 </xs:choice>\r
878ddf1f 173 <xs:element minOccurs="0" maxOccurs="1" ref="Updated"/>\r
9e318f88 174 <xs:element minOccurs="0" maxOccurs="1" ref="Specification"/>\r
878ddf1f 175 </xs:sequence>\r
176 </xs:complexType>\r
177 </xs:element>\r
178 <xs:element name="PlatformHeader">\r
179 <xs:annotation>\r
180 <xs:documentation xml:lang="en">This head is for the Framework Platform Description file (FPD.)</xs:documentation>\r
181 </xs:annotation>\r
182 <xs:complexType>\r
183 <xs:sequence>\r
cb9f0b9e 184 <xs:element minOccurs="1" maxOccurs="1" name="PlatformName" type="PlatformNamingConvention"/>\r
bab93bdd 185 <xs:choice>\r
4688cb14 186 <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
187 <!-- DO NOT USE Guid needs to be removed -->\r
188 <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
189 <!-- GuidValue needs to be required -->\r
bab93bdd 190 </xs:choice>\r
2bf4e0a1 191 <!-- Version needs to be xs:decimal in final -->\r
878ddf1f 192 <xs:element minOccurs="0" maxOccurs="1" ref="Version"/>\r
193 <xs:element minOccurs="1" maxOccurs="1" ref="Abstract"/>\r
194 <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
195 <xs:element minOccurs="0" maxOccurs="1" ref="Copyright"/>\r
196 <xs:element minOccurs="0" maxOccurs="1" ref="License"/>\r
0fce57e7 197 <xs:choice minOccurs="1" maxOccurs="1">\r
4688cb14 198 <!-- DO NOT USE Created needs to be removed -->\r
2bf4e0a1 199 <xs:element minOccurs="0" maxOccurs="1" ref="Created"/>\r
200 <!-- DO NOT USE CreatedDate needs to be removed -->\r
4688cb14 201 <xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>\r
0fce57e7 202 </xs:choice>\r
cb9f0b9e 203 <!-- DO NOT USE CreatedBy needs to be removed -->\r
2bf4e0a1 204 <xs:element minOccurs="0" maxOccurs="1" ref="CreatedBy"/>\r
f29b8a33 205 <xs:choice>\r
4688cb14 206 <!-- DO NOT USE Updated needs to be removed -->\r
2bf4e0a1 207 <xs:element minOccurs="0" maxOccurs="1" ref="Updated"/>\r
208 <!-- DO NOT USE ModifiedDate needs to be removed -->\r
4688cb14 209 <xs:element minOccurs="0" maxOccurs="1" ref="ModifiedDate"/>\r
bab93bdd 210 </xs:choice>\r
cb9f0b9e 211 <!-- DO NOT USE PackageType needs to be removed -->\r
2bf4e0a1 212 <xs:element minOccurs="0" maxOccurs="1" ref="PackageType"/>\r
213 <!-- DO NOT USE BuildTarget needs to be removed -->\r
2fdd0c7d 214 <xs:element minOccurs="0" maxOccurs="1" name="BuildTarget" type="BuildTargets"/>\r
2bf4e0a1 215 <!-- Specification needs to be required - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052 -->\r
f29b8a33 216 <xs:element minOccurs="0" maxOccurs="unbounded" ref="Specification"/>\r
878ddf1f 217 </xs:sequence>\r
218 </xs:complexType>\r
219 </xs:element>\r
220 <xs:element name="SpdHeader">\r
221 <xs:annotation>\r
c12c6c7d 222 <xs:documentation xml:lang="en">This head is for the Surface Area Package Description file (SPD)</xs:documentation>\r
223 <xs:documentation xml:lang="en">The Guid MUST change when the contents of the file undergo MAJOR FUNCTIONALITY changes.</xs:documentation>\r
224 <xs:documentation xml:lang="en">The Version MUST change when the contents of the file undergo MINOR FUNCTIONALITY changes.</xs:documentation>\r
878ddf1f 225 </xs:annotation>\r
226 <xs:complexType>\r
227 <xs:sequence>\r
c12c6c7d 228 <xs:element minOccurs="1" maxOccurs="1" name="PackageName" type="UiNameType"/>\r
f29b8a33 229 <xs:choice minOccurs="1" maxOccurs="1">\r
c12c6c7d 230 <!-- DO NOT USE! Guid needs to be removed -->\r
f29b8a33 231 <xs:element minOccurs="0" maxOccurs="1" ref="Guid"/>\r
4688cb14 232 <!-- GuidValue needs to be required -->\r
c12c6c7d 233 <xs:element minOccurs="0" maxOccurs="1" ref="GuidValue"/>\r
f29b8a33 234 </xs:choice>\r
c12c6c7d 235 <xs:element minOccurs="1" maxOccurs="1" name="Version" type="xs:decimal"/>\r
878ddf1f 236 <xs:element minOccurs="1" maxOccurs="1" ref="Abstract"/>\r
237 <xs:element minOccurs="1" maxOccurs="1" ref="Description"/>\r
238 <xs:element minOccurs="1" maxOccurs="1" ref="Copyright"/>\r
239 <xs:element minOccurs="1" maxOccurs="1" ref="License"/>\r
0fce57e7 240 <xs:choice minOccurs="1" maxOccurs="1">\r
f29b8a33 241 <!-- Created needs to be removed -->\r
c12c6c7d 242 <xs:element minOccurs="0" maxOccurs="1" ref="Created"/>\r
243 <!-- CreatedDate needs to be removed -->\r
f29b8a33 244 <xs:element minOccurs="0" maxOccurs="1" ref="CreatedDate"/>\r
0fce57e7 245 </xs:choice>\r
c12c6c7d 246 <!-- E_Mail needs to be removed -->\r
878ddf1f 247 <xs:element minOccurs="0" maxOccurs="1" ref="E-Mail"/>\r
4688cb14 248 <xs:choice minOccurs="0" maxOccurs="1">\r
c12c6c7d 249 <!-- Updated needs to be removed -->\r
4688cb14 250 <xs:element minOccurs="0" maxOccurs="1" ref="Updated"/>\r
c12c6c7d 251 <!-- UpdatedDate needs to be removed -->\r
4688cb14 252 <xs:element minOccurs="0" maxOccurs="1" ref="ModifiedDate"/>\r
4688cb14 253 </xs:choice>\r
c12c6c7d 254 <!-- URL needs to be removed -->\r
878ddf1f 255 <xs:element minOccurs="0" maxOccurs="1" ref="URL"/>\r
c12c6c7d 256 <!-- PackageType needs to be removed -->\r
878ddf1f 257 <xs:element minOccurs="1" maxOccurs="1" ref="PackageType"/>\r
c12c6c7d 258 <!-- ReadOnly and RePackage remain in final -->\r
878ddf1f 259 <xs:element minOccurs="0" maxOccurs="1" ref="ReadOnly"/>\r
260 <xs:element minOccurs="0" maxOccurs="1" ref="RePackage"/>\r
c12c6c7d 261 <!-- Specification needs to be required - FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052 -->\r
878ddf1f 262 <xs:element minOccurs="0" maxOccurs="unbounded" ref="Specification"/>\r
f29b8a33 263 <!-- OutputDirectory needs to be removed -->\r
c12c6c7d 264 <xs:element minOccurs="0" maxOccurs="1" ref="OutputDirectory"/>\r
878ddf1f 265 </xs:sequence>\r
266 </xs:complexType>\r
267 </xs:element>\r
268</xs:schema>\r