This schema defines EFI and Framework Data Elements Abstract is valid for all Description Files This section is required. This is a single sentence to describe the module and will be used in sample files as the abstract data in the header comment section. This is a sub-element of UserDefinedAntTasks Define a file that contains one or more ant tasks that are to be added into or replacing of sequences of build steps. These files will be called using the ant-call task on a file name. These files must be valid apache-ant formatted task files. BootModes is valid for all Description Files This is a list of BootModes Supported by the Module BuildOptions is valid for FPD files. This is a list of DataHubRecord elements. The default setting of a PCD entry. This section is required for new modules and libraries and must contain more information than the Abstract. Child of Framework Platform Description (FPD) FPD uses this PCD information for Dynamic PCDs Only This is a list of MSA Events Module has an event that is waiting to be signaled. Event is named by GUID. This is a child of MSA files. Driver Module Library Module Allow multiple entries for DriverBinding, ComponentName, DriverConfig and DriverDiag elements. For ComponentName, DriverConfig and/or DriverDiag - you must have a 1:1 mapping to DriverBinding if the element is defined. Permit User Defined Extern Tags Module Call Backs Describe the valid content of a filename This should extend PathAndFilename - Variable names not allowed here! This is a list of Filenames This is a child of PackageSurfaceArea (SPD) Describe the valid content of a GUID element in and MSA file. Describe the list of a HiiPackage elements Different (Module) Instances of Libraries used ONLY in FPD Files. Used in MSA files. This defines what class of library is being supported = produced (library module) or consumed by a module. This section defines what Classes of Library that this library supports. A Library may belong to multiple different library classes. Describe the valid EFI Phase that the Module is designed to execute under. MsaFiles is a child of Surface Area Package Description (SPD) files This tag is used in the Module Surface Area Description File (MSA) to track package dependencies for a module. Attributes to PackageName include Required: Usage PackageGuid PackageVesion, Optional: FeatureFlag PackageHeaders is a child of PackageSurfaceArea (SPD) This tag is used in the Framework Package Database File to track all packages (SPD files) installed in a workspace. (Database) Child of FPD ModuleSA element for FIXED_AT_BUILD, PATCHABLE_IN_MODULE, and FEATURE_FLAG PCDS Only! If HiiEnable group is specified, then HiiEnable is default true If VpdEnable group is specified, then VpdEnable is default true Child of Module Surface Area Description (MSA) PcdDeclaratins is a child of Package Surface Area Description (SPD) This tag is used in the Framework Package Database File to track all DISTRIBUTION packages (FAR files) installed in a workspace. (Database) PpiDeclarations is a child of PackageSurfaceArea (SPD) Provide for one or more Ppi or PpiNotify sections. ProtocolDeclarations is a child of PackageSurfaceArea (SPD) If either Protocol or ProtocolNotify sections are needed, one or more of them should be specified within this section Multiple Filenames may be specified, and they may also be scoped to a specific Architecture. This is list of System Table elements. This is a sub-element of BuildOptions Permit Users to define their own custom ANT tasks. An MSA FILE list of EFI Variables described by string pair. This is an EFI Variable Entry