]> git.proxmox.com Git - mirror_edk2.git/blame - BaseTools/Conf/XMLSchema/FrameworkDataAttributes.xsd
Updated the XML Schema for MSA files to handle DEPEX information from INF files in...
[mirror_edk2.git] / BaseTools / Conf / XMLSchema / FrameworkDataAttributes.xsd
CommitLineData
53ca26a2 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/2007/Edk2.1" targetNamespace="http://www.TianoCore.org/2007/Edk2.1">\r
3 <!--\r
4 Filename: FrameworkDataAttributes.xsd\r
5 \r
6 Copyright (c) 2007, 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: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 <!-- Fix Name data type from xs:string -->\r
21 <xs:attributeGroup name="BinaryFileAttributes">\r
22 <xs:attribute name="FileType" type="BinFileType" use="required"/>\r
23 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
24 <xs:attribute name="Target" type="ToolsNameConvention" use="optional"/>\r
25 <xs:attribute name="TagName" type="ToolsNameConvention" 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
40 <xs:attribute name="EventGuidCName" type="C_NameType" use="optional"/>\r
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="FilenameAttributes">\r
49 <xs:attribute name="TagName" type="ToolsNameConvention" use="optional"/>\r
50 <xs:attribute name="ToolCode" type="ToolsNameConvention" use="optional"/>\r
51 <xs:attribute name="ToolChainFamily" type="ToolsNameConvention" use="optional"/>\r
52 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
53 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
54 </xs:attributeGroup>\r
55 <xs:attributeGroup name="GuidAttributes">\r
56 <xs:attribute name="Usage" type="GuidUsage" use="required"/>\r
57 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
58 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
59 </xs:attributeGroup>\r
60 <xs:attributeGroup name="GuidDeclarationAttributes">\r
61 <xs:attribute name="Name" type="UiNameType" use="required"/>\r
62 <xs:attribute name="GuidTypeList" type="GuidListType" use="optional"/>\r
63 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
64 <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>\r
65 </xs:attributeGroup>\r
66 <xs:attributeGroup name="HiiPackageAttributes">\r
67 <xs:attribute name="Usage" type="HiiPackageUsage" use="required"/>\r
68 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
69 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
70 </xs:attributeGroup>\r
71 <xs:attributeGroup name="HobAttributes">\r
72 <xs:attribute name="Usage" type="HobUsage" use="required"/>\r
73 <xs:attribute name="HobGuidCName" type="C_NameType" use="optional"/>\r
74 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
75 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
76 </xs:attributeGroup>\r
77 <xs:attributeGroup name="IncludeHeaderAttributes">\r
78 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
79 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
80 <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>\r
81 </xs:attributeGroup>\r
82 <xs:attributeGroup name="IndustryStdHeaderAttributes">\r
83 <xs:attribute name="Name" type="KeywordType" use="required"/>\r
84 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
85 <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>\r
86 </xs:attributeGroup>\r
87 <xs:attributeGroup name="LibraryClassAttributes">\r
88 <xs:attribute name="Usage" type="LibraryUsage" use="required"/>\r
89 <xs:attribute name="RecommendedInstanceVersion" type="VersionDataType" use="optional"/>\r
90 <xs:attribute name="RecommendedInstanceGuid" type="GuidType" use="optional"/>\r
91 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
92 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
93 <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>\r
94 </xs:attributeGroup>\r
95 <xs:attributeGroup name="LibraryClassDeclarationAttributes">\r
96 <xs:attribute name="Name" type="KeywordType" use="required"/>\r
97 <xs:attribute name="RecommendedInstanceVersion" type="VersionDataType" use="optional"/>\r
98 <xs:attribute name="RecommendedInstanceGuid" type="GuidType" use="optional"/>\r
99 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
100 <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>\r
101 </xs:attributeGroup>\r
102 <xs:attributeGroup name="OptionAttributes">\r
103 <xs:attribute name="BuildTargets" type="BuildTargetList" use="optional"/>\r
104 <xs:attribute name="ToolChainFamily" type="ToolsNameConvention" use="optional"/>\r
105 <xs:attribute name="TagName" type="ToolsNameConvention" use="optional"/>\r
106 <xs:attribute name="ToolCode" type="ToolsNameConvention" use="optional"/>\r
107 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
108 </xs:attributeGroup>\r
109 <xs:attributeGroup name="PackageHeaderAttributes">\r
110 <xs:attribute name="ModuleType" type="ModuleTypeDef" use="required"/>\r
111 </xs:attributeGroup>\r
112 <xs:attributeGroup name="PackageAttributes">\r
113 <!-- Used with the MSA File, PackageDependencies.Package -->\r
114 <xs:attribute name="PackageGuid" type="GuidType" use="required"/>\r
115 <xs:attribute name="PackageVersion" type="VersionDataType" use="optional"/>\r
116 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
117 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
118 </xs:attributeGroup>\r
119 <xs:attributeGroup name="PackageNameAttributes">\r
120 <!--Used with the FrameworkDatabase PackageList.Packagename -->\r
121 <xs:attribute name="PackageGuid" type="GuidType" use="optional"/>\r
122 <xs:attribute name="PackageVersion" type="VersionDataType" use="optional"/>\r
123 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
124 </xs:attributeGroup>\r
125 <xs:attributeGroup name="PcdCodedAttributes">\r
126 <!-- We need to modify ALL the MSA files that have PcdCoded sections to \r
127 set the PcdUsage. Once we modify all the MSA files and we modify the \r
128 wizard and the build tools, we need to make this required. -->\r
129 <xs:attribute name="Usage" type="PcdUsage" use="optional"/>\r
130 <xs:attribute name="PcdItemType" type="PcdItemTypes" use="required"/>\r
131 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
132 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
133 </xs:attributeGroup>\r
134 <xs:attributeGroup name="PcdDeclarationAttributes">\r
135 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
136 <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>\r
137 </xs:attributeGroup>\r
138 <xs:attributeGroup name="PpiDeclarationAttributes">\r
139 <xs:attribute name="Name" type="UiNameType" use="required"/>\r
140 <xs:attribute name="GuidTypeList" type="GuidListType" use="optional"/>\r
141 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
142 <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>\r
143 </xs:attributeGroup>\r
144 <xs:attributeGroup name="PpiAttributes">\r
145 <xs:attribute name="Usage" type="PpiUsage" use="required"/>\r
146 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
147 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
148 </xs:attributeGroup>\r
149 <xs:attributeGroup name="PpiNotifyAttributes">\r
150 <xs:attribute name="Usage" type="PpiNotifyUsage" use="required"/>\r
151 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
152 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
153 </xs:attributeGroup>\r
154 <xs:attributeGroup name="ProtocolAttributes">\r
155 <xs:attribute name="Usage" type="ProtocolUsage" use="required"/>\r
156 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
157 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
158 </xs:attributeGroup>\r
159 <xs:attributeGroup name="ProtocolDeclarationAttributes">\r
160 <xs:attribute name="Name" type="UiNameType" use="required"/>\r
161 <xs:attribute name="GuidTypeList" type="GuidListType" use="optional"/>\r
162 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
163 <xs:attribute name="SupModuleList" type="ModuleListType" use="optional"/>\r
164 </xs:attributeGroup>\r
165 <xs:attributeGroup name="ProtocolNotifyAttributes">\r
166 <xs:attribute name="Usage" type="ProtocolNotifyUsage" use="required"/>\r
167 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
168 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
169 </xs:attributeGroup>\r
170 <xs:attributeGroup name="SystemTableAttributes">\r
171 <xs:attribute name="Usage" type="SystemTableUsage" use="required"/>\r
172 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
173 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
174 </xs:attributeGroup>\r
175 <xs:attributeGroup name="VariableAttributes">\r
176 <xs:attribute name="Usage" type="VariableUsage" use="required"/>\r
177 <xs:attribute name="SupArchList" type="ArchListType" use="optional"/>\r
178 <xs:attribute name="FeatureFlag" type="FeatureFlagExpressionType" use="optional"/>\r
179 </xs:attributeGroup>\r
180</xs:schema>\r