Changed EncapsulationTag to ToolName
[mirror_edk2.git] / Tools / XMLSchema / FrameworkDataAttributes.xsd
CommitLineData
92e805e9 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
92e805e9 4 Filename: FrameworkDataAttributes.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 Attribute. Only attributeGroups are specified in this file. </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 <!-- Fix Name data type from xs:string -->\r
22 <xs:attributeGroup name="BlockAttributes">\r
23 <xs:attribute name="Name" type="BlockNameType" use="required"/>\r
24 <xs:attribute name="Size" type="HexAddressType" use="required"/>\r
25 <xs:attribute name="Flags" type="HexAddressType" use="optional"/>\r
26 </xs:attributeGroup>\r
27 <xs:attributeGroup name="BootModeAttributes">\r
28 <xs:attribute name="BootModeName" type="BootModeNames" use="required"/>\r
29 <xs:attribute name="Usage" type="BootModeUsage" use="required"/>\r
30 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
31 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
32 </xs:attributeGroup>\r
33 <xs:attributeGroup name="DataHubAttributes">\r
34 <xs:attribute name="Usage" type="DataHubUsage" use="required"/>\r
35 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
36 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
37 </xs:attributeGroup>\r
38 <xs:attributeGroup name="EventAttributes">\r
39 <xs:attribute name="Usage" type="EventUsage" use="required"/>\r
700c2b96 40 <xs:attribute name="EventGuidCName" type="C_NameType" use="optional"/>\r
92fb4401 41 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
42 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
43 </xs:attributeGroup>\r
44 <xs:attributeGroup name="ExternAttributes">\r
45 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
46 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
47 </xs:attributeGroup>\r
48 <xs:attributeGroup name="FfsAttributes">\r
49 <xs:attribute name="FfsFormatKeyword" type="KeywordType" use="required"/>\r
50 <xs:attribute name="FfsFileType" type="EfiFfsFileTypes" use="optional"/>\r
51 <xs:attribute name="FfsAttribTailPresent" type="xs:boolean" use="optional"/>\r
52 <xs:attribute name="FfsAttribRecovery" type="xs:boolean" use="optional" default="false"/>\r
53 <xs:attribute name="FfsAttribDataAlignment" type="FfsDataAlignmentType" use="optional"/>\r
54 <xs:attribute name="FfsAttribChecksumRequired" type="xs:boolean" use="optional" default="true"/>\r
55 <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>\r
56 </xs:attributeGroup>\r
57 <xs:attributeGroup name="FilenameAttributes">\r
58 <xs:attribute name="TagName" type="ToolsNameConvention" use="optional"/>\r
59 <xs:attribute name="ToolCode" type="ToolsNameConvention" use="optional"/>\r
60 <xs:attribute name="ToolChainFamily" type="ToolsNameConvention" use="optional"/>\r
61 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
62 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
63 </xs:attributeGroup>\r
64 <xs:attributeGroup name="FlashDeviceImageAttributes">\r
65 <xs:attribute name="Name" type="xs:string" use="required"/>\r
66 </xs:attributeGroup>\r
67 <xs:attributeGroup name="FlashDeviceImageFileAttributes">\r
68 <xs:attribute name="Name" type="xs:string" use="required"/>\r
69 <xs:attribute name="Region" type="xs:string" use="required"/>\r
70 <xs:attribute name="SubRegion" type="xs:string" use="optional"/>\r
71 <xs:attribute name="Optional" type="xs:boolean" use="optional"/>\r
72 </xs:attributeGroup>\r
73 <xs:attributeGroup name="FlashDeviceInfoAttributes">\r
74 <xs:attribute name="Name" type="xs:string" use="required"/>\r
75 <xs:attribute name="Size" type="HexAddressType" use="required"/>\r
76 <xs:attribute name="BaseAddress" type="HexAddressType" use="required"/>\r
77 <xs:attribute name="ErasePolarity" type="Polarity" use="required"/>\r
78 </xs:attributeGroup>\r
79 <xs:attributeGroup name="FvRegionNameAttributes">\r
80 <xs:attribute name="FvBaseAddressPcdCName" type="C_NameType" use="required"/>\r
81 <xs:attribute name="FvRegionSizePcdCName" type="C_NameType" use="required"/>\r
82 <xs:attribute name="FvRegionAlignmentPcdCName" type="C_NameType" use="optional"/>\r
83 <xs:attribute name="FvPcdTokenSpaceGuid" type="GuidType" use="optional"/>\r
84 <xs:attribute name="Alignment" type="xs:positiveInteger" use="optional"/>\r
85 </xs:attributeGroup>\r
86 <xs:attributeGroup name="GuidAttributes">\r
87 <xs:attribute name="Usage" type="GuidUsage" use="required"/>\r
88 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
89 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
90 </xs:attributeGroup>\r
91 <xs:attributeGroup name="GuidDeclarationAttributes">\r
92 <xs:attribute name="Name" type="UiNameType" use="required"/>\r
93 <xs:attribute name="GuidTypeList" type="GuidListType" use="optional"/>\r
94 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
95 <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>\r
96 </xs:attributeGroup>\r
97 <xs:attributeGroup name="HiiPackageAttributes">\r
98 <xs:attribute name="Usage" type="HiiPackageUsage" use="required"/>\r
99 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
100 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
101 </xs:attributeGroup>\r
102 <xs:attributeGroup name="HobAttributes">\r
103 <xs:attribute name="Usage" type="HobUsage" use="required"/>\r
104 <xs:attribute name="HobGuidCName" type="C_NameType" use="optional"/>\r
105 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
106 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
107 </xs:attributeGroup>\r
108 <xs:attributeGroup name="IncludeHeaderAttributes">\r
109 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
110 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
111 <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>\r
112 </xs:attributeGroup>\r
113 <xs:attributeGroup name="IndustryStdHeaderAttributes">\r
114 <xs:attribute name="Name" type="KeywordType" use="required"/>\r
115 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
116 <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>\r
117 </xs:attributeGroup>\r
118 <xs:attributeGroup name="LibraryAttributes">\r
119 <!-- LibraryAttributes is used for Libraries / Library elements in FPD files -->\r
120 <xs:attribute name="ModuleGuid" type="GuidType" use="required"/>\r
121 <xs:attribute name="ModuleVersion" type="VersionDataType" use="optional"/>\r
122 <xs:attribute name="PackageGuid" type="GuidType" use="required"/>\r
123 <xs:attribute name="PackageVersion" type="VersionDataType" use="optional"/>\r
124 </xs:attributeGroup>\r
125 <xs:attributeGroup name="LibraryClassAttributes">\r
126 <xs:attribute name="Usage" type="LibraryUsage" use="required"/>\r
127 <xs:attribute name="RecommendedInstanceVersion" type="VersionDataType" use="optional"/>\r
128 <xs:attribute name="RecommendedInstanceGuid" type="GuidType" use="optional"/>\r
129 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
130 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
131 <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>\r
132 </xs:attributeGroup>\r
133 <xs:attributeGroup name="LibraryClassDeclarationAttributes">\r
134 <xs:attribute name="Name" type="KeywordType" use="required"/>\r
135 <xs:attribute name="RecommendedInstanceVersion" type="VersionDataType" use="optional"/>\r
136 <xs:attribute name="RecommendedInstanceGuid" type="GuidType" use="optional"/>\r
137 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
138 <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>\r
139 </xs:attributeGroup>\r
140 <xs:attributeGroup name="MsaGuidAttributes">\r
141 <xs:attribute name="Usage" type="GuidUsage" use="optional"/>\r
142 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
143 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
144 </xs:attributeGroup>\r
145 <xs:attributeGroup name="ModuleNameAttributes">\r
146 <xs:attribute name="ModuleGuid" type="GuidType" use="required"/>\r
147 <xs:attribute name="ModuleName" type="UiNameType" use="optional"/>\r
148 <xs:attribute name="ModuleVersion" type="VersionDataType" use="optional"/>\r
149 </xs:attributeGroup>\r
150 <xs:attributeGroup name="MsaAttributes">\r
151 <xs:attribute name="PackageGuid" type="GuidType" use="required"/>\r
152 <xs:attribute name="ModuleGuid" type="GuidType" use="required"/>\r
153 <xs:attribute name="ModuleVersion" type="VersionDataType" use="optional"/>\r
154 <xs:attribute name="PackageVersion" type="VersionDataType" use="optional"/>\r
ccb4cab3 155 <xs:attribute name="ForceDebug" type="xs:boolean" default="false" use="optional"/>\r
156 <xs:attribute name="BindingOrder" type="xs:int" use="optional"/>\r
92fb4401 157 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
158 </xs:attributeGroup>\r
159 <xs:attributeGroup name="OptionAttributes">\r
160 <xs:attribute name="BuildTargets" type="BuildTargetList" use="optional"/>\r
161 <xs:attribute name="ToolChainFamily" type="ToolsNameConvention" use="optional"/>\r
162 <xs:attribute name="TagName" type="ToolsNameConvention" use="optional"/>\r
163 <xs:attribute name="ToolCode" type="ToolsNameConvention" use="optional"/>\r
164 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
165 </xs:attributeGroup>\r
166 <xs:attributeGroup name="PackageHeaderAttributes">\r
167 <xs:attribute name="ModuleType" type="ModuleTypeDef" use="required"/>\r
168 </xs:attributeGroup>\r
169 <xs:attributeGroup name="PackageAttributes">\r
170 <!-- Used with the MSA File, PackageDependencies.Package -->\r
171 <xs:attribute name="PackageGuid" type="GuidType" use="required"/>\r
172 <xs:attribute name="PackageVersion" type="VersionDataType" use="optional"/>\r
173 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
174 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
175 </xs:attributeGroup>\r
176 <xs:attributeGroup name="PackageNameAttributes">\r
177 <!--Used with the FrameworkDatabase PackageList.Packagename -->\r
178 <xs:attribute name="PackageGuid" type="GuidType" use="required"/>\r
179 <xs:attribute name="PackageVersion" type="VersionDataType" use="optional"/>\r
180 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
181 </xs:attributeGroup>\r
182 <xs:attributeGroup name="DynamicBuildPcdAttributes">\r
92e805e9 183 <xs:annotation>\r
92fb4401 184 <xs:documentation xml:lang="en">These attributes are for the Pcds listed in PcdData, PcdEntry and/or PcdBuildData entries.</xs:documentation>\r
92e805e9 185 </xs:annotation>\r
92fb4401 186 <xs:attribute name="ItemType" type="PcdItemTypes" use="required"/>\r
187 </xs:attributeGroup>\r
188 <xs:attributeGroup name="PcdBuildDefinitionAttributes">\r
189 <xs:attribute name="ItemType" type="PcdItemTypes" use="required"/>\r
190 </xs:attributeGroup>\r
191 <xs:attributeGroup name="PcdCodedAttributes">\r
f845d3d0 192 <!-- We need to modify ALL the MSA files that have PcdCoded sections to \r
193 set the PcdUsage. Once we modify all the MSA files and we modify the \r
194 wizard and the build tools, we need to make this required. -->\r
195 <xs:attribute name="Usage" type="PcdUsage" use="optional"/>\r
92fb4401 196 <xs:attribute name="PcdItemType" type="PcdItemTypes" use="required"/>\r
197 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
198 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
199 </xs:attributeGroup>\r
200 <xs:attributeGroup name="PcdDeclarationAttributes">\r
201 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
202 <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>\r
203 </xs:attributeGroup>\r
204 <xs:attributeGroup name="PlatformAttributes">\r
205 <xs:attribute name="PlatformGuid" type="GuidType" use="required"/>\r
206 <xs:attribute name="PlatformVersion" type="VersionDataType" use="required"/>\r
207 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
208 </xs:attributeGroup>\r
209 <xs:attributeGroup name="PpiDeclarationAttributes">\r
210 <xs:attribute name="Name" type="UiNameType" use="required"/>\r
3e51f1ce 211 <xs:attribute name="GuidTypeList" type="GuidListType" use="optional"/>\r
92fb4401 212 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
213 <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>\r
214 </xs:attributeGroup>\r
215 <xs:attributeGroup name="PpiAttributes">\r
216 <xs:attribute name="Usage" type="PpiUsage" use="required"/>\r
217 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
218 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
219 </xs:attributeGroup>\r
220 <xs:attributeGroup name="PpiNotifyAttributes">\r
221 <xs:attribute name="Usage" type="PpiNotifyUsage" use="required"/>\r
222 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
223 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
224 </xs:attributeGroup>\r
225 <xs:attributeGroup name="ProcessStepAttributes">\r
226 <xs:annotation>\r
227 <xs:documentation xml:lang="en">Attributes are either compressable and/or sequence order binding</xs:documentation>\r
228 </xs:annotation>\r
229 <xs:attribute name="BindingOrder" type="xs:int" use="optional"/>\r
230 <xs:attribute name="SectionType" type="EfiSectionType" use="optional"/>\r
231 </xs:attributeGroup>\r
232 <xs:attributeGroup name="ProtocolAttributes">\r
233 <xs:attribute name="Usage" type="ProtocolUsage" use="required"/>\r
234 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
235 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
236 </xs:attributeGroup>\r
237 <xs:attributeGroup name="ProtocolDeclarationAttributes">\r
238 <xs:attribute name="Name" type="UiNameType" use="required"/>\r
3e51f1ce 239 <xs:attribute name="GuidTypeList" type="GuidListType" use="optional"/>\r
92fb4401 240 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
241 <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>\r
242 </xs:attributeGroup>\r
243 <xs:attributeGroup name="ProtocolNotifyAttributes">\r
244 <xs:attribute name="Usage" type="ProtocolNotifyUsage" use="required"/>\r
245 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
246 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
247 </xs:attributeGroup>\r
248 <xs:attributeGroup name="RawDataAttributes">\r
249 <xs:attribute name="Name" type="xs:string" use="required"/>\r
250 <xs:attribute name="Region" type="xs:string" use="required"/>\r
251 <xs:attribute name="SubRegion" type="xs:string" use="required"/>\r
252 </xs:attributeGroup>\r
253 <xs:attributeGroup name="RegionAttributes">\r
254 <xs:attribute name="Name" type="xs:string" use="required"/>\r
255 <xs:attribute name="Size" type="HexAddressType" use="required"/>\r
256 <xs:attribute name="Flags" type="HexAddressType" use="optional"/>\r
257 <xs:attribute name="Attributes" type="xs:string" use="required"/>\r
258 <xs:attribute name="AreaType" type="EfiFvAreaType" use="required"/>\r
259 <xs:attribute name="Alignment" type="HexAddressType" use="optional"/>\r
260 </xs:attributeGroup>\r
261 <xs:attributeGroup name="SectionsAttributes">\r
262 <xs:annotation>\r
263 <xs:documentation xml:lang="en">Attributes for Sections, EncapsulationTag and EncapsulationType</xs:documentation>\r
264 </xs:annotation>\r
265 <xs:attribute name="BindingOrder" type="xs:nonNegativeInteger" use="optional"/>\r
266 <xs:attribute name="Compressible" type="xs:boolean" default="true" use="optional"/>\r
267 <xs:attribute name="SectionType" type="EfiSectionType" use="optional"/>\r
268 <xs:attribute name="EncapsulationType" type="xs:normalizedString" use="optional"/>\r
4a484c5f 269 <xs:attribute name="ToolName" type="xs:string" use="optional"/>\r
92fb4401 270 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
271 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
272 </xs:attributeGroup>\r
273 <xs:attributeGroup name="SubRegionAttributes">\r
274 <xs:attribute name="CreateHob" type="xs:boolean" use="required"/>\r
275 <xs:attribute name="Name" type="xs:string" use="required"/>\r
276 <xs:attribute name="Size" type="HexAddressType" use="required"/>\r
277 <xs:attribute name="Attributes" type="xs:string" use="required"/>\r
278 <xs:attribute name="AreaType" type="EfiFvAreaType" use="required"/>\r
279 <xs:attribute name="NameGuid" type="xs:string" use="required"/>\r
280 <xs:attribute name="AreaTypeGuid" type="xs:string" use="optional"/>\r
281 <xs:attribute name="FileSystemGuid" type="xs:string" use="optional"/>\r
282 </xs:attributeGroup>\r
283 <xs:attributeGroup name="SystemTableAttributes">\r
284 <xs:attribute name="Usage" type="SystemTableUsage" use="required"/>\r
285 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
286 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
287 </xs:attributeGroup>\r
288 <xs:attributeGroup name="UrlAttribute">\r
289 <xs:attribute name="Url" type="xs:anyURI"/>\r
290 </xs:attributeGroup>\r
291 <xs:attributeGroup name="VariableAttributes">\r
292 <xs:attribute name="Usage" type="VariableUsage" use="required"/>\r
293 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
294 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
295 </xs:attributeGroup>\r
92e805e9 296</xs:schema>\r